Skip to content

Защита Edge-портов с помощью STP BPDU Guard

В документе описывается работа функции BPDU Guard при включении в глобальном режиме настройки STP (режим stp), а также приводятся рекомендации по её применению совместно с Edge-портами, в том числе при использовании команды глобального назначения портов Edgestp edge-default enable.

Информация о версиях STP

Команды настройки, приведенные в данной статье совместимы с версиями STP:

  • Spanning Tree Protocol (STP, IEEE 802.1D)
  • Rapid Spanning Tree Protocol (RSTP, 802.1W)
  • Multiple Spanning Tree Protocol (RSTP, 802.1s)

Допущения и общие данные: аббревиатура STP обозначает все семейство протоколов STP, если не указано иное.

Особое внимание уделено:

  • различиям работы с Edge-портом и без него;
  • переводу порта в состояние err-disable (error-down) при приёме BPDU;
  • использованию команды автоматического восстановления после срабатывания защиты;
  • использованию глобальной настройки Edge-портов (stp edge-default enable) и её приоритету;
  • рекомендациям по порядку включения edge-default и bpdu-guard;
  • пояснению использования BPDU Guard без дополнительных настроек Edge-port

Необходимые условия и предварительные требования

Перед включением BPDU-Guard в глобальном режиме настройки STP, рекомендуется выполнить один из вариантов настройки Edge портов. Невыполнение требований может привести к блокировке трафика.

  • Вариант 1:
  • настройка Edge-port должна быть активирована для всех портов глобально (stp edge-port enble)
  • настройка Edge-port должна быть выключена (stp edge-port disable) на портах , участвующих в топологии STP и/или к которым могут быть подключены коммутаторы
  • Вариант 2:
  • настройка Edge-port должна быть выключена глобально для всех портов (stp edge-default disable)
  • настройка Edge-port применена индивидуально к порту или группе портов, не предназначенных для подключения коммутаторов
  • на коммутаторе должен быть включён и настроен один из вариантов STP
  • aдминистратор должен понимать L2-топологию: какие порты подключены к конечным устройствам, а какие к другим коммутаторам (uplink/транки).

Назначение BPDU Guard

Описание функциональности и назначение

BPDU Guard — это защитный механизм, который отключает любой Edge-порт, если на нём обнаружены BPDU-кадры, в целях предотвращения возможности подключение коммутатора к пользовательскому Edge-порту;

На коммутаторах CIT 3200 активация BPDU Guard включается глобально в режиме настройки STP (режим config-stp) и безусловно активирует BPDU Guard для всех портов, которые являются Edge-портами.

Важно: команда stp bpdu-guard enable оказывает влияние только на порты, настроенные как Edge-port и не зависит от их состояния Edge-port. Порт будет выключен при получении BPDU кадра, даже его состояне Edge порта не активно по факту самоопределения Port Edged : config=enable / active=disable


Команды настройки

Выполнение предварительных требований

Пример выполнения предварительных треребований (вариант 2) описывается ниже.

Отключение функциональности Edge портов в режиме глобальной команды stp edge-default disable

Switch#configure 
  %Enter configuration commands.End with Ctrl+Z or command "quit" & "end"
Switch(config)#stp 
Switch(config-stp)#stp edge-default disable 
Switch(config-stp)#exit

Явное отключение функциональности Edge-port на Ulink интерфейсе (STP Root Port) на случай, если он был включен на нем индивидуально;

Switch(config)#interface 10gigaethernet 1/0/2
Switch(config-10ge1/0/2)#stp edge-port disable 
Switch(config-10ge1/0/2)#exit

Активирование Edge-port на защищаемых пользовательских портах

Switch(config)#interface group 1/0/10-1/0/20
Switch(config-if-group)#stp edge-port enable 
Switch(config-if-group)#exit

Анализ состояния STP до включения BPDU Guard

Ниже приведен пример блокировки порта при получении кадра STP BPDU.

Не включайте защиту STP BPDU Guard на STP Root портах в работающией сети

Интерфейс 10GE1/0/2 до включения BPDU Guard является "выделенным" портом - его роль designated и находится в состоянии forwarding. Порт направлени "вниз" по топологии STP. Данный порт не предполагает подклювчение коммутатора и является выделенным портом для подключения конечного хоста.

Switch#show stp interface 10gigaethernet 1/0/10
 ...
 --------[PORT Info instance 0]--------
 Description              : 10ge1/0/10
 Port Role                : designated           
 STP State                : forward        
 ...
 Port Edged               : config=disable / active=disable
 ...
 Protection Type          : N/A

До включения Edge-режима и BPDU Guard:

  • порт — Designated Port, НЕ участвует в построении топологии STP;
  • предназначен для подключение конечных хостов (не коммутаторов)
  • не является Edge (Port Edged : disable);
  • защиты (Protection Type) нет.

Включение BPDU Guard для Edge-портов.

Активации защиты произойдет для группы ранее настроенных портов (10gi1/0/10 - 10gig1/0/20)

Конфигурация

Включение защиты в глобальном режиме настройки STP для всех Edge портов.

Switch# configure
Switch(config)# stp
Switch(config-stp)# stp bpdu-guard enable 
Switch(config)# end
Switch# 

На этом этапе BPDU Guard включён, ранее сконфигурированные порты 10gi1/0/10 - 10gi1/0/20 защищены от подключения коммутатора.


Проверка состояния порта

$$$$$ привести команду show для порта под защитой в режиме работы без блокировки $$$$$ когда будет доступна консоль

Пример блокировки Edge порта защитником BPDU-GUARD

Заблокированый порт переходит в специальный режим работы: error-shutdown при получении на него кадра STP BPDU

$$$$$ привести команду show для для заблокированного порта $$$$$ когда будет доступна консоль

Пример блокировки порта при получении кадра BPDU

В случае подключения коммутатора к защищенному порту, подключаемый коммутатор отправит STP BPDU кадр на защищенный порт.

Результат работы BPDU Guard виден по сообщениям системного журнала:

2025/12/10 13:40:06.794 Switch %01-2-IFM-LINKDOWN(l): ... 10GigaEthernet1/0/10], AdminStatus=[up], OperStatus=[down], Reason=[link-down])
2025/12/10 13:40:06.806 Switch %01-5-IFM-LINKDOWN(t): ... Interface 10gigaethernet1/0/10(...) link down Reason=[bpdu-guard].
2025/12/10 13:40:06.818 Switch %01-5-STP-TRAP(t): ... stp Received BPDU on 10gigaethernet1/0/10 with BPDU Guard enabled, this edged-port will be shutdown!

Активация заблокированного порта

Чтобы вернуть работоспособность порта, нужно: - Переключить порт (shut/no shut) для выхода из error-down, если авто-восстановление ещё не сработало.

Пример:

Switch(config-stp)# interface 10gi 1/0/2
Switch(config-10ge1/0/2)# shutdown 
Switch(config-10ge1/0/2)# no shutdown 

В случае отсутсвия STP BPDU кадров после выполненных действий порт перейдет в активное состояние.

2025/12/10 13:40:36.630 Switch %01-2-IFM-LINKUP(l):The interface status changes. (ifName=[10GigaEthernet1/0/2], AdminStatus=[up], OperStatus=[up], Reason=[link-up])  
...

Автоматическое восстановление порта после BPDU Guard

В случае необходимости, возможно настроить коммутатор для автоматической проверки о прекращении событий, повлекших блокировку порта. Функционально необходимо настройть механиз auto-recovery и выбрать причину из-за которой порт переходил в заблокированное состояние, далее указать интервал проверки в секундах.

Switch(config)#error-down auto-recovery cause bpdu-protection interval 30
  • включает автоматическое восстановление после перевода порта в error-down по причине BPDU-защиты;
  • через 30 секунд после срабатывания BPDU Guard коммутатор попытается активировать порт;
  • если BPDU всё ещё приходят и порт всё ещё считается Edge, он будет снова отключён.

Полный вывод команд настройки

configure
!
error-down auto-recovery cause bpdu-protection interval 30
stp
 stp edge-default disable
 exit
!
interface 10gigaethernet 1/0/2
 stp edge-port disable
exit
!
interface group 1/0/10-1/0/20
 stp edge-port enable
 exit
! 
stp
 stp bpdu-guard enable
 end

Рекомендации по использованию BPDU Guard и Edge-портов

  • не используйте глобальную команду stp edge-default enable|disable на ранее настроенном коммутаторе, так как команда приоритетно и безусловно переопределяет состояние Edge порта
  • для ранее нестроенных коммутаторов используйте команды индивидуальной настройки порта или группы портов (stp edge-port enable|disable)
  • не включайте защиту STP BPDU Guard на портах, где есть или планируется подключение коммутаторов и/или порт должен участвовать в расчете STP топологии
  • при необходимости используйте механизм авто-восстановление портов, находящихся в состоянии error-down

История возникновения команды

Команды в данной главе применимы для

  • аппаратных плаформ CIT серии L3200, с уставленной версией ПО v1.0.2.
  • являются актуальными с версии ПО v.1.0.2