Introduction
Si vous avez plusieurs switches, vous avez forcément entendu parler du Spanning Tree Protocol. Mais entre la théorie et la mise en pratique, il y a souvent un fossé — surtout quand on tombe sur du matériel atypique avec des interfaces surprenantes.
Cet article retrace une mise en place réelle de MSTP sur trois switches HP 1910 (basés sur Comware H3C), avec les problèmes rencontrés et les solutions trouvées. Spoiler : le GUI ne sera pas votre ami.
Pourquoi STP ?
Le problème des boucles
Dans un réseau avec plusieurs switches interconnectés, il peut exister des boucles physiques — volontaires pour la redondance, ou accidentelles. Sans protection, une trame broadcast entre dans une boucle et tourne indéfiniment, se dupliquant à chaque passage. En quelques secondes, le réseau est saturé à 100% : c’est la tempête de broadcast, et elle rend l’infrastructure totalement inutilisable.
STP résout ce problème en détectant les boucles et en bloquant automatiquement les ports redondants, tout en les maintenant en veille pour un basculement rapide si un lien tombe.
Les variantes
| Protocole | Standard | Convergence | Usage recommandé |
|---|---|---|---|
| STP | 802.1D | 30-50 sec | À éviter, obsolète |
| RSTP | 802.1w | 1-2 sec | Petit réseau, simple |
| MSTP | 802.1s | 1-2 sec | Réseau avec VLANs multiples |
| PVST+ | Cisco | 1-2 sec | Spécifique Cisco |
Pour un homelab moderne avec une dizaine de VLANs, MSTP est le bon choix — il intègre RSTP nativement et permet de gérer plusieurs instances par groupe de VLANs.
Concepts clés
Root Bridge
Le Root Bridge est le switch “maître” autour duquel l’arbre de spanning tree se construit. Tous les autres switches calculent leur chemin optimal vers lui.
Ne laissez jamais STP choisir le Root Bridge automatiquement — il choisira le switch avec le MAC address le plus ancien, ce qui n’a aucun rapport avec votre topologie logique. Définissez-le manuellement via la Bridge Priority.
Bridge Priority
Valeur de 0 à 61440 (multiples de 4096). Plus elle est basse, plus le switch est prioritaire :
- 4096 → Root Bridge désigné
- 32768 → valeur par défaut (tous les autres switches)
Rôles des ports
- Root Port : port le plus proche du Root Bridge sur chaque switch non-root
- Designated Port : port actif sur chaque segment réseau
- Blocked Port : port mis en veille pour casser une boucle — il écoute mais ne forward pas
Region MSTP
MSTP introduit la notion de région : un groupe de switches qui partagent la même configuration (nom de région, révision, mapping VLANs ↔ instances). Les switches d’une même région se reconnaissent via un digest cryptographique calculé à partir de ces paramètres. Si un seul caractère diffère, ils ne se parlent pas correctement.
Edge Port et BPDU Guard
Sur les ports connectés à des end-devices (serveurs, NAS, workstations) :
- Edge Port : le port passe immédiatement en forwarding sans attendre la négociation STP
- BPDU Guard : si un BPDU (paquet STP) arrive sur ce port, il se bloque automatiquement — protection contre un switch sauvage branché par erreur
L’environnement de test
Trois switches HP 1910 (firmware Comware H3C) répartis sur trois locaux :
- SW-CORE : switch principal, Root Bridge désigné
- SW-A : relié à SW-CORE via un lien LACP 2 Gbits (2 ports agrégés)
- SW-B : relié à SW-CORE via un lien Gigabit direct
Topologie sans boucle physique active, mais STP est essentiel pour :
- Se protéger d’une boucle accidentelle
- Préparer une éventuelle redondance future
- Protéger les ports serveurs avec BPDU Guard
Mise en place — étape par étape
1. Configuration de la région MSTP
La région doit être identique sur tous les switches. Sur chaque switch, via le GUI : Network > MSTP > Region > Modify
Region Name : MON-HOMELAB
Revision Level : 1
Instance 1 : VLANs 1-4094
⚠️ Le GUI des HP 1910 peut être capricieux. Si vous obtenez une erreur “VLAN ID Error”, vérifiez que le champ VLAN ID de l’instance est bien renseigné avec
1-4094. Cliquez Activate (pas Apply) pour valider.
Vérification en CLI :
display stp region-configuration
Les trois switches doivent afficher le même digest — c’est la preuve que la région est cohérente.
2. Définir le Root Bridge
Sur SW-CORE uniquement, en CLI (le GUI de l’onglet Global a un bug qui décoche la case Instance après Apply) :
system-view
stp instance 1 priority 4096
stp instance 0 priority 4096
stp enable
save
Sur SW-A et SW-B, activez simplement STP sans changer la priority :
system-view
stp enable
save
3. Vérification de la topologie
display stp instance 0
Sur SW-CORE, vous devez voir :
CIST Root/ERPC : 4096.XXXX-XXXX-XXXX / 0
Sur SW-A et SW-B :
CIST Root/ERPC : 4096.XXXX-XXXX-XXXX / 20 ← MAC de SW-CORE
CIST RootPortId : 128.XXX ← port uplink vers SW-CORE
Problèmes rencontrés et solutions
Problème 1 : Les switches ne se reconnaissent pas comme Root
Symptôme : chaque switch affiche son propre MAC comme Root Bridge.
Cause : un port uplink était configuré en Edge Port, ignorant les BPDUs entrants.
Solution :
interface GigabitEthernet 1/0/X
undo stp edged-port
Problème 2 : Format BPDU Legacy au lieu de dot1s
Symptôme : MST BPDU Format : Active=legacy sur les ports inter-switches.
Cause : un switch était resté en mode RSTP au lieu de MSTP.
Solution :
system-view
stp mode mstp
save
Problème 3 : Le Fortigate perturbe STP
Symptôme : SW-CORE avait son port uplink vers le firewall en rôle ROOT — le firewall envoyait des BPDUs et se comportait comme Root Bridge.
Solution : baisser la priority de SW-CORE en dessous de celle annoncée par le firewall (priority 4096 sur les instances 0 et 1).
Problème 4 : Bug GUI — la case Instance se décoche
Symptôme : dans l’onglet Global, après avoir coché Instance, renseigné la priority et cliqué Apply, la case se décoche et la priority ne change pas.
Solution : passer en CLI via SSH. Le mode développeur (_cmdline-mode on) peut être nécessaire sur certains firmwares pour accéder à toutes les commandes.
Configuration des Edge Ports
Une fois la topologie STP stable, protégez vos ports serveurs.
Activation globale de BPDU Protection :
system-view
stp bpdu-protection
Configuration par port/agrégat (pour chaque lien vers un serveur ou NAS) :
interface Bridge-Aggregation X
stp edged-port enable
Ne configurez jamais Edge Port sur des ports inter-switches — cela empêcherait la propagation des BPDUs et casserait la topologie STP.
Vérification finale :
display stp brief
La colonne Protection doit afficher :
BPDUsur les ports end-devices ✓NONEsur les ports uplinks ✓
Points d’attention avec LACP
Si vous avez des liens agrégés (LACP) entre switches, bonne nouvelle : STP et LACP coexistent parfaitement. STP voit l’agrégat comme un seul port logique. Aucune configuration spéciale n’est nécessaire — assurez-vous juste que le BAGG (Bridge Aggregation Group) est bien configuré en mode Hybrid avec les VLANs tagués, comme les autres ports trunk du switch.
Sur les HP 1910 Comware, les ports membres d’un agrégat doivent avoir le même type de port que l’agrégat lui-même. Un mélange Hybrid/Trunk entre le BAGG et ses membres physiques empêchera le LACP de négocier correctement.
Résultat final
display stp brief (SW-CORE)
MSTID Port Role State Protection
0 Bridge-Aggregation1 DESI FORWARDING NONE ← uplink SW-A
0 Bridge-Aggregation2 DESI FORWARDING BPDU ← serveur
0 Bridge-Aggregation3 DESI FORWARDING BPDU ← serveur
0 GigabitEthernet1/0/1 DESI FORWARDING NONE ← uplink SW-B
0 GigabitEthernet1/0/2 DESI FORWARDING NONE ← uplink switch PoE
Tous les switches reconnaissent SW-CORE comme Root Bridge, les ports serveurs sont protégés par BPDU Guard, et les uplinks inter-switches sont laissés libres de négocier STP normalement.
Voila !
La mise en place de STP/MSTP sur des HP 1910 n’est pas complexe dans son principe, mais le matériel a ses particularités :
- Le GUI est parfois défaillant → préférez le CLI
- Les ports members d’un agrégat doivent matcher le type du BAGG
- La région MSTP doit être strictement identique sur tous les switches
- Vérifiez toujours le mode BPDU (legacy vs dot1s) sur les ports inter-switches
Une fois en place, vous avez un réseau protégé contre les boucles, des ports serveurs sécurisés, et une base solide pour ajouter de la redondance physique si besoin.