Skip to content

Настройка безопасности портов (Port security)

Функция Port security предназначена для ограничения доступа к коммутатору на уровне L2 путем контроля MAC-адресов, изучаемых на физическом порту.

Port security используется, когда необходимо:

  • ограничить количество устройств (MAC-адресов), подключаемых к одному порту;

  • разрешить работу только “известным” MAC-адресам;

  • защитить порт доступа от несанкционированного подключения и подмены устройства.

При нарушении правил (превышение лимита MAC или появление “чужого” MAC) порт выполняет заданное действие защиты (protect / restrict / shutdown).


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

Перед настройкой Port security необходимо:

  • определить порт доступа, на котором требуется ограничение (например, порт к рабочей станции/терминалу);

  • определить VLAN порта (обычно access VLAN);

  • выбрать политику реакции на нарушение:

    • protect - блокировать трафик от неизвестных MAC без дополнительных действий;

    • restrict - блокировать и фиксировать нарушение (учетными событиями/счетчиками);

    • shutdown - перевести порт в состояние блокировки/ошибки (требует вмешательства администратора).


Port security

Port security на порту контролирует:

  • maximum - максимальное количество допустимых MAC-адресов на порту;

  • sticky-mac - автоматическое “закрепление” MAC-адресов, изученных на порту (как разрешенных);

  • protect-action - действие при нарушении правил.


Назначение применяемых команд

Настройка выполняется в режиме интерфейса порта, например config-10ge1/0/10.

Включение Port security

port-security enable - включает режим защиты порта.

Пример:

SW1(config-10ge1/0/10)# port-security enable

Ограничение количества MAC-адресов

port-security maximum <1-1024> - задает максимальное число MAC-адресов, которые разрешено изучить на порту.

Пример:

SW1(config-10ge1/0/10)# port-security maximum 1

Sticky MAC (закрепление MAC-адресов)

port-security mac-address sticky enable - включает режим sticky: MAC-адреса, изученные на порту, закрепляются как разрешенные.

Пример:

SW1(config-10ge1/0/10)# port-security mac-address sticky enable

Дополнительно (ручное закрепление MAC):
port-security mac-address sticky <vlan-id> AA:BB:CC:DD:EE:FF - вручную добавляет разрешенный sticky MAC для указанного VLAN.

Пример:

SW1(config-10ge1/0/10)# port-security mac-address sticky 10 B4:E0:25:00:AA:10

Действие при нарушении

port-security protect-action (protect|restrict|shutdown) - задает реакцию на нарушение.

Пример:

SW1(config-10ge1/0/10)# port-security protect-action shutdown

protect

  • Кадры от “нарушающего” MAC не пропускаются (отбрасываются).

  • Порт не переводится в down/error-down, линк остается поднятым.

  • Без явных уведомлений/логов .

restrict

  • Кадры от “нарушающего” MAC не пропускаются (отбрасываются), как и при protect.

  • Дополнительно коммутатор фиксирует событие нарушения.

  • Порт при этом остается поднятым (не выключается).

shutdown

  • При нарушении коммутатор переводит порт в состояние блокировки .

  • Трафик через порт полностью прекращается до ручного вмешательства.


Пример конфигурирования

Исходное состояние

  • Порт 10gigaethernet 1/0/10 используется как порт доступа.

  • Клиентский VLAN: VLAN 10.

  • Требуется разрешить только одно устройство на порту (1 MAC).

  • MAC-адрес должен закрепляться автоматически (sticky).

  • При нарушении порт должен блокироваться (shutdown).

Задача

  • Перевести порт в режим access VLAN 10.

  • Включить Port security.

  • Ограничить количество MAC до 1.

  • Включить sticky MAC.

  • Настроить реакцию shutdown.

Пример конфигурации (CLI)

SW1# configure
SW1(config)# interface 10gigaethernet 1/0/10
SW1(config-10ge1/0/10)# port link-type access
SW1(config-10ge1/0/10)# port default vlan 10
SW1(config-10ge1/0/10)# port-security enable
SW1(config-10ge1/0/10)# port-security maximum 1
SW1(config-10ge1/0/10)# port-security mac-address sticky enable
SW1(config-10ge1/0/10)# port-security protect-action shutdown
SW1(config-10ge1/0/10)# end
SW1# write file

Полный вывод выполненных конфигураций

Пример фрагмента конфигурации, относящийся к настройке порта 10gigaethernet 1/0/10:

SW1#show running-config
!
interface 10gigaethernet 1/0/10
 port link-type access
 port default vlan 10
 port-security enable
 port-security maximum 1
 port-security mac-address sticky enable
 port-security protect-action shutdown
!

Изучение состояния устройства

Изучение состояния Port security рекомендуется выполнять в следующей последовательности: просмотр конфигурации интерфейса, затем проверка таблицы MAC-адресов (включая sticky/security) и сводной статистики по MAC.

Просмотр конфигурации Port security на интерфейсе

Проверка факта включения Port security и параметров режима выполняется через просмотр running-config с фильтрацией по нужному порту.

Пример:

SW1#show running-config
...
interface 10gigaethernet 1/0/10
 port-security enable
 port-security mac-address sticky enable
 port-security maximum 1
 port-security protect-action shutdown
...

По выводу определяется:

  • включен ли режим port-security на интерфейсе (port-security enable);

  • используется ли “закрепление” MAC (port-security mac-address sticky enable);

  • максимально допустимое число MAC на порту (port-security maximum ...);

  • действие при нарушении политики (port-security protect-action ...).

Просмотр состояния интерфейса

Команда show interface позволяет убедиться, что порт поднят и работает в ожидаемом режиме (например access), а также проверить VLAN/PVID.

Пример:

SW1#show interface 10gigaethernet 1/0/10
...
Interface 10gigaethernet1/0/10 admin state : up
Line protocol current state : up
Switch Port, PVID : 10,        The Maximum Frame Length is 9600
...

Ключевые поля:

  • admin state / Line protocol current state - административное и физическое состояние порта;

  • PVID - VLAN, к которому относится порт (важно для sticky/security MAC в нужном VLAN).

Просмотр таблицы sticky MAC-адресов

Команда show mac-address sticky показывает MAC-адреса, “закрепленные” за интерфейсом (sticky). Наличие записи sticky подтверждает, что коммутатор запомнил MAC клиента и применяет политику Port security на порту.

Пример:

SW1#show mac-address sticky 
  sticky          :1

  MAC Address         Vlan/Vsi/BD         Interface       Oper-Type         Type        
  b4:e0:25:00:76:3c   10/--/--            10ge1/0/10      forward           sticky

Расшифровка полей:

  • MAC Address - закрепленный MAC-адрес абонента/устройства;

  • Vlan/Vsi/BD - VLAN, в котором выучен MAC (в примере VLAN 10);

  • Interface - интерфейс, к которому закреплен MAC (в примере 10ge1/0/10);

  • Oper-Type - текущая операция обработки MAC (forward означает, что кадры от данного MAC разрешены);

  • Type - тип записи (sticky).

Просмотр общей таблицы MAC и сводных счетчиков

Команда show mac-address отображает суммарную информацию по записям MAC и текущие выученные адреса. Это удобно, чтобы подтвердить, что MAC действительно присутствует в таблице и понять соотношение типов (sticky/security/dynamic/static).

Пример:

SW1#show mac-address        

  Total           :1
  Static          :0
  Dynamic         :0
  Blackhole       :0
  Sticky          :1
  Security        :0
  Snooping        :0
  Valid           :1

  MAC Address         Vlan/Vsi/BD         Interface       Oper-Type         Type        
  b4:e0:25:00:76:3c   10/--/--            10ge1/0/10      forward           sticky  

Пояснение ключевых строк:

  • Total - общее число MAC-записей;

  • Sticky - количество MAC, закрепленных в sticky-режиме (важный индикатор работы Port security);

  • Security - количество MAC, относящихся к security-записям (при ручной привязке/режимах security);

  • Dynamic / Static - динамические и статические MAC (для сравнения и диагностики);

  • Valid - число актуальных (действующих) записей.

По данному примеру видно, что Port security работает в режиме sticky: MAC-адрес выучен в VLAN 10 и закреплен за интерфейсом 10ge1/0/10, при этом кадры от данного MAC разрешены (Oper-Type: forward).


Рекомендации выполнения команд/настроек

Рекомендуется:

  • для пользовательских портов доступа использовать port-security maximum 1 или 2 (в зависимости от сценария);

  • включать sticky enable на портах, где устройство редко меняется;

  • использовать protect-action shutdown для критичных портов, а restrict - для более мягкого режима контроля;

  • при замене устройства на порту очищать/обновлять закрепленные MAC-адреса (в зависимости от принятой политики эксплуатации).


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

Команды и конфигурации, приведенные в данной главе, применимы для:

  • аппаратных платформ CIT серии L3200 с установленной версией ПО v1.0.2;

  • являются актуальными начиная с версии ПО v1.0.2.


Ссылка на внешнюю документацию

  • IEEE 802.1D / 802.1Q - базовые принципы коммутации и VLAN (основа работы L2 и привязки к VLAN).

  • Port security является функцией L2-защиты и реализуется вендор-специфично (RFC для Port security как отдельного протокола не применяется).