BPDU GuardおよびRoot Guardは、CCNA(Cisco Certified Network Associate)のネットワーキングにおいて、スイッチングの安定性とセキュリティを確保するための重要な機能です。これらは、Spanning Tree Protocol(STP)を使用してネットワーク内のループを防止し、ネットワーク全体の健全性を保つために設計されています。この記事では、BPDU GuardとRoot Guardの基本的な概念、設定方法、そしてそれらがどのようにネットワークを保護するかについて詳しく説明します。
1. BPDU Guardとは?
BPDU(Bridge Protocol Data Units)Guardは、STPプロトコルで使用される管理フレームであるBPDUの処理に関する保護機能です。BPDUは、ネットワーク内でスイッチが自身の情報を交換し、ネットワークトポロジーを決定するために使用します。しかし、BPDUが予期しないポートから送信されると、STPに問題を引き起こし、ループや障害の原因になることがあります。BPDU Guardは、このような問題を防止するために、BPDUを受信することが許可されていないポートでBPDUを受信した場合、そのポートをシャットダウンする機能を提供します。

BPDU Guardの主な目的
- 不正なBPDUを受信したポートをシャットダウンすることで、予期しないSTPの計算を防ぐ。
- STPループの回避:BPDUを送信すべきでないポートがBPDUを送ることで、誤ったSTPトポロジーが構築され、ループが発生するのを防ぐ。
- ネットワークのセキュリティ強化:BPDUを意図的に送信し、不正にネットワーク内のトポロジーを変更しようとする攻撃を防ぐ。
BPDU Guardの設定方法
BPDU Guardを設定するには、以下の手順を実行します。
- BPDU Guardを有効にするインターフェースを選択します。
- インターフェースに
spanning-tree bpduguard enable
コマンドを入力して、BPDU Guardを有効にします。
例:
bashSwitch(config)# interface fa0/1
Switch(config-if)# spanning-tree bpduguard enable
これにより、指定されたインターフェースでBPDUを受信した場合、そのポートがシャットダウンされます。
2. Root Guardとは?
Root Guardは、STPにおいて「ルートブリッジ」がどこであるべきかを定義し、ネットワーク内で不正なルートブリッジが選ばれないように保護する機能です。STPのプロセスで、ルートブリッジは最も低いブリッジIDを持つスイッチとして選ばれますが、攻撃者や誤設定により、別のスイッチが意図的にルートブリッジになることを防ぐためにRoot Guardが使用されます。Root Guardは、ルートブリッジとしての役割を持たないポートからルートBPDU(ブリッジプロトコルデータユニット)を受け取った場合、そのポートを「Root Inconsistent」状態にして、BPDUの送信を停止させます。
Root Guardの主な目的
- 不正なルートブリッジの選出防止:指定されたポートでルートBPDUを受け取った場合、そのポートを無効にして不正なルートブリッジ選出を防ぐ。
- STP安定性の確保:ルートブリッジが予期しない方法で変更されるのを防ぐことで、ネットワーク全体のSTPの安定性を保つ。
Root Guardの設定方法
Root Guardを設定する手順は、BPDU Guardと似ています。以下のコマンドでインターフェースにRoot Guardを適用できます。
- インターフェースを選択します。
spanning-tree guard root
コマンドを入力して、Root Guardを有効にします。
例:
bashSwitch(config)# interface fa0/2
Switch(config-if)# spanning-tree guard root
この設定により、指定したインターフェースにおいてルートBPDUを受け取った場合、そのポートは「Root Inconsistent」状態になり、ルートブリッジの選出が防がれます。
3. BPDU GuardとRoot Guardの違い
BPDU GuardとRoot Guardは、どちらもSTPのセキュリティを強化するために使用されますが、それぞれの目的は異なります。
機能 | BPDU Guard | Root Guard |
---|---|---|
目的 | BPDUを受信したポートをシャットダウンし、STPループを防止する。 | 不正なルートブリッジ選出を防ぐため、ルートBPDUを受信したポートを無効化する。 |
適用場所 | 設定されたインターフェースにBPDUが届いた場合に適用される。 | 設定されたポートがルートBPDUを受け取った場合に適用される。 |
動作 | BPDUを受信するとポートをシャットダウンする。 | ルートBPDUを受信すると「Root Inconsistent」状態になる。 |
4. 実際の使用シナリオ
BPDU Guardの使用シナリオ
BPDU Guardは、アクセススイッチのポートなど、一般的にネットワーク内でBPDUを受信するべきでないポートに適用するのが一般的です。例えば、ユーザーのPCが接続されているポートでBPDUが送信されることは通常ありません。もしこれが発生した場合、ネットワーク全体にSTPの問題を引き起こす可能性があるため、そのポートをシャットダウンすることが重要です。
Root Guardの使用シナリオ
Root Guardは、ネットワークの中核となるスイッチや、ネットワークトポロジーの中で重要な役割を持つスイッチに適用されます。これにより、誤って不正なスイッチがルートブリッジとして選出されるのを防ぎ、STPの安定性を保つことができます。特に、重要な接続があるポート(例:コアスイッチ間の接続ポート)に適用するのが効果的です。
5. まとめ
BPDU GuardとRoot Guardは、STPを利用してネットワークの健全性を保つための強力なツールです。BPDU Guardは不正なBPDUを受信したポートをシャットダウンすることにより、ネットワーク内でのSTPループを防ぎます。一方、Root Guardは不正なルートブリッジの選出を防止することで、STPトポロジーの安定性を維持します。これらの機能を適切に設定することで、ネットワーク全体のセキュリティとパフォーマンスを大きく向上させることができます。