Skip to content

Настройка таблицы MAC-адресов

В данной статье рассматриваются основные механизмы управления таблицей MAC-адресов на коммутаторах, включая ограничение скорости обучения MAC-адресов (MAC learning rate limiting), настройку времени жизни динамических MAC-адресов (mac aging-time), статические записи MAC-адресов (Static MAC Entries) и обработку MAC Flapping. Описываются сценарии применения, команды настройки, диагностика и рекомендации.


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

  • Для выполнения конфигураций необходим доступ к режиму глобальной конфигурации устройства.
  • Конфигурация статических MAC-адресов может конфликтовать с динамическим обучением MAC-адресов.

Основная информация о применяемых технологиях

MAC learning rate limiting

MAC learning rate limiting - механизм, ограничивающий количество новых MAC-адресов, которые могут быть изучены коммутатором за определённый промежуток времени на интерфейсе или глобально. Используется для предотвращения атак типа MAC flooding, а также для защиты от ошибок в сетевой инфраструктуре, приводящих к массовому появлению новых MAC-адресов.

Сценарии использования: - Защита от DoS-атак, связанных с MAC flooding. - Ограничение количества новых устройств в гостевых VLAN. - Контроль за динамикой изменений MAC-таблицы.

mac aging-time

mac aging-time - параметр, определяющий время жизни динамической записи MAC-адреса в таблице коммутатора. По истечении этого времени запись удаляется, если не было новых кадров с этим MAC-адресом.

Сценарии использования: - Оптимизация использования памяти коммутатора. - Быстрое удаление устаревших записей при высокой мобильности устройств. - Увеличение времени жизни записей для стабильных сетей.

Static MAC Entries

Static MAC Entries - статические записи MAC-адресов, вручную добавляемые в таблицу коммутатора. Такие записи не удаляются по таймеру aging и не изменяются при получении кадров с этим MAC-адресом на других портах.

Сценарии использования: - Фиксация MAC-адреса на определённом порту (например, для серверов, шлюзов). - Защита от MAC spoofing. - Упрощение диагностики и контроля доступа.

MAC Flapping

MAC Flapping - ситуация, когда один и тот же MAC-адрес появляется на разных портах коммутатора в короткий промежуток времени. Обычно свидетельствует о петле в сети, ошибках в настройке или некорректной работе оборудования.

Сценарии использования: - Диагностика и предотвращение сетевых петель. - Уведомление администратора о нестабильности в сети. - Автоматическое блокирование портов при обнаружении флаппинга.


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

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

  • Все порты работают в режиме динамического обучения MAC-адресов.
  • MAC-таблица очищена.

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

1. Ограничение количества MAC-адресов на порту 1/0/4

Ограничивает максимальное количество MAC-адресов, которые могут быть изучены на порту. При превышении лимита новые MAC-адреса будут блокироваться (drop).

Switch(config)#interface 10gigaethernet 1/0/4
Switch(config-10ge1/0/1)#mac-limit 100 action drop

2. Настройка времени жизни MAC-адресов (глобально)

Устанавливает время жизни динамических MAC-адресов в таблице коммутатора. После истечения времени запись удаляется, если не было новых кадров с этим MAC-адресом.

Switch(config)#mac aging-time 300

3. Добавление статической записи MAC-адреса для сервера

Фиксирует MAC-адрес за конкретным портом и VLAN. Такая запись не удаляется по таймеру и не изменяется при получении кадров с этим MAC-адресом на других портах.

Switch(config)#mac-address static 10 AA:BB:CC:DD:EE:FF 10gigaethernet 1/0/3

4. Включение обнаружения MAC Flapping на порту 1/0/3

Включает обнаружение MAC Flapping - ситуации, когда один и тот же MAC-адрес появляется на разных портах. Порог - 5 изменений MAC-адреса в минуту.

Switch(config)#interface 10gigaethernet 1/0/1
Switch(config-if)#mac-address flapping detection enable
Switch(config-if)#mac-address flapping action error-down

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

configure terminal
interface 10gigaethernet 1/0/4
 mac-limit 100 action drop
!
mac aging-time 300
!
mac-address static 10 AA:BB:CC:DD:EE:FF 10gigaethernet 1/0/3
!
interface 10gigaethernet 1/0/1
 mac-address flapping detection enable
 mac-address flapping action error-down

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

Просмотр конфигурации

Конфигурации в глобальном режиме

show running-config
  hostname Switch
  !
  mac-address static 10 aa:bb:cc:dd:ee:ff 10gigaethernet 1/0/3
  !
  interface 10gigaethernet 1/0/1
   mac-limit 100
   mac-address flapping action error-down
  !
show mac info
  Aging time:300 seconds

Просмотр параметров работы

Просмотр MAC-таблицы

show mac-address
  Total           :1
  Static          :0
  Dynamic         :1
  Blackhole       :0
  Sticky          :0
  Security        :0
  Snooping        :0
  Valid           :1

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

Диагностика MAC Flapping

show mac-address flapping record

   Vlan    MAC Address       Original Port       Move Ports         Move Num
    1     b4:e0:25:00:76:3e   10ge1/0/1           10ge1/0/3          2755442
                                                  10ge1/0/4(D)
                                                  10ge1/0/5
                                                  10ge1/0/6

Рекомендации:
- Для получения справки по доступным командам используйте:

list mac

  • Устанавливайте ограничение скорости обучения MAC-адресов на портах, подключённых к гостевым или небезопасным сегментам.
  • Для серверов и критичных устройств используйте статические MAC-записи.
  • Включайте MAC Flapping detection на uplink-портах и портах, где возможны петли.
  • Регулярно просматривайте MAC-таблицу и логи флаппинга для выявления проблем.

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

  • IEEE 802.1D-2004: MAC Bridges
  • RFC 4541: Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener Discovery (MLD) Snooping Switches