В этой статье описано несколько приемов по фильтрации STP-пакетов в коммутаторах Cisco. Далее речь пойдет о таких командах как spanning-tree bpduguard enable и spanning-tree bpdufilter enable на портах коммутаторов.
Команда bpduguard слушает начилие любых BPDU фреймов и блокирует порт. Команда bpdufilter запрещает прохождение BPDU фреймов на порту.
Так если на одном удаленном коммутаторе sw2 есть:
errdisable recovery cause bpduguard
errdisable recovery interval 90
interface FastEthernet0/20
description sw1
switchport trunk encapsulation dot1q
switchport mode trunk
То ошибочное включение на нем spanning-tree bpduguard enable приведет к отключению порта:
%SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port Fa0/20 with BPDU Guard enabled. Disabling port.
%PM-4-ERR_DISABLE: bpduguard error detected on Fa0/20, putting Fa0/20 in err-disable state
Коммутатор автоматически включит порт через 90 секунд благодаря errdisable recovery. Пользуясь этим необходимо включить на порту ближайшего коммутатора BPDUFilter:
sw1(config)#interface FastEthernet0/21
sw1(config-if)#spanning-tree bpdufilter enable
Далее стоит немного подождать, пока порт разблокируется на sw2:
%PM-4-ERR_RECOVER: Attempting to recover from bpduguard err-disable state on Fa0/20
Теперь заходим на sw2 и отключаем bpduguard — выполнить на интерфейсе команду no spanning-tree bpduguard.
На sw1 отключаем bpdufilter — выполнить на интерфейсе команду no spanning-tree bpdufilter.