天天看點

導緻交換機接口出現err-disable的原因及解決

如果出現了接口狀态為err-disable,show interfaces status err-disabled指令能檢視觸發err-disable的原因。

導緻交換機接口出現err-disable的幾個常見原因:  

    1. EtherChannel misconfiguration

    2. Duplex mismatch

    style="TEXT-INDENT: 2em">3. BPDU port guard

    4. UDLD

    5. Link-flap error

    6. Loopback error

    7. Port security violation

    第一個當F EC兩端配置不比對的時候就會出現err-disable.假設Switch A把FEC模式配置為on,這時Switch A是不會發送PAgP包和相連的Switch B去協商FEC的,它假設Switch B已經配置好FEC了。但實事上Swtich B并沒有配置FEC,當Switch B的這個狀态超過1分鐘後,Switch A的STP就認為有環路出現,是以也就出現了err-disable.解決辦法就是把FEC的模式配置為channel-group 1 mode desirable non-silent這個意思是隻有當雙方的FEC協商成功後才建立channel,否則接口還處于正常狀态。

    第二個原因就是雙工不比對。一端配置為half-duplex後,他會檢測對端是否在傳輸資料,隻有對端停止傳輸資料,他才會發送類似于ack的包來讓鍊路up,但對端卻配置成了full-duplex,他才不管鍊路是否是空閑的,他隻會不停的發送讓鍊路up的請求,這樣下去,鍊路狀态就變成err-disable了。

    第三個原因BPDU,也就是和portfast和BPDU guard有關。如果一個接口配置了portfast,那也就是說這個接口應該和一個pc連接配接,pc是不會發送spanning-tree的BPDU幀的,是以這個口也接收BPDU來生成spanning-tree,管理者也是出于好心在同一接口上配置了BPDU guard來防止未知的BPDU幀以增強安全性,但他恰恰不小心把一個交換機接到這個同時配置了portfast和BPDU guard接口上,于是這個接口接到了BPDU幀,因為配置了BPDU guard,這個接口自然要進入到err-disable狀态。解決辦法:no spanning-tree portfast bpduguard default,或者直接把portfast關了。

    第四個原因是UDLD.UDLD是cisco的私有2層協定,用于檢測鍊路的單向問題。有的時候實體層是up的,但鍊路層就是down,這時候就需要UDLD去檢測鍊路是否是真的up的。當AB兩端都配置好UDLD後,A給B發送一個包含自己port id的UDLD幀,B收到後會傳回一個UDLD幀,并在其中包含了收到的A的port id,當A接收到這個幀并發現自己的port id也在其中後,認為這鍊路是好的。反之就變成err-disable狀态了。假設A配置了UDLD,而B沒有配置UDLD:A給B發送一個包含自己port id的幀,B收到後并不知道這個幀是什麼,也就不會傳回一個包含A的port id的UDLD幀,那麼這時候A就認為這條鍊路是一個單向鍊路,自然也就變成err-disable狀态了。

    第五個原因就是鍊路的抖動,當鍊路在10秒内反複up、down五次,那麼就進入err-disable狀态。

    第六個原因就是keepalive loopback.在12.1EA之前,預設情況下交換機會在所有接口都發送keepalive資訊,由于一些不通交換機協商spanning-tree可能會有問題,一個接口又收到了自己發出的keepalive,那麼這個接口就會變成err-disable了。解決辦法就是把keepalive關了。或者把ios升到12.2SE.

    最後一個原因,相對簡單,就是由于配置了port-security violation shutdown

繼續閱讀