Настройка 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: Вход в режим глобальной конфигурации
Switch>enable
Switch#configure
Переход в режим настройки параметров коммутатора.
Шаг 2: Создание MAC ACL для блокировки устройства
Switch(config)#filter-list 10 name MAC_ACL_MIN
Switch(configure-filter-l2-10)#
Создается список контроля доступа с номером 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: Назначение действия запрета
Switch(configure-filter-l2-10)#filter 10 action deny
Пакеты, соответствующие правилу 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
Switch(config)#vlan 2
Switch(vlan-2)#filter-list in name MAC_ACL_MIN
Switch(vlan-2)#exit
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:
Switch#show filter-list global
Отображает глобальные настройки применения ACL (если настроены).
Просмотр статистики срабатываний:
Switch#show filter-list statistic
Выводит счетчики пакетов для правил с настроенным 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. При возникновении вопросов обратитесь к технической поддержке.