BPDUガード

PCやサーバが接続されていて、ループする心配がないポートに対してPortFastを有効にすると、すぐにフォワーディング状態に移行させることができます。しかし、PortFastが有効なポートに、他のスイッチが接続されるとループ構成となってしまう可能性があります。PortFastのポートの先がループ構成になると、スパニングツリーの計算を正常に行うことができずに、イーサネットフレームがループする危険性があります。このような事態を防ぐための機能がBPDUガードです。

BPDUガードが有効なポートでBPDUを受信すると、そのポートをerr-disable状態としてポートを無効化します。

図 BPDUガード
図 BPDUガード

なお、err-disable状態を解除するためには、いったんポートをshutdownしたのちにno shutdownで有効化する必要があります。


Portfastについては、以下の記事で解説しています。


BPDUガードの設定

BPDUガードを有効にするには、グローバルコンフィグレーションモードの設定とインタフェースコンフィグレーションモードの設定があります。グローバルコンフィグレーションモードでのBPDUガードの設定は、次のコマンドです。

BPDUガードの設定(一括)

(config)#spanning-tree portfast bpduguard default

このコマンドにより、PortFastが有効なポートに対して一括でBPDUガードを有効にすることができます。また、インタフェースコンフィグレーションモードの設定は、次のコマンドです。

BPDUガードの設定(インタフェース)

(config-if)#spanning-tree bpduguard enable

なお、インタフェースでのBPDUガードの設定は、そのポートがPortfastのポートでなくても有効です。

BPDUフィルタ

BPDUフィルタとは、BPDUの送信を止める機能です。PCやサーバ、IP Phoneが接続されるポートは代表ポートになり、定期的にBPDUが送信されます。しかし、PCなどにBPDUを送信しても意味がありません。BPDUフィルタによって、不要なBPDUの送信を止められます。

BPDUフィルタの設定

BPDUフィルタを有効にするには、グローバルコンフィグレーションモードの設定とインタフェースコンフィグレーションモードの設定があります。グローバルコンフィグレーションモードでのBPDUフィルタの設定は、次のコマンドです。

BPDUフィルタの設定(一括)

(config)#spanning-tree portfast bpdufilter default

このコマンドにより、PortFastが有効なポートに対して一括でBPDUフィルタを有効にします。また、インタフェースコンフィグレーションモードの設定は、次のコマンドです。

BPDUフィルタの設定(インタフェース)

(config-if)# spanning-tree bpdufilter enable

BPDUフィルタの場合も、インタフェースでの設定の場合はPortFastのポートでなくても問題ありません。

レイヤ2スイッチの仕組み