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 :

  • BPDU sur les ports end-devices ✓
  • NONE sur 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.