На всех линейках коммутаторов 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.