Mischen von Cisco STP-Funktionen: BPDU Guard, BPDU Filter, PortFast und PortFast Trunk

7

Ich habe zwei Switches (Cisco 2960) mit einem Trunk dazwischen (zwei Ports in einem Ether-Kanal) und jeder hat einen Trunk bis zu einem separaten Router. Alle anderen Switch-Ports sind Access-Ports für Endgeräte.

R1       R2
|        |
|        |
|        |
SW1 === SW2

Ich möchte verschiedene STP-Optionen implementieren, schnell an allen Ports portieren, BPDU-Filter und BPDU-Schutz. Ich habe verschiedene Cisco-Dokumente und andere seriöse Website-Feeds gelesen, nur einige davon.

Ich möchte alle Zugriffsports wie folgt konfigurieren. Ich kenne und verwende diese Funktionen bereits und daher gibt es hier keine Probleme:

int gi0/10
 description End Device Port
 switchport mode access
 switchport access vlan 10
 spanning-tree portfast
 spanning-tree bpdufilter enable
 spanning-tree bpduguard enable

Ich möchte Trunk-Ports zwischen Switches und bis zu Routern wie folgt konfigurieren. Ich verwende diese Konfiguration bereits wieder und sehe hier keine Probleme.

int gi0/1
 description Trunk to R1
 switchport mode trunk
 spanning-tree portfast trunk

Was ich nicht gut dokumentieren kann, ist das Mischen von BPDU-Filter und BPDU-Schutz als globale Standardeinstellungen mit für konfigurierten Ports portfast trunk. Um meinen selbstkonfigurierenden Port schnell an jedem Zugriffsport mit BPDU-Schutz und BPDU-Filter zu speichern, kann ich einfach diese drei globalen Konfigurationsbefehle eingeben.

spanning-tree portfast default
spanning-tree portfast bpdufilter default
spanning-tree portfast bpduguard default

BPDU-Filter und BPDU-Schutz werden jetzt auf allen Portfast-Ports aktiv. Was ist jedoch mit Portfast-Ports, die als portfast trunksolche zwischen den Switches konfiguriert sind? Ich möchte, dass BPDUs zwischen Switches gesendet werden. Ich kann keine Dokumentation finden, die besagt, ob die globale Aktivierung von BPDU Guard / Filter auch für portfast trunkPorts konfiguriert wird oder nicht. Dies kann dazu führen , dass STP nicht mehr zwischen Switches ausgeführt wird und diese Trunk-Ports möglicherweise dazu führen errdisable.

Was passiert, wenn diese Situation konfiguriert ist und offizielle Online-Dokumente von Cisco zu klären sind?

jwbensley
quelle
3
Nur neugierig, warum BPDU-Filter und BPDU-Schutz? Ich habe gesehen, wie beide Funktionen gleichzeitig genutzt wurden. Alles was es braucht ist ein Benutzer, der zwei Ports überbrückt und dieser Switch macht einen Tauchgang. BPDU Guard kann den Port nicht herunterfahren, wenn Sie alle BPDUs mit BPDU-Filter stoppen.
Brett Lykins
1
Hier gibt es keine L2-Schleife, es macht keinen Sinn, STP auszuführen. Wie Sie sagen, sollten Sie nur portfast als Standard festlegen (macht alle Zugriffsports standardmäßig portschnell). Wie Brett sagt, glaube ich nicht, dass BPDUguard irgendetwas in Ihrer Konfiguration tut. Wenn BPDUfilter im Port konfiguriert ist, filtert der Port bereits eingehende BPDU, dann kann BPDUguard niemals auslösen. Der globale BPDU-Filter ist anders. Wenn er eine BPDU empfangen hat, werden diese ebenfalls gesendet und migriert. Er ist jedoch leise, solange er keine BPDU empfängt. Sie sollten auch pps von bcast, mcsat und unbekanntem Unicast steuern, wenn dies von HW unterstützt wird.
Ytti
Wenn BPDUfilter auf einer Schnittstelle konfiguriert ist, wird der Spanning-Tree effektiv deaktiviert, was manchmal eine gute Sache ist!
John Kennedy
Ich glaube nicht, dass ich klar genug war, also werde ich erweitern - ich wollte BPDU Guard konfigurieren, denn wenn ein Switch an einen Zugangsport angeschlossen ist, möchte ich, dass SW1 und SW2 alle eingehenden BPDUs ignorieren. Ich möchte auch BPDU Filter aktiviert, damit die Switches keine BPDUs an den Access-Ports senden. Ich sehe jetzt, dass der BPDU-Filter allerdings genug gewesen wäre. Ich dachte, der BPDU-Filter filtert nur eingehende BPDUs, sendet sie aber trotzdem. Ich sehe jetzt, dass BPDU Guard das ist, was ich brauche, damit der Switch beim Empfang einer BPDU darauf reagiert, wie es an einem Zugangsport niemals passieren sollte.
Jwbensley
@ytti - Mach dir keine Sorgen ytti, das wurde nicht vergessen, nur versuchen, diese Frage einfacher zu halten :)
jwbensley

Antworten:

14

Erstens haben Sie, wie die anderen bereits erwähnt haben, hier keine Überbrückungsschleife, da ein Portchannel ausgeführt wird. Trotzdem ist es immer noch in Ordnung, STP auszuführen. Lassen Sie mich einige Verwirrungen darüber beseitigen, wie diese Befehle auf Cisco-Switches funktionieren.

spanning-tree portfast trunk

Dieser Befehl soll an Trunk-Ports für nicht überbrückende Geräte ausgeführt werden, z. B. einen Server mit mehreren VLANs oder einen Router. Dieser Befehl sollte nicht auf Amtsleitungen in Richtung Switches ausgeführt werden, da der Port die Abhör- und Lernphase umgeht, die möglicherweise eine Überbrückungsschleife erzeugen könnte.

Wenn Sie eine Schnittstelle wie folgt konfiguriert haben:

interface x/x
spanning-tree portfast
spanning-tree bpdufilter enable
spanning-tree bpduguard enable

Der BPDU-Schutz wird niemals aktiviert, da der BPDU-Filter sowohl die ausgehenden als auch die eingehenden BPDUs filtert. Dies bedeutet auch, dass der Port niemals seinen Portfast-Status verlieren kann, was normalerweise der Fall wäre, wenn BPDUs eingehend empfangen würden. Wenn Sie den Filter entfernen, wird der BPDU-Schutz aktiviert und der Port heruntergefahren, wenn eine BPDU empfangen wird. Dies erfolgt, bevor der Port seinen Portfast-Betriebszustand verlieren kann, sodass der Port grundsätzlich immer im Porfast-Betriebsmodus arbeitet.

Wenn Sie die Befehle stattdessen global anwenden:

spanning-tree portfast default
spanning-tree portfast bpdufilter default
spanning-tree portfast bpduguard default

Der erste Befehl aktiviert Portfast an allen Zugriffsports.

Wenn der BPDU-Filter global angewendet wird, besteht der Unterschied darin, dass er 11 BPDUs sendet, bevor er stumm geschaltet wird. Da normalerweise alle 2 Sekunden eine BPDU gesendet wird und die Standard-MaxAge 20 Sekunden beträgt, bedeutet dies, dass, wenn sich am anderen Ende ein Gerät befindet, das BPDUs verarbeiten kann, mindestens eine BPDU empfangen wird, wenn die alte BPDU vorhanden ist (falls vorhanden) ) abgelaufen.

Wenn eine BPDU eingehend empfangen wird, wenn der BPDU-Filter global angewendet wird, stoppt der Port die Filterung und verliert seinen Portfast-Status.

Der Standardbefehl BPDU-Schutz gilt nur für Ports, die sich in einem Portfast-Betriebszustand befinden.

Wenn Sie diese drei Befehle miteinander kombinieren, verliert der Port beim Empfang einer BPDU seinen BPDU-Filter. Der BPDU-Schutz kann dann aktiviert werden. Der Port verliert niemals seinen Portfast-Betriebszustand, da der Port zuvor heruntergefahren wurde.

Sie sehen also, wenn der BPDU-Schutz auf die Schnittstelle angewendet wird, kann er niemals aktiviert werden, aber wenn Sie ihn global anwenden, kann er dies.

Wenn Sie nur Portfast global und BPDU-Filter global ausführen, verliert der Port bei Eingang einer BPDU den Filter und den Portfast-Betriebszustand und arbeitet als normaler Port.

Daniel Dib
quelle
Wenn BPDUfilter auf einer Schnittstelle konfiguriert ist, wird der Spanning-Tree effektiv deaktiviert, was manchmal eine gute Sache ist!
John Kennedy
Ja, normalerweise, wenn Sie Ihren L2 abgrenzen möchten. Es ist jedoch äußerste Vorsicht geboten, insbesondere wenn Sie Multihoming durchführen oder eine Überbrückungsschleife haben.
Daniel Dib
1
@ JohnKennedy Ich persönlich stimme Daniel zu. Wenn Sie bpdufilter für einen Switchport verwenden, sollten Sie auch die bcast-Sturmkontrolle mit Aktionsabschaltung aktivieren, um sicherzustellen, dass in Zukunft ein Schutz vor versehentlichen Schleifen besteht
Mike Pennington,
In der Tat wünschte ich, ich könnte seine Antwort zweimal positiv bewerten, da sie ein häufig missverstandenes Thema ziemlich gut erklärt
John Kennedy,
1
Ich habe es gerade auf einem Cat 3560 versucht. Erstens werden BPDUs immer noch auf Portfast-fähigen Ports übertragen. Dies ist ein weit verbreitetes Missverständnis. Die Standardfunktion von BPDU Guard funktioniert an allen Ports im Betriebszustand von Portfast, einschließlich Amtsleitungen. Jede Portfast-fähige Schnittstelle, die BPDUs empfängt, verliert jedoch ihren Portfast-Betriebszustand. Abhängig davon, welche Seite die überlegene BPDU sendet, könnte eine Seite Portfast verlieren, während die andere in Portfast verbleibt. Das Ausführen von Portfast auf Amtsleitungen zwischen Switches ist keine gültige Konfiguration. Versuchen Sie dies also nicht. Wenn Sie RSTP ausführen, ist die Konvergenz schnell.
Daniel Dib