На всех линейках коммутаторов mes доступен функционал errdisable. Данная функция позволяет восстановить интерфейс, если тот был отключен по какой-либо причине. Причины могут быть разные, хх можно посмотреть командой:
2324_my#show console# show errdisable recovery
Timer interval: 30 Seconds
Reason Automatic Recovery
---------------------- ---------------------------------
loopback_detection
Disable Disable
port-security
Disable Disable
dot1x-src-address
Disable Disable
acl-deny
DisableDisable
stp-bpdu-guard
DisableDisable
stp-loopback-guard
Disable Disable
udld
Disable
storm-control
Disable
link-flapping
Enable
l2pt-guard
Disable
pvst
Disable
Из вывода видно, что в каких-то причинах защита errdisable уже включена по умолчанию. Рассмотрим пример.
На порту gig0/2 настроим защиту spanning-tree bpduguard. С данной настройкой, если со встречного устройства прилетит bpdu, порт отключится по errdisable:
2324_myconsole(config-if)
#do # do sh run int gig0/2
interface gigabitethernet1/0/2
spanning-tree bpduguard enable
switchport mode trunk
switchport trunk allowed vlan add 100,111-112
!
В лог выведется соответствующее сообщение:
2324_myconsole(config-if)#09-Nov-2018 14:39:38 %STP-W-BPDUGRDPRTSUS: gi1/0/2 suspend by BPDU guard.
09-Nov-2018 14:39:38 %LINK-W-PORT_SUSPENDED: Port gi1/0/2 suspended by stp-bpdu-guard
Также заблокированные интерфейсы по errdisable можно посмотреть командой:
2324_my#show console# show errdisable interfaces
Interface
Reason Reason
------------- ------------------
gi1/0/2
stp stp-bpdu-guard
По умолчанию автоматическое восстановление интрефейса отключено. Можно интерфейс поднять вручную командой:
2324_my#set console
# set interface active gig0/2
Либо настроить автоматическое восстановление:
2324_myconsole(config)
#errdisable # errdisable recovery cause stp-bpdu-guard
Интерфейс поднимется через 300 секунд (по умолчанию) после падения. Данный таймер можно изменить, минимальное значение 30 секунд:
2324_myconsole(config)
#errdisable # errdisable recovery interval
<30-86400> Specify the timeout interval.