Настройка таблицы 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