Polecenie spanning-tree portfast jest bardzo prostą funkcją, ale często źle rozumianą.
W tym krótkim wpisie zbadam, jak zachowuje się ta funkcja, jak działa i jak ją skonfigurować na przełączniku firmy Cisco.
Portfast jest funkcją zastrzeżoną przez firmę Cisco, która została pierwotnie opracowana w celu rozwiązania problemu, gdy komputer próbował uzyskać adres DHCP i przechodził przez proces DHCP zanim port przeszedł w stan przekazywania. Funkcja portfast wprowadzała port w stan forwardingu, gdy tylko się pojawił, umożliwiając komputerowi uzyskanie adresu DHCP. Funkcja ta została następnie znormalizowana i obecnie nosi nazwę portu Edge.
Jest to główny punkt, o którym należy pamiętać.
Interfejs, na którym skonfigurowano funkcję portfast, pominie fazy nasłuchiwania i uczenia się drzewa spanningowego, ale tylko wtedy, gdy interfejs się pojawi.
Konfigurowanie funkcji Spanning Tree Portfast
Istnieją dwa sposoby konfigurowania funkcji portfast globalnie i dla poszczególnych interfejsów.
W obu przypadkach funkcje te są uzależnione od przychodzących BPDU
Jeśli portfast jest skonfigurowany na porcie i otrzyma on BPDU, port ten wyłączy funkcję portfast.
Kolejnym błędnym założeniem jest to, że gdy portfast jest włączony na porcie, przestanie on wysyłać BPDU, nie jest to prawdą jedyną rzeczą, jaką robi włączenie portfast na przełączniku cisco, jest wyłączenie faz nasłuchiwania i uczenia się, wszystkie inne elementy są nadal obecne. BPDUs nadal będą wysyłane, a BPDUs otrzymywane będą przetwarzane.
Konfiguracja interfejsu
Aby skonfigurować interfejs z portfastem, w konfiguracji interfejsu po prostu wpisz polecenie spanning-tree portfast
otrzymasz ostrzeżenie, które wyjaśnię później.
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.
Podczas konfiguracji per-interfejs masz również możliwość skonfigurowania trybu 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
To również włączy portfast na łączach trunk.
Konfiguracja globalna
Aby skonfigurować portfast globalnie w trybie konfiguracji globalnej wprowadź polecenie spanning-tree portfast default
To włączy portfast na wszystkich operacyjnych portach dostępowych.
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)#
Teraz tak to faktycznie skonfigurujesz, ale musisz również być bardzo świadomy operacyjnego statusu portfastu portu. Inne funkcje zależą od statusu operacyjnego portfast dla poprawnego działania. Jedną z nich jest bpduguard.
Jeśli bpduguard zostanie skonfigurowany globalnie, będzie działał tylko na portach, których porty mają status operacyjny portfast.
Niezależnie od konfiguracji na porcie, poniższe polecenie pokaże rzeczywisty status operacyjny portfast.
SW1#sh spanning-tree interface fa0/23 portfast VLAN0010 disabled
Jeśli pokażemy konfigurację na tym porcie, zobaczymy, że faktycznie mamy skonfigurowany portfast
SW1#sh run int fa0/23Building configuration...
!interface FastEthernet0/23 switchport access vlan 10 switchport mode access spanning-tree portfastend
Dlaczego więc jest wyłączony? Powodem jest to, że drugi koniec fa0/23 jest podłączony do SW2, port otrzymał BPDU i wyłączył status portfast
Więc jeśli spróbowalibyśmy włączyć bpduguard globalnie nie miałoby to żadnego efektu, ponieważ status portfast jest wyłączony. To jest to, czego chcemy, ponieważ gdyby był to port dostępowy i nie był podłączony do przełącznika, nie otrzymywałby BPDU, a zatem status portfast byłby włączony. Następnie po włączeniu bpduguard będzie działał i będzie gotowy do wyłączenia portu, jeśli otrzyma jakiekolwiek BPDU na tym porcie wskazujące, że ktoś podłączył przełącznik do portu dostępowego.
BPDU Guard – każde odebrane BPDU spowoduje przejście portu do stanu err-disabled.
Inną funkcją, która wchodzi w interakcję z operacyjnym stanem portfast portu jest BPDU Filter
Następny film od Marco wyjaśnia interakcję lepiej niż ja mogę.