Le Spanning-Tree BPDU Guard
Sur un port PortFast, le BPDU Guard ignore et neutralise toute trame BPDU reçue : il protège la topologie Spanning-Tree contre l’introduction d’un switch pirate.
Présentation du Spanning-Tree BPDU Guard
BPDU = Bridge Protocol Data Unit
Les trames BPDU sont des trames générées par le protocole Spanning-Tree.

Elles permettent de :
- S’annoncer aux autres Switchs.
- Recevoir des informations Spanning-Tree de ses voisins.
Dans l’article précédent, nous avons vu l’utilité du PortFast. Le BPDU Guard permet d’ignorer toutes les trames BPDU reçues sur un port utilisant le PortFast.
Pourquoi activer le BPDU Guard
Mise en situation
Prenons cette architecture en exemple :

- Le PVST+ est activé par défaut.
- Tous nos équipements ont la valeur de Bridge-ID par défaut.
- Le Switch B a l’adresse MAC la plus basse, il devient donc le ROOT-BRIDGE.
PVST en conclut la topologie suivante :

Dans la peau d’un pirate
Action
- J’ai un ordinateur avec deux cartes réseau.
- Je me connecte sur le Switch B et C.
- Je génère des trames BPDU sur mes deux interfaces avec un Bridge ID inférieur au root-bridge actuel.
Conséquences
- Je deviens le Root Bridge de la topologie Spanning Tree !!
- La topologie est recalculée par PVST :

Notre topologie a changé.
Tous les flux transitent par le « Pirate » !
Deux solutions s’offrent à lui :
- Se comporter comme un Switch (pour récupérer des informations).
- Faire du déni de service.
Si le BPDU Guard est activé sur une interface et que celle-ci reçoit une trame BPDU, le port va se mettre en ERR-DISABLE. Ceci permet à l’administrateur réseau de traiter la source du problème tout en gardant la topologie spanning-tree opérationnelle.

Configuration du BPDU Guard
Exemple :
- Nous avons un Switch 24 ports FastEthernet + 2 ports GigaBitEthernet.
- Les ports FastEthernet vont nous servir de ports d’accès client.
- Les ports GigaBitEthernet vont être nos ports Trunk.
- Nous voulons activer le portfast sur tous nos ports d’accès client.
Pour ce faire, deux solutions :
Activer le BPDU Guard port par port
Switch(config)# interface range Fa 0/1 - 24
Switch(config-if)# spanning-tree bpduguard enableActiver le BPDU Guard pour tous les ports
Switch(config)# spanning-tree portfast default
Switch(config)# spanning-tree portfast bpduguard default
Switch(config)# interface range Gi 1/1 - 2
Switch(config-if)# spanning-tree portfast disableLa commande spanning-tree portfast default permet d’activer le PortFast sur tous les ports du switch. La commande spanning-tree portfast bpduguard default permet d’activer le BPDU Guard sur tous les ports utilisant le PortFast. La commande spanning-tree portfast disable permet de désactiver le PortFast précédemment activé ; par conséquent, le BPDU Guard sera aussi désactivé.
