Настройка port based ACL
Описание и назначение функции
Port Based ACL (списки контроля доступа на основе портов) позволяют фильтровать трафик на физических интерфейсах коммутатора на основе L2 (MAC-адреса, EtherType) и L3 (IP-адреса, протоколы) параметров. Коммутатор CIT L3200 поддерживает применение списков фильтрации как к отдельным портам, так и к VLAN, обеспечивая гранулярный контроль трафика непосредственно на входящих интерфейсах.
Основные сценарии использования:
- Блокировка трафика с конкретных MAC- или IP-адресов на уровне порта доступа
- Фильтрация по типу протокола (блокировка ARP, ICMP или других протоколов)
- Маркировка трафика значениями DSCP/CoS для приоритизации QoS
- Ограничение доступа по расписанию с использованием временных диапазонов
- Перенаправление трафика на определенные порты или зеркалирование для мониторинга
Применение ACL непосредственно на портах доступа позволяет снизить нагрузку на ядро сети и предотвратить распространение нежелательного трафика на ранних этапах.
Необходимые условия и предварительные требования
Для настройки Port Based ACL требуется:
- Привилегированный доступ к CLI коммутатора (уровень Privileged EXEC)
- Версия ПО: v1.0.2 и выше (серия CIT L3200)
- Понимание структуры сети и требований политики безопасности
- Настроенные VLAN и физические интерфейсы, к которым будут применяться списки фильтрации
- Настроенный NTP-сервер для точной синхронизации времени (при использовании time-based ACL)
Примечание: Списки фильтрации применяются в аппаратном ASIC, обеспечивая обработку на скорости передачи данных без задержек. Максимальное количество одновременно применяемых списков к одному интерфейсу ограничено возможностями оборудования.
Назначение команд конфигурации
| Команда | Режим | Назначение |
|---|---|---|
filter-list <10-19> name <NAME> |
Global config | Создает список фильтрации L2 (MAC/EtherType) с именем |
filter-list <1000-2999> name <NAME> |
Global config | Создает список фильтрации L3 (IPv4) с именем |
filter <ID> src-mac <MAC> src-mask <MASK> dst-mac <MAC\|any> dst-mask <MASK\|any> |
Filter-list config | Определяет правило фильтрации по MAC-адресам |
filter <ID> mac any any eth-type <TYPE> |
Filter-list config | Определяет правило фильтрации по EtherType |
filter <ID> ip <SRC-IP/MASK\|any> <DST-IP/MASK\|any> |
Filter-list config | Определяет правило фильтрации по IP-адресам |
filter <ID> action <permit\|deny> |
Filter-list config | Задает действие для правила (разрешить/запретить) |
filter <ID> action dscp <VALUE> |
Filter-list config | Маркирует пакеты значением DSCP для QoS |
filter <ID> time-range <ID> |
Filter-list config | Привязывает правило к временному диапазону |
interface <TYPE> <ID> |
Global config | Переход в режим настройки интерфейса |
filter-list in <ID\|name <NAME>> |
Interface config | Применяет список фильтрации на входящий трафик интерфейса |
vlan <ID> |
Global config | Переход в режим настройки VLAN |
time-range list <ID> |
Global config | Создает временной диапазон для time-based ACL |
time-range <ID> everyday <HH:MM:SS> to <HH:MM:SS> |
Time-range config | Определяет ежедневный временной интервал |
Правила обрабатываются последовательно сверху вниз, поэтому порядок имеет критическое значение — более специфичные правила должны располагаться выше общих.
Пример конфигурирования
Пошаговые инструкции
Шаг 1: Создание L2 ACL для блокировки конкретного MAC-адреса
Switch>enable
Switch#configure
Переход в режим глобальной конфигурации.
Шаг 2: Определение списка фильтрации уровня L2
Switch(config)#filter-list 10 name MAC_ACL_MIN
Switch(configure-filter-l2-10)#
Создается список фильтрации с номером 10 (диапазон 10-19 для L2) и именем MAC_ACL_MIN.
Шаг 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
Switch(configure-filter-l2-10)#filter 10 action deny
Правило блокирует все пакеты от MAC-адреса AA:BB:CC:DD:EE:FF независимо от получателя.
Шаг 4: Добавление разрешающего правила по умолчанию
Switch(configure-filter-l2-10)#filter 100 mac any any
Switch(configure-filter-l2-10)#filter 100 action permit
Switch(configure-filter-l2-10)#exit
Правило с приоритетом 100 разрешает весь остальной трафик (implicit permit).
Шаг 5: Применение списка к физическому интерфейсу
Switch(config)#interface 10gigaethernet 1/0/1
Switch(config-10ge1/0/1)#filter-list in 10
Switch(config-10ge1/0/1)#exit
Список фильтрации 10 применяется на входящий трафик интерфейса 10GE 1/0/1.
Шаг 6: Создание L3 ACL для блокировки подсети
Switch(config)#filter-list 1001 name IPV4_ACL_MIN
Switch(configure-filter-ipv4-1001)#filter 10 ip 192.0.2.0/24 any
Switch(configure-filter-ipv4-1001)#filter 10 action deny
Switch(configure-filter-ipv4-1001)#filter 100 ip any any
Switch(configure-filter-ipv4-1001)#filter 100 action permit
Switch(configure-filter-ipv4-1001)#exit
Создается IPv4 ACL (диапазон 1000-2999), блокирующий подсеть 192.0.2.0/24 и разрешающий остальной трафик.
Шаг 7: Применение IPv4 ACL к интерфейсу
Switch(config)#interface 10gigaethernet 1/0/1
Switch(config-10ge1/0/1)#filter-list in 1001
Switch(config-10ge1/0/1)#exit
Список 1001 применяется к тому же интерфейсу — коммутатор обрабатывает L2 и L3 ACL одновременно.
Шаг 8: Блокировка 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-пакеты независимо от MAC-адресов отправителя и получателя.
Шаг 9: Создание временного диапазона для time-based ACL
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.
Шаг 10: Создание 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 100 mac any any
Switch(configure-filter-l2-12)#filter 100 action permit
Switch(configure-filter-l2-12)#exit
Блокировка MAC-адреса действует только в указанные часы — правило привязывается к time-range после создания.
Шаг 11: Применение ACL к VLAN
Switch(config)#vlan 2
Switch(vlan-2)#filter-list in 10
Switch(vlan-2)#exit
Список фильтрации применяется ко всем портам VLAN 2.
Шаг 12: Маркировка трафика для QoS
Switch(config)#filter-list 1002 name QOS_ACL_DSCP_MIN
Switch(configure-filter-ipv4-1002)#filter 10 ip any any
Switch(configure-filter-ipv4-1002)#filter 10 action dscp ef
Switch(configure-filter-ipv4-1002)#filter 100 ip any any
Switch(configure-filter-ipv4-1002)#filter 100 action permit
Switch(configure-filter-ipv4-1002)#exit
Switch(config)#interface 10gigaethernet 1/0/1
Switch(config-10ge1/0/1)#filter-list in 1002
Switch(config-10ge1/0/1)#exit
Весь IPv4-трафик маркируется значением DSCP EF (Expedited Forwarding) для высокого приоритета.
Полный вывод выполненных конфигураций
Команды для 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
filter-list 1001 name IPV4_ACL_MIN
filter 10 ip 192.0.2.0/24 any
filter 10 action deny
filter 100 ip any any
filter 100 action permit
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
time-range list 1
name WORKHOURS
time-range 1 everyday 09:00:00 to 18:00:00
exit
filter-list 12 name MAC_TIME_BASED
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
filter-list 1002 name QOS_ACL_DSCP_MIN
filter 10 ip any any
filter 10 action dscp ef
filter 100 ip any any
filter 100 action permit
exit
interface 10gigaethernet 1/0/1
filter-list in 10
filter-list in 1001
filter-list in 11
filter-list in 12
filter-list in 1002
exit
interface 10gigaethernet 1/0/2
filter-list in 10
exit
vlan 2
filter-list in 10
exit
end
Вывод show running-config:
!
time-range list 1
name WORKHOURS
time-range 1 everyday 09:00:00 to 18:00:00
!
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
filter-list 12 name MAC_TIME_BASED
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 1001 name IPV4_ACL_MIN
filter 10 ip 192.0.2.0/24 any
filter 10 action deny
filter 100 ip any any
filter 100 action permit
filter-list 1002 name QOS_ACL_DSCP_MIN
filter 10 ip any any
filter 10 action dscp ef
filter 100 ip any any
filter 100 action permit
!
vlan 2
filter-list in name MAC_ACL_MIN
!
Изучение состояния устройства
Просмотр конфигурации
Проверка применения списков к интерфейсам:
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
12 10ge1/0/1 In MAC_TIME_BASED
1001 10ge1/0/1 In IPV4_ACL_MIN
1002 10ge1/0/1 In QOS_ACL_DSCP_MIN
Обратите внимание на столбцы:
Filter-list— номер списка фильтрацииInterface— интерфейс или VLAN, к которому применен списокDir— направление (In для входящего трафика)Name— имя списка
Просмотр параметров работы
Детальный просмотр правил списка фильтрации:
Switch#show filter-list 1001
filter-list 1001 name IPV4_ACL_MIN filter 2 <---- количество правил в списке
filter-list 1001 name IPV4_ACL_MIN
filter 10 ip 192.0.2.0/24 any
filter 10 action deny <---- блокировка подсети
filter 100 ip any any
filter 100 action permit <---- разрешение остального трафика
Проверка временных диапазонов:
Switch#show time-range list 1
name WORKHOURS
time-range 1 everyday 09:00:00 to 18:00:00 <---- активен ежедневно
Просмотр статистики срабатывания правил:
Switch#show filter-list statistic
Команда отображает счетчики пакетов, обработанных каждым правилом (при настройке action counter).
Рекомендации выполнения команд и настроек
- Планирование номеров списков
- Используйте диапазон 10-19 для L2 ACL (MAC, EtherType)
- Используйте диапазон 1000-2999 для IPv4 ACL
- Резервируйте номера для категорий (например, 10-12 для безопасности, 13-15 для QoS)
- Порядок правил
- Размещайте специфичные правила (deny) перед общими правилами (permit)
- Завершайте каждый список разрешающим правилом с приоритетом 100, чтобы избежать неявного deny all
- Избегайте дублирования правил между разными списками на одном интерфейсе
- Применение к интерфейсам
- К одному физическому интерфейсу можно применить несколько списков разных типов (L2 + L3)
- ACL применяются только на входящий трафик (направление In)
- Применение к VLAN действует на все порты этого VLAN одновременно
- Time-based ACL
- Синхронизируйте время коммутатора с NTP-сервером для корректной работы временных диапазонов
- Используйте time-based ACL для ограничения доступа вне рабочих часов
- Убедитесь, что правило создано до привязки временного диапазона
- Тестирование и отладка
- Проверяйте применение командой
show filter-list interfaceперед активацией на продакшн - Используйте action counter для мониторинга количества заблокированных пакетов
- Тестируйте ACL на непродакшн-интерфейсе перед массовым развертыванием
- Проверяйте применение командой
- Производительность
- ACL обрабатываются в аппаратном ASIC без снижения пропускной способности
- Минимизируйте количество правил для упрощения управления
- Используйте маски для группировки адресов вместо множественных правил
История возникновения команды
Команды в данной главе применимы для:
- Аппаратных платформ CIT серии L3200 с установленной версией ПО v1.0.2 и выше
- Являются актуальными с версии ПО v1.0.2
Функциональность Port Based ACL была введена в базовой версии ПО v1.0.2 как основной механизм контроля доступа для коммутаторов серии L3200.
Ссылка на внешнюю документацию
Дополнительные сведения о концепциях списков контроля доступа доступны в документации Cisco "Configuring IP ACLs" и HPE Aruba "General steps for planning and configuring ACLs". При возникновении вопросов обратитесь к технической поддержке.