2010年10月16日 星期六

關於 Interface 處於 err-disable 的障礙排除(轉載)

 某天別部門的同仁反應說網路不通,進入 Switch 查看狀態,發現它的連線狀態後面出了 err-disable 的字樣從來沒看過,上 Google 查詢發現有一篇文章剛好在說明解決方法,而且也剛好解決了我的問題,於是將它轉載進來收錄。

關於 interface 處於 err-disable 的障礙排除症狀:
線路不通,指示燈滅或者顯示為橙色(不同平臺指示燈狀態不同)

 
顯示 interface 狀態:sw1# show interface fa0/47
FastEthernet0/47 is down, line protocol is down (err-disabled)
interface 狀態是 err-disable。 


sw1# show interfaces status 
Port Name Status Vlan Duplex Speed Type
Fa0/47 err-disabled 1 auto auto 10/100BaseTX


如果出現了 interface 狀態為 err-disable,show interfaces status err-disabled 命令能查看觸發 err-disable 的原因。


下面範例原因為 bpduguard,在連接了 Switch 的 port 配置了spanning-tree bpduguard enable。
sw1# show interfaces status err-disabled[b]Port Name [b]Status Reason
Fa0/47 err-disabled [b]bpduguard[b]


interface 產生 err-disable 的原因可以由以下的命令來查看,系統預設的設定是所有列出的原因都能導致interface 被置為 err-disable。


sw1# show errdisable detect
ErrDisable Reason Detection status
----------------- ----------------
udld Enabled
bpduguard Enabled
security-violatio Enabled
channel-misconfig Enabled
psecure-violation Enabled
dhcp-rate-limit Enabled
unicast-flood Enabled
vmps Enabled
pagp-flap Enabled
dtp-flap Enabled
link-flap Enabled
l2ptguard Enabled
gbic-invalid Enabled
loopback Enabled
dhcp-rate-limit Enabled
unicast-flood Enabled


以看出常見的原因有 udld,bpduguard,link-flap 以及 loopback 等。
具體由什麼原因導致 interface err-disable 可以由 show interface status err-disable 來查看。
在interface模式下採用 shutdown,no shutdown 進行手動的啟動。


在預設設定下,一旦 interface 被判斷為 err-disable,IOS 將不會試圖恢復 interface。
這個可以由 show errdisable recovery 來查看,timer status 下面所有的值都是 disable。


下面的範例中,由於手動執行了 bpduguard 恢復,所以 timer status 的值變為 Enable。


sw1#show errdisable recovery
ErrDisable Reason Timer Status
----------------- --------------
udld Disabled
bpduguard Enabled
security-violatio Disabled
channel-misconfig Disabled
vmps Disabled
pagp-flap Disabled
dtp-flap Disabled
link-flap Disabled
l2ptguard Disabled
psecure-violation Disabled
gbic-invalid Disabled
dhcp-rate-limit Disabled
unicast-flood Disabled
loopback Disabled 


Timer interval: 300 seconds


Interfaces that will be enabled at the next timeout:


Interface Errdisable reason Time left(sec)
--------- ----------------- --------------
Fa0/47 bpduguard 217


執行 IOS 重新啟動 errdisable 的 interface,使用以下命令:
sw1(config)# errdisable recovery cause bpduguardsw1(config)# errdisable recovery cause ?all Enable timer to recover from all causes
bpduguard Enable timer to recover from BPDU Guard error disable state
channel-misconfig Enable timer to recover from channel misconfig disable state
dhcp-rate-limit Enable timer to recover from dhcp-rate-limit error disable state
dtp-flap Enable timer to recover from dtp-flap error disable state
gbic-invalid Enable timer to recover from invalid GBIC error disable state
l2ptguard Enable timer to recover from l2protocol-tunnel error disable state
link-flap Enable timer to recover from link-flap error disable state
loopback Enable timer to recover from loopback detected disable state
pagp-flap Enable timer to recover from pagp-flap error disable state
psecure-violation Enable timer to recover from psecure violation disable state
security-violation Enable timer to recover from 802.1x violation disable state
udld Enable timer to recover from udld error disable state
unicast-flood Enable timer to recover from unicast flood disable state
vmps Enable timer to recover from vmps shutdown error disable


執行完上述命令後,IOS 在一段時間後試圖恢復被判斷為 err-disable 的 interface,這段時間預設為300秒。


但是,如果引起 err-disable 的原因沒有排除,在恢復工作後,interface 會再次被判斷為 err-disable。


調整 err-disable 的超時時間,可以使用以下命令:
sw1(config)# errdisable recovery interval ?
<30-86400> timer-interval(sec)
可以調整在30-86400秒,預設是300秒。


如果產生 err-disable 的原因是 udld,下面有一條命令非常管用:
sw1# udld reset
No ports are disabled by UDLD.


同時,interface在被判斷為err-disable的時候,通常有一系列的日誌產生,如下:


*Mar 15 15:47:19.984: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port FastEthernet0/47 with BPDU Guard enabled. Disabling port.
sw1#
*Mar 15 15:47:19.984: %PM-4-ERR_DISABLE: bpduguard error detected on Fa0/47, putting Fa0/47 in err-disable state
sw1#
*Mar 15 15:47:21.996: %LINK-3-UPDOWN: Interface FastEthernet0/47, changed state to down


收集這些日誌也非常管用。


所以建議配置一個syslog server,收集log資訊


資料參考來源:http://chaomeng-yang.spaces.live.com/blog/cns!A86FDA962583346D!2445.entry?wa=wsignin1.0&sa=235364424
 

沒有留言:

張貼留言