Root Guard

Was ist Root Guard?

Root Guard ist ein Sicherheitsfeature des Spanning Tree Protocols (STP) auf verwalteten Ethernet-Switches. Es schützt die gewünschte Position der Root Bridge im Netzwerk, indem es verhindert, dass ein fremder Switch mit einer niedrigeren Bridge-ID die bestehende Root Bridge verdrängt und die Topologie neu ausrichtet. Root Guard wird auf Designated Ports konfiguriert und bewirkt, dass der Port bei Erhalt überlegener BPDUs (Bridge Protocol Data Units) in den Root-Inconsistent-Zustand versetzt und blockiert wird. Das Feature sichert damit die Stabilität und Vorhersagbarkeit der Layer-2-Infrastruktur.

Das Problem: Ungewollte Root-Bridge-Änderungen

In einem Spanning-Tree-Netz ist die Root Bridge das zentrale Element, von dem aus alle Pfadkosten berechnet und alle Port-Rollen abgeleitet werden. Eine stabile Platzierung der Root Bridge ist entscheidend für die Verkehrsflüsse und die Performance. Wird versehentlich oder böswillig ein weiterer Switch mit einer niedrigeren Bridge-ID in das Netz eingebracht, löst dies eine vollständige Neuberechnung des Spanning Tree aus. Die neue, ungewollte Root Bridge kann an einer suboptimalen Position im Netz stehen, wodurch Verkehr unnötige Umwege läuft, Bandbreite verschwendet wird und die Konvergenzzeit das Netz belastet. Root Guard unterbindet solche Übernahmen, indem es die Annahme überlegener BPDUs auf den dafür vorgesehenen Ports verweigert.

Funktionsweise von Root Guard

Root Guard wird auf einem Port aktiviert, der als Designated Port fungiert und von dem der Administrator sicher ist, dass sich in dessen Richtung keine weitere Root Bridge befinden sollte. Solange der Port reguläre BPDUs empfängt, die eine höhere oder gleichwertige Bridge-ID als die aktuelle Root Bridge ankündigen, bleibt der Port im normalen Forwarding-Zustand. Empfängt der Port jedoch eine BPDU mit einer niedrigeren Bridge-ID, die eine bessere Kandidatin für die Root Bridge darstellt, greift Root Guard ein. Der Port wird sofort in den Root-Inconsistent-Zustand versetzt, der logisch dem Blocking-Zustand entspricht. Der Port leitet keine Nutzdaten mehr weiter, bis die überlegenen BPDUs ausbleiben. Sobald der Switch für eine konfigurierbare Zeit keine überlegenen BPDUs mehr empfängt, kehrt der Port selbstständig in den normalen STP-Zustand zurück.

Abgrenzung zu anderen STP-Sicherheitsfeatures

Root Guard wird häufig mit anderen Schutzmechanismen verwechselt, dient jedoch einem spezifischen Zweck.

  • BPDU Guard: Deaktiviert einen Port sofort, sobald überhaupt eine BPDU empfangen wird. BPDU Guard wird auf Endgeräte-Ports (Portfast-Ports) eingesetzt, um den Anschluss unerwünschter Switches zu verhindern. Root Guard hingegen wird auf Verbindungen zwischen Switches konfiguriert und reagiert nur auf überlegene BPDUs, nicht auf BPDUs allgemein.
  • Loop Guard: Schützt vor dem Ausfall von BPDUs auf einer Punkt-zu-Punkt-Verbindung. Wenn auf einem Designated Port keine BPDUs mehr empfangen werden, verhindert Loop Guard, dass der Port fälschlich in den Forwarding-Zustand wechselt und eine Schleife verursacht. Root Guard reagiert dagegen auf zu viele oder überlegene BPDUs, nicht auf fehlende.
  • UDLD (UniDirectional Link Detection): Erkennt physikalisch einseitige Verbindungen, bei denen eine Faser eines Glasfaserpaares defekt ist. Root Guard arbeitet auf Protokollebene und schützt die Spanning-Tree-Topologie vor ungewollten Root-Änderungen.

Typische Platzierung von Root Guard

Root Guard wird auf allen Designated Ports konfiguriert, die zu Switches außerhalb der administrativen Kontrolle oder zu weniger vertrauenswürdigen Bereichen des Netzes führen. Dazu gehören Ports, die mit Access-Switches in entfernten Stockwerken oder Gebäuden verbunden sind, sowie Uplinks zu Switches, die nicht vom zentralen Netzwerkadministrator verwaltet werden. Auf den Ports, die unmittelbar die gewünschte Root Bridge umgeben und zu den Verteil- und Access-Switches führen, ist Root Guard ebenfalls sinnvoll. So wird sichergestellt, dass kein Switch aus tieferen Hierarchieebenen versehentlich zur Root Bridge wird.

Der Root-Inconsistent-Zustand wird dem Administrator über Syslog-Meldungen und SNMP-Traps mitgeteilt. Der blockierte Port erscheint in den Ausgabebefehlen des Switches mit dem Status "broken" oder "inconsistent". Dies ermöglicht eine schnelle Diagnose und die Entfernung des ungewollten Geräts.

Konfiguration und Verhalten

Root Guard wird auf Interface-Ebene aktiviert, typischerweise mit einem Befehl wie spanning-tree guard root auf Cisco-Switches oder vergleichbaren Kommandos auf anderen Plattformen. Die Konfiguration erfolgt auf dem Port, der vor überlegenen BPDUs geschützt werden soll. Root Guard ist unabhängig vom Spanning-Tree-Modus (STP, RSTP, MSTP) wirksam und kann sowohl auf Access- als auch auf Trunk-Ports eingesetzt werden. Es ist keine globale Aktivierung erforderlich; der Administrator wählt die kritischen Ports manuell aus.

Ein einmal in den Root-Inconsistent-Zustand versetzter Port verharrt dort, bis die fremden BPDUs ausbleiben. Der Switch überwacht kontinuierlich den BPDU-Eingang. Hört der Strom überlegener BPDUs auf, wird der Port nach einer gewissen Zeit automatisch wieder freigegeben und nimmt erneut am Spanning-Tree-Prozess teil. Diese automatische Erholung vermeidet manuelle Eingriffe, wenn die Ursache nur vorübergehend war.

Praktische Anwendungsszenarien

Root Guard ist ein zentrales Werkzeug in größeren Unternehmens- und Campusnetzen mit einer definierten Spanning-Tree-Hierarchie. Ein typisches Szenario ist ein Verteil-Switch, der mit mehreren Access-Switches in den Stockwerken verbunden ist. Die Root Bridge steht auf dem Core-Switch oder einem der Verteil-Switches. Root Guard auf den Uplinks der Access-Switches verhindert, dass ein falsch konfigurierter oder ungewollt eingeschleifter Switch die Root Bridge verdrängt. Auch in Multi-Vendor-Umgebungen, in denen unterschiedliche Spanning-Tree-Implementierungen aufeinandertreffen, bietet Root Guard einen zusätzlichen Schutz vor Protokollinkompatibilitäten, die zu unerwarteten Root-Wahlen führen könnten.

Grenzen und Best Practices

Root Guard schützt nur vor externen Geräten mit niedrigerer Bridge-ID auf dem geschützten Port. Es verhindert nicht, dass ein interner Switch durch administrative Fehlkonfiguration eine zu niedrige Priorität erhält und zur Root Bridge wird. Die Platzierung und die Prioritäten der gewünschten Root Bridge müssen vom Administrator korrekt gesetzt und dokumentiert sein. Root Guard sollte immer in Kombination mit anderen STP-Sicherheitsfeatures wie BPDU Guard und Loop Guard verwendet werden, um ein mehrschichtiges Schutzkonzept zu bilden. Die automatische Erholung des Ports sollte bewusst eingeplant sein, um temporäre Störungen nicht dauerhaft eskalieren zu lassen. In hochsicheren Umgebungen kann es sinnvoll sein, die automatische Erholung zu deaktivieren und manuelle Freigaben zu forcieren.

Zuletzt geändert: