Настройка MAC ACL¶
Описание и назначение функции¶
MAC ACL (списки контроля доступа на основе MAC-адресов) выполняют фильтрацию пакетов на уровне L2 по полям заголовка Ethernet-кадра. Коммутатор проверяет исходный и конечный MAC-адреса, тип протокола (EtherType), приоритет 802.1p и применяет заданные действия к трафику.
Основные сценарии использования:
- Блокировка доступа к сети с конкретных устройств по MAC-адресам
- Фильтрация служебного трафика (ARP, LLDP, CDP) на граничных портах
- Перенаправление трафика определенных устройств на порты мониторинга
- Приоритизация трафика на уровне L2 по MAC-адресам источников
- Ограничение доступа по временным интервалам (совместно с time-range)
MAC ACL применяются до обработки пакетов на уровне L3, что позволяет фильтровать трафик независимо от IP-адресации.
Необходимые условия и предварительные требования¶
Для настройки MAC ACL требуется:
- Доступ к привилегированному режиму (Privileged EXEC)
- Версия ПО: v1.0.2 и выше (серия CIT L3200)
- Знание MAC-адресов устройств для фильтрации
- Понимание направления трафика на интерфейсах (входящий/исходящий)
- Настроенные time-range списки (при использовании временных ограничений)
Примечание
MAC ACL с номерами 1-999 применяются для фильтрации L2. Номера 1000 и выше зарезервированы для IP ACL. На одном интерфейсе можно применить до 4 ACL разных типов (IPv4, IPv6, L2, пользовательские).
Назначение команд конфигурации¶
| Команда | Режим | Назначение |
|---|---|---|
filter-list <1-999> name <имя> |
Global Config | Создает MAC ACL с указанным номером и именем, переводит в режим настройки filter-list |
filter <приоритет> src-mac <MAC> src-mask <маска> |
Filter-list Config | Определяет критерий фильтрации по исходному MAC-адресу с маской |
filter <приоритет> mac any any |
Filter-list Config | Создает правило для всех MAC-адресов (аналог permit any) |
filter <приоритет> mac any any eth-type <тип> |
Filter-list Config | Фильтрует пакеты по типу протокола EtherType (arp, ipv4, ipv6) |
filter <приоритет> action <действие> |
Filter-list Config | Назначает действие для правила (deny, permit, redirect, mirror, dscp и др.) |
filter <приоритет> time-range <ID> |
Filter-list Config | Привязывает правило к временному интервалу |
interface <тип> <номер> |
Global Config | Входит в режим настройки интерфейса |
filter-list in <номер> |
Interface Config | Применяет ACL на входящий трафик интерфейса |
vlan <ID> |
Global Config | Входит в режим настройки VLAN |
filter-list in name <имя> |
VLAN Config | Применяет именованный ACL на входящий трафик VLAN |
Правила обрабатываются в порядке приоритета (меньший номер = выше приоритет), каждое правило требует явного указания действия.
Пример конфигурирования¶
Пошаговые инструкции¶
Шаг 1. Вход в режим глобальной конфигурации
Переход в режим настройки параметров коммутатора.
Шаг 2. Создание MAC ACL для блокировки устройства
Создается список контроля доступа с номером 10, система автоматически переходит в режим настройки filter-list.
Шаг 3. Определение правила блокировки по MAC-адресу
Switch(configure-filter-l2-10)#filter 10 src-mac AA:BB:CC:DD:EE:FF src-mask FF:FF:FF:FF:FF:FF dst-mac any dst-mask any
Правило с приоритетом 10 фильтрует пакеты с исходным MAC AA:BB:CC:DD:EE:FF, маска FF:FF:FF:FF:FF:FF означает точное совпадение всех октетов.
Шаг 4. Назначение действия запрета
Пакеты, соответствующие правилу 10, отбрасываются.
Шаг 5. Создание разрешающего правила по умолчанию
Switch(configure-filter-l2-10)#filter 100 mac any any
Switch(configure-filter-l2-10)#filter 100 action permit
Правило с приоритетом 100 разрешает весь остальной трафик (обязательно для явного разрешения).
Шаг 6. Применение ACL на интерфейс
Switch(configure-filter-l2-10)#exit
Switch(config)#interface 10gigaethernet 1/0/1
Switch(config-10ge1/0/1)#filter-list in 10
ACL активируется на входящий трафик порта 10GE 1/0/1.
Шаг 7. Создание ACL для фильтрации ARP-трафика
Switch(config)#filter-list 11 name ETHERTYPE_ARP_DENY
Switch(configure-filter-l2-11)#filter 10 mac any any eth-type arp
Switch(configure-filter-l2-11)#filter 10 action deny
Switch(configure-filter-l2-11)#filter 100 mac any any
Switch(configure-filter-l2-11)#filter 100 action permit
Switch(configure-filter-l2-11)#exit
Блокировка ARP-запросов/ответов через фильтрацию по EtherType 0x0806.
Шаг 8. Настройка временного интервала
Switch(config)#time-range list 1
Switch(config-timerange1)#name WORKHOURS
Switch(config-timerange1)#time-range 1 everyday 09:00:00 to 18:00:00
Switch(config-timerange1)#exit
Создается временной интервал с 9:00 до 18:00 ежедневно для привязки к ACL.
Шаг 9. Создание MAC ACL с временным ограничением
Switch(config)#filter-list 12 name MAC_TIME_BASED
Switch(configure-filter-l2-12)#filter 10 src-mac AA:BB:CC:DD:EE:FF src-mask FF:FF:FF:FF:FF:FF dst-mac any dst-mask any
Switch(configure-filter-l2-12)#filter 10 action deny
Switch(configure-filter-l2-12)#filter 10 time-range 1
Блокировка работает только в заданный временной интервал (в данном примере команда time-range должна выполняться до установки action).
Шаг 10. Применение ACL на VLAN
ACL применяется на весь входящий трафик VLAN 2, фильтрация происходит на всех портах этой VLAN.
Полный вывод выполненных конфигураций¶
Команды для copy-paste в режиме privileged EXEC:
configure
filter-list 10 name MAC_ACL_MIN
filter 10 src-mac AA:BB:CC:DD:EE:FF src-mask FF:FF:FF:FF:FF:FF dst-mac any dst-mask any
filter 10 action deny
filter 100 mac any any
filter 100 action permit
exit
interface 10gigaethernet 1/0/1
filter-list in 10
exit
filter-list 11 name ETHERTYPE_ARP_DENY
filter 10 mac any any eth-type arp
filter 10 action deny
filter 100 mac any any
filter 100 action permit
exit
interface 10gigaethernet 1/0/2
filter-list in 10
exit
vlan 2
filter-list in name MAC_ACL_MIN
exit
end
Вывод show running-config:
!
filter-list 10 name MAC_ACL_MIN
filter 10 src-mac aa:bb:cc:dd:ee:ff src-mask ff:ff:ff:ff:ff:ff dst-mac any dst-mask any
filter 10 action deny
filter 100 mac any any
filter 100 action permit
filter-list 11 name ETHERTYPE_ARP_DENY
filter 10 mac any any eth-type arp
filter 10 action deny
filter 100 mac any any
filter 100 action permit
!
vlan 2
filter-list in name MAC_ACL_MIN
!
interface 10gigaethernet 1/0/1
filter-list in 10
!
interface 10gigaethernet 1/0/2
filter-list in 10
!
Изучение состояния устройства¶
Просмотр конфигурации¶
Проверка содержимого MAC ACL:
Switch#show filter-list 10
filter-list 10 name MAC_ACL_MIN filter 2
filter-list 10 name MAC_ACL_MIN
filter 10 src-mac aa:bb:cc:dd:ee:ff src-mask ff:ff:ff:ff:ff:ff dst-mac any dst-mask any
filter 10 action deny
filter 100 mac any any
filter 100 action permit
Обратите внимание на строки:
filter 2— общее количество правил в ACLfilter 10 action deny— конкретное действие для правила с приоритетом 10- Порядок правил соответствует приоритетам (10 обрабатывается раньше 100)
Проверка привязки ACL к интерфейсам:
Switch#show filter-list interface
Filter-list Interface Dir Name
10 10ge1/0/1 In MAC_ACL_MIN
10 10ge1/0/2 In MAC_ACL_MIN
10 vlan-2 In MAC_ACL_MIN
11 10ge1/0/1 In ETHERTYPE_ARP_DENY
Вывод показывает номер ACL, интерфейс применения, направление (In/Out) и имя списка.
Просмотр параметров работы¶
Проверка ACL с фильтрацией по EtherType:
Switch#show filter-list 11
filter-list 11 name ETHERTYPE_ARP_DENY filter 2
filter-list 11 name ETHERTYPE_ARP_DENY
filter 10 mac any any eth-type arp <---- фильтрация ARP по EtherType 0x0806
filter 10 action deny
filter 100 mac any any
filter 100 action permit
Просмотр глобальных параметров ACL:
Отображает глобальные настройки применения ACL (если настроены).
Просмотр статистики срабатываний:
Выводит счетчики пакетов для правил с настроенным action counter (требует предварительной настройки счетчиков).
Рекомендации выполнения команд и настроек¶
- Порядок создания правил
- Всегда завершайте ACL разрешающим правилом
filter <высокий_приоритет> mac any anyсaction permit - Без явного permit в конце весь трафик, не совпавший с предыдущими правилами, отбрасывается
- Назначайте приоритеты с интервалами (10, 20, 30) для возможности вставки промежуточных правил
- Всегда завершайте ACL разрешающим правилом
- Использование масок MAC-адресов
- Маска FF:FF:FF:FF:FF:FF означает точное совпадение всех октетов адреса
- Для фильтрации диапазона производителя используйте маску FF:FF:FF:00:00:00 (первые 3 октета OUI)
- Значение
anyэквивалентно 00:00:00:00:00:00 с маской 00:00:00:00:00:00
- Применение на интерфейсах и VLAN
- На физическом интерфейсе ACL обрабатывает только трафик этого порта
- На VLAN ACL применяется ко всем портам, входящим в данный VLAN
- Избегайте одновременного применения противоречащих ACL на интерфейсе и его VLAN
- Временные ограничения
- Создавайте time-range до настройки правил filter, использующих эти интервалы
- Вне временного интервала правило с time-range не применяется (трафик идет дальше по списку правил)
- Действия с трафиком
- Действие
denyотбрасывает пакеты без уведомления отправителя - Действие
redirectперенаправляет трафик на указанный порт (полезно для анализа) - Действия
dscp,cos,precedenceмодифицируют поля приоритета для QoS
- Действие
- Диагностика и мониторинг
- Используйте
show filter-list interfaceдля проверки применения ACL - Для подсчета срабатываний настройте
action counter <ID>(требует предварительного создания счетчика) - При отладке сначала тестируйте ACL на одном порту, затем распространяйте на остальные
- Используйте
История возникновения команды¶
Версия ПО
Команды в данной главе применимы для:
- Аппаратных платформ CIT серии L3200 с установленной версией ПО v1.0.2 и выше
- Являются актуальными с версии ПО v1.0.2
Функциональность MAC ACL доступна во всех моделях серии L3200 и поддерживает аппаратную обработку правил для производительной фильтрации без влияния на пропускную способность портов.
Ссылка на внешнюю документацию¶
Стандарт
Стандарты IEEE 802.1D и IEEE 802.1Q описывают обработку кадров Ethernet на уровне L2. При возникновении вопросов обратитесь к технической поддержке.