Port-security – функция защиты от сетевых атак, направленных на переполнение CAM таблицы коммутатора, вследствие чего, коммутатор перестает справляться с обработкой MAC адресов и превращается в хаб.
Функция port-security позволяет ограничить максимальное количество MAC адресов допустимых на интерфейсе. Настраивается функция в режиме конфигурации интерфейса командой switchport port-security maximum 1, где 1 максимальное количество MAC адресов на выбранном интерфейсе, как раз для подключения одного устройства к сети. Если этим устройством является IP телефон со встроенным коммутатором, то необходимо разрешить 3 MAC адреса командой switchport port-security maximum 3 — для телефона, встроенного коммутатора и компьютера.
Для настройки порта коммутатора таким образом, чтобы в случае появления на данном порту лишнего MAC адреса он автоматически отключался необходимо прописать команду switchport port-security violation shutdown. Когда сработает данный механизм защиты и порт отключится, включить его можно будет вручную, поочередно набрав команды shut и no shut в режиме конфигурации данного интерфейса.
Автоматизировать процесс возвращения порта в активное состояние можно с помощью команды errdisable recovery cause security-violation. По умолчанию порт активируется через 5 минут. При желании можно выбрать другое время командой errdisable recovery interval 600, где 600 – количество секунд ожидания.
Коммутатор удаляет MAC адреса из CAM таблицы через 5 минут их неактивности. Это важно помнить, если вы вдруг решите отключить одно устройство от порта с максимально разрешенным количеством MAC адресов равным 1, и тот час же подключить другое с совершенно иным MAC адресом. Таймер по умолчанию можно изменить, допустим до 2 минут. Для этого в режиме конфигурации интерфейса необходимо набрать команду switchport port-security aging time 2 и указать причину, по которой необходимо удалять MAC адреса, командой switchport port-security aging type inactivity, где inactivity — причина.
Пример:
telecombook(config)#interface range gig0/1 - 24 telecombook(config-if)#switchport port-security maximum 1 telecombook(config-if)#switchport port-security violation shutdown telecombook(config-if)#switchport port-security aging time 2 telecombook(config-if)#switchport port-security aging type inactivity telecombook(config)#errdisable recovery cause security-violation telecombook(config)#errdisable recovery interval 600
Вы отключили компьютер от первого порта, подключили ко второму и ваш порт ушел в errdisable state? Это случилось потому, что коммутатор еще помнит ваш мак адрес на первом порту. Для решения задачи необходимо выполнить очистку динамически выученных адресов средствами Port-security в CAM таблице командой clear port-security dynamic.
Для вывода всех портов из состояния error-disabled state необходимо ввести команду errdisable recovery cause psecure-violation.