BPDU – Bridge Protocol Data Unit, пакеты, которыми обмениваются коммутаторы для выбора корневого (root) устройства при реализации протокола STP (Spanning Tree Protocol).
Чтобы гарантировать безопасность сети и неприкосновенность статуса root избранного устройства, на всех коммутаторах уровня доступа настраивается функция BPDU guard, которая препятствует подключению к сети любого устройства, активно отсылающего в нее BPDU пакеты. Таким образом BPDU guard защищает неизменность топологии сети, а главное препятствует злоумышленнику подключить устройство с низким приоритетом, чтобы заставить остальных коммутаторов думать, что в сети появился новый root и перестроить всю топологию относительно атакующего устройства, тем самым позволив ему пропускать через себя все данные, предоставляя злоумышленнику такую информацию как: IP адреса, пароли и т.п.
Подобно функции Port-security, правильно настроенный BPDU guard заблокирует порт в тот момент, когда обнаружит попытку передачи в сеть несанкционированного пакета BPDU через него. Настройка BPDU guard начинается с команды spanning-tree portfast, которая прописывается на всех интерфейсах коммутаторов уровня доступа, предназначенных для подключения оконечных устройств. Далее есть два пути:
- Включить BPDU guard в режиме глобальной конфигурации командой spanning-tree portfast bpduguard, которая включает защиту на всех интерфейсах с функцией spanning-tree portfast.
- Включить BPDU guard на каждом интерфейсе по отдельности командой spanning-tree bpduguard enable.
Когда сработает защита и порт заблокируется, привести его в рабочее состояние можно будет только вручную, поочередно прописав на интерфейсе команды shut и no shut. При желании можно автоматизировать этот процесс и воспользоваться командой errdisable recovery cause bpduguard, которая включит порт через 300 секунд. Изменить длительность таймера можно командой errdisable recovery interval 400, где 400 – количество секунд из дипазона от 30 до 86400.
Пример:
telecombook(config)#interface range gig0/1 - 24 telecombook(config-if)#spanning-tree portfast telecombook(config-if)#spanning-tree bpduguard enable telecombook(config)#errdisable recovery cause bpduguard telecombook(config)#errdisable recovery interval 400