Cisco機器でポートがerrDisableになる原因と解消法

2023年2月9日

errDisableとは

Cisco機器では、ポートに何かしら問題がある場合、該当のポートを自動でシャットダウンする機能があります。この時の状態がerrDisableです。
errDisableになると、該当のポートでトラフィックの送受信が止まり、Catalystスイッチでは、ポートのランプがオレンジ色に点灯します。

ポートのerrDisableを確認するコマンド

Cisco機器において、ポートの状態は以下のコマンドで確認できます。

show interfaces status

errDisableになっている場合、Statusに「err-disabled」と表示されます。

Port Name Status Vlan Duplex Speed Type
Gi4/1   err-disabled 100 full 1000 1000BaseSX

errDisableになる原因

ポートがerrDisableになる主な原因は以下の通りです。

  • 接続するLANケーブルの不良
  • EtherChannelの設定ミス
  • speed/duplexのミスマッチ
  • BPDUガード違反
  • UDLD(単方向リンク検出)条件
  • リンクフラップの検出
  • セキュリティ(port security)違反
  • PAgPフラップ
  • L2TPガード
  • 不適切な GBIC/SFPモジュールまたはケーブル
  • アドレス解決プロトコル(ARP)の検査

errDisableの解消方法

以下では、設定の間違いによってポートがerrDisableとなっている場合の原因と解消方法を紹介します。

EtherChannelの設定ミス

対向の機器で設定していない場合や、モードの不一致によってerrDisableとなっている可能性があります。EtherChannelは対向の機器と同じ設定をする必要があります。
以下のコマンドで、EtherChannelに関連するインターフェースがUPしているか、設定しているモードが対向機器と一致しているか確認し、設定が誤っている場合は修正します。

show etherchannel summary

speed/duplexのミスマッチ

機器間でspeedとduplexが異なる場合、errDisableとなります。例えば、一方の機器のポートがfull-duplex、対向先のポートがhalf-duplexの場合は、二重化方式の不統一でポートはerrDisable状態となります。
以下のコマンドで、speed/duplexを確認し、対向機器と設定が一致していない場合は修正します。

show interfaces status

BPDUガード違反

PortFastが有効にされているポートでBPDUが検出されると、スイッチはポートをerrDisableにします。PortFastを設定するポートは直接端末を接続していることが前提です。
該当ポートで「spanning-tree portfast」が有効になっていないか、PortFastが有効になっているポートにPC以外のスイッチが接続されていないか確認します。

UDLD(単方向リンク検出)

UDLDは光ファイバを使用してポートを接続している場合、通信が一方向になっていないか検知するための機能です。単方向リンクを検出すると、ポートをerrDisable状態にします。
以下のコマンドでポートの状態を確認します。

show udld

双方向で問題なく通信できている場合、ステータスは「Bidirectional」と表示されます。単方向リンク障害が発生している場合は、「Bidirectional」と表示されます。単方向リンクとなっている場合は、ケーブル不良やケーブルの接続間違いを疑います。

errDisableステータスからの復旧方法

原因を特定して設定を変更後、以下の手順でポートの再起動を行います。

ポートの確認

以下のコマンドで該当のポートを確認します。

show interface status

「err-disable」となっているポートが該当のポートです。

設定モードに移行

以下のコマンドで特権ユーザーに昇格後、設定モードに移行します。

enable
configure terminal

該当ポートをシャットダウン

以下のコマンドで該当ポートをシャットダウンします。

interface GigabitEthernet1/0/1
shutdown

該当ポートを起動

以下のコマンドで該当ポートを起動します。

no shutdown

設定を終える

以下のコマンドで設定から抜けます。

exit

ポートの確認

以下のコマンドで該当のポートを確認します。

show interface status

該当ポートのステータスが「connected」になっていれば復旧完了です。

参考