Skip to content

Настройка 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).


Рекомендации выполнения команд и настроек

  1. Планирование номеров списков
    • Используйте диапазон 10-19 для L2 ACL (MAC, EtherType)
    • Используйте диапазон 1000-2999 для IPv4 ACL
    • Резервируйте номера для категорий (например, 10-12 для безопасности, 13-15 для QoS)
  2. Порядок правил
    • Размещайте специфичные правила (deny) перед общими правилами (permit)
    • Завершайте каждый список разрешающим правилом с приоритетом 100, чтобы избежать неявного deny all
    • Избегайте дублирования правил между разными списками на одном интерфейсе
  3. Применение к интерфейсам
    • К одному физическому интерфейсу можно применить несколько списков разных типов (L2 + L3)
    • ACL применяются только на входящий трафик (направление In)
    • Применение к VLAN действует на все порты этого VLAN одновременно
  4. Time-based ACL
    • Синхронизируйте время коммутатора с NTP-сервером для корректной работы временных диапазонов
    • Используйте time-based ACL для ограничения доступа вне рабочих часов
    • Убедитесь, что правило создано до привязки временного диапазона
  5. Тестирование и отладка
    • Проверяйте применение командой show filter-list interface перед активацией на продакшн
    • Используйте action counter для мониторинга количества заблокированных пакетов
    • Тестируйте ACL на непродакшн-интерфейсе перед массовым развертыванием
  6. Производительность
    • 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". При возникновении вопросов обратитесь к технической поддержке.