Příkaz spanning-tree portfast je velmi jednoduchá funkce, ale často špatně pochopená.
V tomto krátkém příspěvku se budu zabývat tím, jak se tato funkce chová, jak funguje a jak ji nakonfigurovat na přepínači cisco.
Portfast je proprietární funkce společnosti Cisco, která byla původně vyvinuta k překonání problému, kdy se počítač snažil získat adresu DHCP a prošel procesem DHCP dříve, než port přešel do stavu předávání. Funkce portfast uvedla port do stavu předávání, jakmile se objevil, což umožnilo počítači získat adresu DHCP. Tato funkce byla poté standardizována a nyní se nazývá Edge port.
Toto je hlavní bod, který je třeba si zapamatovat.
Rozhraní, které má na sobě nakonfigurovanou funkci portfast, přeskočí fázi naslouchání a učení stromu spanning, ale pouze tehdy, když rozhraní naběhne.
Konfigurace funkce portfast stromu spanning
Existují dva způsoby konfigurace funkce portfast globálně a pro každé rozhraní.
V obou případech jsou tyto funkce podmíněny příchozími BPDU
Jestliže je portfast nakonfigurován na portu a ten obdrží BPDU, port funkci portfast zakáže.
Další mylná představa je, že když je portfast na portu povolen, přestane posílat BPDU, to není pravda, jediné, co povolení portfast na přepínači cisco udělá, je, že zakáže fázi naslouchání a učení, všechny ostatní prvky jsou stále přítomny. BPDU budou stále odesílány a přijímané BPDU budou zpracovávány.
Konfigurace rozhraní
Pro konfiguraci rozhraní s portfast stačí v konfiguraci rozhraní zadat příkaz spanning-tree portfast
obdržíte varování, které vysvětlím později.
SW1#conf tSW1#int fa0/23SW#(config-if)#spanning-tree portfast%Warning: Portfast should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc... to this interface when portfast is enabled, can cause temporary bridging loops.Use with caution%Portfast has been configured on FastEthernet0/23 but will only have effect when the interfaceis in a non-trunking mode.
Při konfiguraci na rozhraní máte také možnost konfigurovat režim trunk.
SW1(config-if)#spanning-tree portfast ?disable Disable portfast for this interfacetrunk Enable portfast on the interface even in trunk mode<cr>SW1(config-if)#spanning-tree portfast
Tím také povolíte portfast i na trunkových spojích.
Globální konfigurace
Pro globální konfiguraci portfast v režimu globální konfigurace zadejte příkaz spanning-tree portfast default
Tím povolíte portfast na všech provozních přístupových portech.
SW1(config)#spanning-tree portSW1(config)#spanning-tree portfast default%Warning: this command enables portfast by default on all interfaces. Youshould now disable portfast explicitly on switched ports leading to hubs,switches and bridges as they may create temporary bridging loops.SW1(config)#
Takhle to vlastně nakonfigurujete, ale musíte si také velmi dobře uvědomit provozní stav portů portfast. Správná činnost ostatních funkcí závisí na provozním stavu portfast. Jednou z nich je bpduguard.
Pokud je bpduguard nakonfigurován globálně, projeví se pouze na portech, které mají své porty v provozním stavu portfast.
Nezávisle na konfiguraci na portu vám následující příkaz ukáže skutečný provozní stav portfast.
SW1#sh spanning-tree interface fa0/23 portfast VLAN0010 disabled
Pokud zobrazíme konfiguraci na tomto portu, uvidíte, že jsme portfast skutečně nakonfigurovali
SW1#sh run int fa0/23Building configuration...
!interface FastEthernet0/23 switchport access vlan 10 switchport mode access spanning-tree portfastend
Proč je tedy zakázán? Důvodem je to, že druhý konec portu fa0/23 je připojen k SW2, port obdržel BPDU a zakázal stav portfast
Pokud bychom se tedy pokusili povolit bpduguard globálně, nemělo by to vůbec žádný efekt, protože stav portfast je zakázán. To je to, co chceme, protože pokud by se jednalo o přístupový port a nebyl by připojen k přepínači, nepřijímal by BPDU a stav portfast by tak byl povolen. Pak by při povolení bpduguard byl funkční a byl by připraven vypnout port, pokud by na něm byly přijaty jakékoli BPDU indikující, že někdo připojil switch k přístupovému portu.
BPDU Guard – jakékoli přijaté BPDU způsobí přechod portu do stavu err-disabled.
Další funkcí, která interaguje s provozním stavem portfast portu, je BPDU Filter
Níže uvedené video od Marca vysvětluje tuto interakci lépe než já.