Устранение ошибки отключения порта BPDU Guard (err-disable) в STP
- Интерфейс внезапно переходит в статус
down/down (err-disabled). - В логах коммутатора генерируется сообщение:
%SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port Gi1/0/12 with BPDU Guard enabled. Disabling port. - Светодиодный индикатор порта горит оранжевым цветом, трафик абонента полностью заблокирован.
- Команда
show interfaces status err-disabledпоказывает причинуbpduguard.
1. Проверка причины перевода в err-disable
show interfaces status err-disabled
show log | include BPDUGUARD2. Локализация источника пакетов BPDU
Проверьте, что подключено к порту (неуправляемый хаб со STP-петлей, виртуальный гипервизор ESXi/Proxmox со встроенным vSwitch или несанкционированный свитч сотрудника):
show mac address-table interface GigabitEthernet1/0/12
show cdp neighbors GigabitEthernet1/0/12 detail3. Восстановление порта вручную
После физического отключения постороннего оборудования снимите блокировку:
conf t
interface GigabitEthernet1/0/12
shutdown
no shutdown4. Настройка автоматического восстановления (Errdisable Recovery)
Сконфигурируйте таймер автовосстановления для предотвращения вечного простоя сервисов:
conf t
errdisable recovery cause bpduguard
errdisable recovery interval 300 Частые вопросы (FAQ)
Зачем нужен BPDU Guard на Edge-портах?
BPDU Guard гарантирует, что к портам с включенным PortFast подключены только конечные хосты. Если кто-то подключит сторонний коммутатор, BPDU Guard немедленно отключит порт, предотвратив возникновение L2-петли и перестроение дерева STP.
Почему гипервизоры (ESXi / KVM) могут вызывать срабатывание BPDU Guard?
Если на хосте виртуализации запущены виртуальные коммутаторы с поддержкой STP или внутри ВМ работает программный сетевой мост (Linux Bridge / Open vSwitch), исходящие BPDU приведут к блокировке физического сетевого интерфейса (NIC).
Чем отличается BPDU Filter от BPDU Guard?
BPDU Guard отключает порт (err-disable) при получении BPDU. BPDU Filter просто игнорирует/отфильтровывает входящие и исходящие BPDU, что потенциально опасно и может создать петлю коммутации.
Как проверить таймер автовосстановления err-disable?
Выполните команду 'show errdisable recovery'. Она покажет список контролируемых событий, статус таймеров и оставшееся время до попытки включения интерфейса.