2012年7月25日 星期三

關於Cisco Switch上CDP-4-NATIVE_VLAN_MISMATCH問題...

類似:
00:02:29: %CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on GigabitEthernet0/1 (10), with Switch GigabitEthernet0/8 (1)
的訊息在新裝機的環境上常常遇到,而會出現這個問題的來源是開了CDP,CDP的封包內容中有包含一些資訊:VTP management domain name、full/half duplex、native vlan等,如果兩台switch之間是跑trunk mode就不會出現這個問題(不需要特別設定switchport mode access的情況下),但如果我們有好習慣,在界接裝端設備的switch port介面下switchport mode access,就會出現CDP-4-native_vlan-mismatch,但CDP的內容又會因為IOS版本不同所包含的欄位也會不同,以上的內容在IOS 12.0(3)版以後才有支援,這以後的CDP稱為CDP v2,所以在這之前的舊版本是不會出現的。所以要停止 CDP-4-native_vlan-mismatch這個訊息出現的方法有以下幾種:


1.在switch上下no cdp advertise-v2,強制兩台switch的CDP跑version 1

2.不要特別去下switchport mode access這個指令,讓介面自己跑trunk
   (show interface gi x/y capabilities可以看到Operational Mode:trunk)

3.如果一定要下switchport mode access,那只好再明確的指定與uplink port相同的vlan上,
   例如:uplink port是接到core switch上的vlan 10,所以每一個port也要access到vlan 10

2012年6月28日 星期四

Cisco N7K又有新的SUP了(SUP2 & SUP2E)...

Cisco近期內又發表了兩款N7K上新的SUP module==> SUP-2 和 SUP-2E

發表了這兩款之後,N7K上就可以有redundant SUP功能,但只能同一款互為redundant,不能SUP-2和SUP-2E混插。

兩片模組都採用四核心的2.13 GHz CPU,Memory至少DDR3 12G以上,至少需要NX-OS 6.1以上才有支援,其他的功能則大同小異。看數字上,效能該會提升,但目前官方文件上還看不出確切的數字規格,但大致上強調有加強Control-plane的效能,例如:支援更多VDCs。

一些細節的比較可參考下表:



其他細節可參考官方文件:
            http://www.cisco.com/en/US/prod/collateral/switches/ps9441/ps9402/ps9512/Data_Sheet_C78-437758.html

2012年6月18日 星期一

Cisco Switch自動安裝與設定


準備:
1. DHCP / TFTP Server (Cisco 6500 )
2. Switch config.
3. 架構圖如下.



一、TFTP 存放檔案
network-confg
C2960S1U-confg
C2960S2U-confg
C2960S3U-confg

例:network-confg 內容
ip host C2960S1U 172.16.2.205
ip host C2960S2U 172.16.2.206
ip host C2960S3U 172.16.2.207

二、DHCP Server (C6500) 設定:

ip dhcp pool C2960S1U
 host 172.16.2.205 mask 255.255.0.0
 hardware-address 02c7.f800.1234 ieee802
 default-router 172.16.2.254
 option 150 172.16.2.254
exit

tftp-server flash:network-confg
tftp-server flash:C2960S1U-confg
tftp-server flash:C2960S2U-confg
tftp-server flash:C2960S3U-confg

int vlan 1
no switchport
ip address 172.16.2.254 255.255.0.0
end

三、新C2960接上網路,開機後,即可自動完成設定

Cisco Dynamic ARP Inspection設定方式...

為了防治類似NetCut這種ARP欺騙攻擊或是Man-in-the-Middle攻擊,Cisco Switch在2960以後的Layer 2/3以上switch提供Dynamic ARP Inspection(簡稱DAI)功能,其原理就是將IP-MAC-Port的綁定先寫在Switch內,當switch port下接終端設備發出的網路資訊有違背這一個綁定表時,該port就會被shutdown,syslog也會吐出相關訊息。而這一個綁定表可以透過DHCP option 82的方式,由switch利用DHCP snooping探測DHCP相關資訊後的結果節錄這一張表,可透過tftp將這一張表存在tftp伺服器中,或是由網管人員透過設定的方式將這一張表建立起來,相關設定細節如下:

1.設定DHCP Snooping及DAI


ip dhcp snooping vlan 1-3
ip dhcp snooping database tftp://172.16.7.250/dai.list
ip dhcp snooping

ip arp inspection vlan 2-3
ip arp inspection validate src-mac dst-mac ip
ip arp inspection filter allow_arp vlan  2-3

2.設定Interface
例:g1/0/24  DHCP Server ,設定為 trust,表示不在這一個介面上做DAI
interface GigabitEthernet1/0/24
 ip arp inspection trust
 ip arp inspection limit rate 100
 ip dhcp snooping limit rate 100
 ip dhcp snooping trust

例:其它 port 串接不支援 DAI Switch  Client ,預設開啟DAI時所有的port都是untrust
interface GigabitEthernet1/0/1
 ip arp inspection limit rate 100
 ip dhcp snooping limit rate 100

3.手動建立綁定表
手動建立 ARP Inspection list
   ip source binding 9876.ed6f .0012 vlan 1 172.16.7.111 interface g1/0/10

4.建立白名單以排除類似印表機、Server等固定設備
arp access-list allow_arp
  permit ip host 172.16.7.11 mac host 0123.5678.de69
  permit ip host 172.16.7.132mac host 0345.5e6f.0911


5.設定一些意外狀況
   DAI可能會因為特殊情況造成port err-disabled,所以設定將這個情況排除:
   errdisable recovery cause arp-inspection
   errdisable recovery interval 45

6.察看結果之相關指令
   查看指令:
   show ip dhcp snooping binding
   sh ip arp inspection interfaces
   sh ip arp inspection statistics
   sh ip arp inspection vlan 1 -3

7.測試結果
    例:netcut 試著去欺騙192.168.1.120  192.168.1.130,因為 Cisco DAI,所以失敗 !!!
    00:58:48: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Gi1/0/21, vlan 1.

                  ([7617.2d 2a .3969/192.168.1.120/0000.0000.0000/192.168.1.130/00:58:47 UTC Mon Mar 1 1993])
    00:58:48: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Gi1/0/21, vlan 1.
                  ([7617.2d 2a .3969/192.168.1.130/0000.0000.0000/192.168.1.120/00:58:47 UTC Mon Mar 1 1993])
    00:58:50: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Req) on Gi1/0/21, vlan 1.

   client 啟動 netcut 的同時,client switch port 即被 err-disable

    SW2(config-if)#

    01:14:54: %SW_DAI-4-PACKET_RATE_EXCEEDED: 16 packets received in 8 milliseconds on Gi1/0/18.
    01:14:54: %PM-4-ERR_DISABLE: arp-inspection error detected on Gi1/0/18, putting Gi1/0/18 in err-disable state
    01:14:55: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/18, changed state to down
    01:14:56: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/18, changed state to down





2012年6月17日 星期日

關於Cisco IOS上DHCP server的設定...

很多人都知道Cisco IOS上可以設定DHCP Server,但可能不知道,給不同的host有不同的設定方式:

1.給一般終端設備
   ip dhcp excluded-address 10.10.10.0 10.10.10.50
   !
    ip dhcp pool Vlan1
      network 10.10.10 .0 255.255.255.0
      default-router 10.10.10.1
      dns-server 10.10.1.102 10.10.10.102
      netbios-name-server 10.10.1.103 10.10.10.103
      netbios-node-type h-node

 2.給特定一台終端設備
   ip dhcp pool Hammer
       host 10.10.10.100 mask 255.255.255.0
       hardware-address 02c7.f800.1234 ieee802
       client-name Hammer
       default-router 10.10.10.100 10.10.10.101
       domain-name lab.com
       dns-server 10.10.1.102 10.10.10.102
       netbios-name-server 10.10.1.103 10.10.10.103
       netbios-node-type h-node

3.給Cisco交換器
   ip dhcp pool Switch1
       host 10.10.10.200 mask 255.255.255.0
       hardware-address 06c8.f800.5678 ieee802
       client-name Switch1
       default-router 10.10.10.100 10.10.10.101

Cisco Remote command switch...

Cisco指令通常都會直接照著原廠的指令下,但遇到在troubleshoot問題時有些進階指令可以幫助我們,例如,可能會遇到開不了機的情況,導致畫面停留在rommon mode下,但是,show version的結果可能會是正常的:


C6513A #show verion      
Configuration register is 0x2102


以上結果只是Layer 3(Route Processor)的結果,如果我們下指令remote command switch show version

C6513A #remote command switch show verion      
Configuration register is 0x2142

我們就可以看到Layer 2 (Switch Processor)的結果,發現根本就是不對的




2012年6月11日 星期一

使用IP SLA完成police route


在幫客戶規劃multi-WAN Link備援架構時常常會看到如下圖所示的架構
   
   
   
     我們可能會規劃兩條WAN Link,一條是10Mbps的WAN link,另一條是2Mbps的WAN link 10Mbps的WAN link是主要線路,平常的網路流量在這一條WAN link上流通,而2Mbps的WAN link的作用是當10Mbps WAN link斷線時取代成為備用的線路(畢竟這一條線路頻寬較小,你不會希望平常重要的服務剛好走到這一條備用線路)
   
     所以身為網路工程師的我們最常使用的設定,就是在Router/L3 switch裡面設定兩條default route,一條走主要的WAN link,另一條就是使用更高的metric。
   
     但如果網路上的實際狀況是主要WAN link並沒有斷線,而是遇到不知原因的high latency而造成連線常常中斷(身為網路工程師後續還是需要協助幫忙找出原因),這時候如何將流量暫時切換到備用線路(當然是做到自動切換)讓客戶的WAN service維持一定的品質呢?
   
     當然,使用Dynamic routing protocal可能是一種作法,但我們的狀況是連線品質出問題,在這種狀況下我們必須將Dynamic Routing protocol packet視為我們的一般的traffic,他也可能因為連線品質而造成路由表內容不穩定。

     這時候我們可以使用Cisco Router/L3 switch上的IP SLA功能來完成。
Cisco IP SLA在這個場景中的作法跟我們在很多WAN loadbalance使用的原理很像:
首先,先監控遠端的某個具有IP的裝置,接著設定一個track來套用該監控機制套用到某
一條WAN Link上來確認這一條線路的服務品質。
   
     例如:我設定一個透過主要WAN link的監控,監控的對象是遠端的一台主機168.95.1.1,
                當該監控對象的監控結果無法達到我們預先設定的條件時,備援路由才被啟用。
   
     在Cisco Router/L3 switch上的設定方式如下:

STEP 1:  
     ip sla 5
   icmp-echo 168.95.1.1 source-interface GigabitEthernet0/0
   timeout 1000
   frequency 2
   ip sla schedule 5 life forever start-time now
   
     上述設定範例是建立一個session ID為5的監控條件,監控的方式是從GigabitEthernet0/0每
     兩秒鐘去ping 168.95.1.1,當168.95.1.1的回應時間超過1000ms時就宣告168.95.1.1為down
     的狀態

 STEP 2:
     接著,設定一個track來套用該監控條件:
   
     track 1 ip sla 5 reachability
   
 STEP 3:  
     再來,在一般的設定觀念中,我們會直接將該track套用於備援的default route中:
   
     ip route 0.0.0.0 0.0.0.0 10.10.10.1 track 1
   
 STEP 4:  
     這樣看起來似乎已經完成了,但其實不然,以上的結果如同我們加了兩筆同metric的
     default route,但這不是我麼想要的。
     我們需要的是當IP SLA 5不成立時,備援路由才建立起來,因此我們還需要以下設定:
   
     track 2 list boolean and
   object 1 not
   
  STEP 5:
     然後將正確的備援default route設定如下:
   
     ip route 0.0.0.0 0.0.0.0 10.10.10.1 track 2

     這樣就可以達到在WAN Link連線品質不好的情況之下就自動切換其他備援線路。