Catalystスイッチでたまに発生するBPDUガードのエラー。
エラー発生中は通信ができない状態になるので早めの対応が必要です。
この記事は、
- BPDUガードが出たが何を確認すればいいか分からない
- BPDUガードの原因が分からない
- BPDUガードの解除方法が分からない
こんな方に向けてBPDUガードについて説明します。
BPDUガードの対処法
BPDUガードはポートをエラーディセーブルという状態にして強制的にダウンさせる動きをします。
ダウンしたポートは手動による無効化・有効化によってエラーディセーブルを解除でき、再度使えるようになります。
無効化・有効化の解除は、エラーディセーブルになっているポートのインターフェースコンフィグレーションモードでこの2行を実行します。
no shutdown
ですが、BPDUガードが発生したからといってすぐに手動による解除はオススメできません。
ループ防止機能なので、意図せずループとなる接続になってないか確認を行ってから解除するようにしてください。
BPDUガードとは
そもそもBPDUガードは何か、再確認します。
BPDUガードとはスイッチがBPDUフレームを受信した際にそれを検知する機能です。
事務所に設置するようなL2スイッチは主にパソコンを接続します。通常ネットワーク機器を接続しないポートについてはループの危険が無いのですぐにリンクアップするPortFastという設定を行います。
この設定がないとリンクアップまで10秒ほどかかってしまいます。
それくらいなら・・と思うかもしれませんが、Skypeで通話中にLANケーブルが抜けてしまった時に再接続して通話できるまでの10秒は長いです。
ですがPortFastの設定を行うと、誤ってネットワーク機器を接続した場合でもすぐにリンクアップしてしまうので、接続方法によってはループが発生してしまいます。
そこでBPDUガードを設定することにより、ネットワーク機器が接続されたポートをダウンさせてループを未然に防止します。
BPDUガードが発生した時のログ
まずはshow loggingでBPDUガードのログを確認します。
NOV 1 xx:xx:xx.xxx: %PM-4-ERR_DISABLE: bpduguard error detected on Gi1/0/1, putting Gi1/0/1 in err-disable state
1行目はGi1/0/1のポートでBPDUパケットを受信したというメッセージ
2行目はBPDUガードによりGi1/0/1のポートを無効化させたというメッセージ
この2つのメッセージが出ていればBPDUパケットを受信した事によって、その受信したポートが無効になった事がわかります。
ポートが無効になっているのでそのポートに接続されている機器とは通信ができない状態ですが、このエラーは新たに機器が接続されたときに発生するので元々できていた通信については影響が無いと考えていいでしょう。
自動で復旧する設定か確認する
BPDUガードによるエラーディセーブルは自動復旧させる設定もあります。
デフォルトで自動回復は無効になっているので念のため確認しましょう。
確認コマンド
自動復旧の設定値
この設定値がある場合は自動でエラーディセーブルが解除されます。
エラーの原因になっているBPDUフレームを受信し続けている限り、解除後すぐにエラーディセーブルを繰り返すことになります。
原因を排除する
BPDUガードの原因を排除せずエラーディセーブルを解除しても再度BPDUガードが発生するだけで解決になりません。
繰り返しになりますがBPDUガードの原因は、
スイッチの誤接続です。
まずはエラーが発生したスイッチのポートにLANケーブルを挿した人がいないかを確認します。
そして、LANケーブルを抜いてもらいましょう。
そこまで確認ができたら解除に進みます。
手動で解除する
手動で解除する前にインタフェースの状態を確認します。
ポートがGi1/0/1だった場合の確認コマンド
エラーディセーブルの状態
err-disabledが表示されていることを確認しましょう。
ポートがGi1/0/1だった場合の解除コマンドです。
エラーディセーブルになっているスイッチへログインして、enableで特権モードに移行してから実行してください。
interface gigabitethernet1/0/1
shutdown
no shutdown
quit
2行目のinterface gigabitethernet1/0/1でインターフェースモードに変更
黄色の線のあるgigabitethernet1/0/1はエラーディセーブルが発生しているポートに書き換えてください。
3行目のshutdownで無効化
5行目のquitで特権モードまで戻る
まとめ
BDPUガードはループを未然に防止してくれる安全装置です。
エラーになったらまず状態の確認を行ってから手動で解除を行いましょう。
解除自体に難しいコマンドはないので、一度対応すると次からは資料を見なくても対応できるかもしれません。