Настройка списков контроля доступа (ACL) на SVI интерфейсах коммутатора
- Неавторизованный сетевой доступ между различными клиентскими сегментами VLAN.
- Высокая загрузка процессора коммутатора процессом
HLFM / Eyrie / TCAM Manager. - Ошибки компиляции списков доступа в аппаратную память:
%ACL-4-TCAMFULL: Security ACL TCAM table full. - Сброс обработки правил фильтрации с аппаратных ASIC на центральный процессор (Software Switching).
1. Аппаратная обработка ACL на коммутаторах L3 (VACL vs RACL)
На многоуровневых коммутаторах (Cisco Catalyst, Nexus) списки доступа на SVI (Router ACL — **RACL**) компилируются в аппаратную ассоциативную память (**TCAM**). Это позволяет проверять правила безопасности на полной скорости портов (Wire Speed) без задержек и участия CPU.
2. Создание структурированного расширенного списка доступа
ip access-list extended ACL_PROTECT_SVI_SERVERS
remark === 1. Allow Established TCP Connections ===
permit tcp any any established
remark === 2. Allow Essential Infrastructure Services ===
permit udp 192.168.10.0 0.0.0.255 host 192.168.1.10 eq domain
permit udp 192.168.10.0 0.0.0.255 host 192.168.1.11 eq ntp
remark === 3. Allow Specific Web Access to DMZ ===
permit tcp 192.168.10.0 0.0.0.255 172.16.0.0 0.0.0.255 eq 443
remark === 4. Explicit Deny with Logging (Logging uses CPU!) ===
deny ip 192.168.10.0 0.0.0.255 10.0.0.0 0.255.255.255
permit ip any any3. Применение ACL к виртуальному интерфейсу SVI
interface Vlan10
description === Users Accounting Subnet ===
ip address 192.168.10.1 255.255.255.0
! Применение на входящий трафик (рекомендуется)
ip access-group ACL_PROTECT_SVI_SERVERS in4. Мониторинг утилизации памяти TCAM
! Проверка доступных ресурсов TCAM под ACL
show platform hardware capacity tcam
! Или на старых Catalyst:
show platform tcam utilization
! Проверка счетчиков совпадений правил в аппаратуре
show ip access-lists ACL_PROTECT_SVI_SERVERS5. Оптимизация правил для экономии TCAM
Избегайте использования диапазонов портов (например, `range 1024 65535`), так как каждый диапазон требует создания множества дополнительных аппаратных масок (LOU registers). Объединяйте подсети битовыми масками вместо десятков одиночных `/32` строк.
Частые вопросы (FAQ)
В чем разница между RACL (на SVI) и VACL (VLAN Access Map)?
RACL применяется к интерфейсу SVI и фильтрует только маршрутизируемый трафик между разными VLAN (L3). VACL фильтрует абсолютно весь трафик внутри одного VLAN, включая локальный L2-обмен между хостами.
Почему использование опции 'log' в ACL на свитчах может положить сеть?
Опция 'log' заставляет аппаратный ASIC пересылать копию каждого совпавшего пакета на центральный процессор коммутатора для формирования текстового сообщения. При сканировании или DDoS это вызывает 100% CPU lockup.
Что произойдет, если память TCAM переполнится при добавлении нового ACL?
В зависимости от платформы коммутатор либо откажется применить ACL (ошибка commit), либо начнет пересылать не поместившийся в TCAM трафик на обработку центральному процессору (Process Switching).
Работает ли стандартный ACL на egress-направлении SVI интерфейса?
Да, команда 'ip access-group <NAME> out' поддерживается, но потребляет больше аппаратных ресурсов TCAM на ряде чипсетов, поэтому фильтрацию рекомендуется настраивать максимально близко к источнику (Ingress).