На всех линейках коммутаторов mes доступен функционал errdisable. Данная функция позволяет восстановить интерфейс, если тот был отключен по какой-либо причине. Причины могут быть разные, хх можно посмотреть командой:
console# show errdisable recovery
Timer interval: 30 Seconds
Reason Automatic Recovery
---------------------- ---------------------------------
loopback_detection Disable
port-security Disable
dot1x-src-address Disable
acl-deny Disable
stp-bpdu-guard Disable
stp-loopback-guard Disable
udld Disable
storm-control Disable
link-flapping Enable
l2pt-guard Disable
pvst Disable
Из вывода видно, что в каких-то причинах защита errdisable уже включена по умолчанию. Рассмотрим пример.
На порту gig0/2 настроим защиту spanning-tree bpduguard. С данной настройкой, если со встречного устройства прилетит bpdu, порт отключится по errdisable:
console(config-if)# 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
!
В лог выведется соответствующее сообщение:
console(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 можно посмотреть командой:
console# show errdisable interfaces
Interface Reason
------------- ------------------
gi1/0/2 stp-bpdu-guard
По умолчанию автоматическое восстановление интрефейса отключено. Можно интерфейс поднять вручную командой:
console
# set interface active gig0/2
Либо настроить автоматическое восстановление:
console(config)# errdisable recovery cause stp-bpdu-guard
Интерфейс поднимется через 300 секунд (по умолчанию) после падения. Данный таймер можно изменить, минимальное значение 30 секунд:
console(config)# errdisable recovery interval
<30-86400> Specify the timeout interval.