О том как траблшутить срабатывание port-security на порту
> ___О том как траблшутить срабатывание port-security на порту.___ `$` - Перед строкой ввода означает нахождение в базовом `user-exec` режиме. `>` - Перед строкой ввода означает нахождение в режиме
$ - Перед строкой ввода означает нахождение в базовом user-exec режиме.
> - Перед строкой ввода означает нахождение в режиме enable.
# - Перед строкой ввода означает нахождение в режиме конфигурации conf t.
(config-if)# - Перед строкой ввода означает нахождение в режиме конфигурации и на интерфейсе.
1. Проверка включения и статуса
1.1 Проверить настройки port-security на конкретном порту:
> show port-security interface gigabitethernet0/1
1.2 Пример вывода:
Port Security : Enabled
Port Status : Secure-up
Violation Mode : Restrict <-- наш стандартный режим
Maximum MAC Addresses : 1
Total MAC Addresses : 1
Configured MAC Addresses : 0
Sticky MAC Addresses : 1
Last Source Address:Vlan : 0011.2233.4455:10
Security Violation Count : 15 <-- счётчик нарушений растёт
1.3 Краткий статус всех портов с port-security:
> show port-security
1.4 Пример вывода:
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
-------------------------------------------------------------------
Gi0/1 1 1 0 Restrict
Gi0/2 1 1 847 Restrict <-- проблемный порт
Gi0/3 2 2 0 Restrict
2. Режимы нарушения (Violation Modes)
| Режим | Команда | Действие |
|---|---|---|
| Restrict | switchport port-security violation restrict |
Наш стандарт. Порт остаётся up, нарушения логируются, SNMP trap отправляется, счётчик растёт |
| Shutdown | switchport port-security violation shutdown |
Порт выключается (err-disabled), требуется ручное включение |
| Protect | switchport port-security violation protect |
Порт остаётся up, нарушения не логируются, лишние MAC просто дропаются |
3. Проверка режима работы портов
3.1 Проверить настройки violation mode на всех портах
> show port-security
3.2 Проверить конфигурацию конкретного порта
> show running-config interface gigabitethernet0/1 | include port-security
3.3 Пример вывода для restrict:
switchport port-security
switchport port-security violation restrict
switchport port-security maximum 1
switchport port-security mac-address sticky
3.4 Пример вывода для shutdown (если встретится):
switchport port-security
switchport port-security violation shutdown <== Тут видим режим P.S.
switchport port-security maximum 1
switchport port-security mac-address sticky
3.5 Проверить все порты в err-disabled (для shutdown режима)
> show interfaces status err-disabled
3.6 Пример вывода:
Port Name Status Reason
Gi0/5 err-disabled psecure-violation
4. Поиск нового подключенного устройства (restrict режим)
4.1 Порт в restrict показывает нарушения в счётчике
> show port-security interface gigabitethernet0/2
Security Violation Count : 156 <-- растёт при попытках неизвестного MAC
4.2 Увидеть где последний нарушитель
> show port-security interface gigabitethernet0/2 address
Secure Mac Address Table
-------------------------------------------------------------------
Vlan Mac Address Type Ports
---- ----------- ---- -----
10 0011.2233.4455 SecureSticky Gi0/2 <-- легальный MAC
10 00aa.bbcc.ddee SecurityViolation Gi0/2 <-- новое устройство
4.3 Проверить логи на нарушения
> show logging | include PORT_SECURITY
или
> show logging | include psecure
или
> show logging | include violation
4.4 Пример вывода проверки
%PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address 00aa.bbcc.ddee on port GigabitEthernet0/2.
4.5 Увидеть динамику нарушений
> show port-security | include Violation
4.6 Проверить MAC таблицу на порту
> show mac address-table interface gigabitethernet0/2
или
> show mac adress-table | inc Gi0/2
5. Разблокировка порта в restrict режиме
В режиме restrict порт не блокируется физически, но трафик от нарушителя дропается.
Для «разблокировки» нового устройства делаем:
5.1 Перейти в конфигурацию порта
> configure terminal
(config-if)#
5.2 Очистить текущие sticky MAC (если нужно заменить устройство)
(config-if)# no switchport port-security mac-address sticky 0011.2233.4455
ИЛИ очистить все sticky MAC на порту
(config-if)# no switchport port-security mac-address sticky
5.3 Пересоздать sticky MAC с нового устройства\
Просто переподключить новое устройство, MAC запишется автоматически
(config-if)# switchport port-security mac-address sticky
5.4 Сбросить счётчик нарушений (опционально)
(выход и вход из конфигурации порта сбрасывает счётчик)
5.5 Сохранить конфигурацию
(config-if)# end
> write memory
6. Разблокировка порта в shutdown режиме (на всякий случай)
6.1 Проверить что порт в err-disabled
> show interfaces status err-disabled
6.2 Разблокировка
configure terminal
interface gigabitethernet0/5
! Выключить и включить порт
shutdown
no shutdown
! ИЛИ если нужно сбросить port-security полностью
no switchport port-security
shutdown
no shutdown
switchport port-security
switchport port-security violation restrict <-- возвращаем наш режим
switchport port-security maximum 1
switchport port-security mac-address sticky
end
write memory
7. Дополнительные команды
! Увидеть все secure MAC адреса на коммутаторе
show port-security address
! Очистить конкретный sticky MAC
clear port-security sticky interface gigabitethernet0/1 address 0011.2233.4455
! Очистить все sticky MAC на порту
clear port-security sticky interface gigabitethernet0/1
! Очистить динамические secure MAC
clear port-security dynamic interface gigabitethernet0/1
! Проверить логи
show logging | include psecure
! Проверить SNMP traps
show snmp trap
8. Быстрый алгоритм действий (restrict режим)
> show port-security | include Restrict ← Найти порты с растущим счётчиком нарушений
> show port-security interface [port] address ← Увидеть нарушителя (SecurityViolation)
> interface [port]
> no switchport port-security mac-address sticky
> switchport port-security mac-address sticky ← Обновить MAC
> write memory
9. Стандартный шаблон конфигурации (restrict)
interface gigabitethernet0/1
switchport mode access
switchport access vlan [user-vlan-id]
switchport port-security
switchport port-security violation restrict <-- наш режим
switchport port-security maximum 1
switchport port-security mac-address sticky
spanning-tree portfast