Настройка ACL для трафика управления на коммутаторах

12.12.2024 16:44

Access list (ACL) или список контроля доступа - это базовый, но очень полезный и универсальный инструмент при настройке сетевого оборудования. Он представляет собой набор определенных правил, определенных администратором,  по которым устройство фильтрует проходящий через него трафик, пропускает или отбрасывает пакеты на основе указанных в ACL условий. Эти правила могут учитывать различные параметры трафика, такие как MAC или IP-адреса назначения и отправителя, протокол, порт и другие. На основании этого ACL могут делиться на несколько групп:

  • L2 ACL фильтруют трафик по MAC-адресам отправителя и/или назначения, а также протоколу уровня коммутации (второй уровень модели OSI). Если правило L2 ACL требует отбрасывать определенный пакет, его MAC-адрес источника  не будет изучен коммутатором.
  • IPv4 ACL фильтруют трафик по IP-адресам источника и назначения, протоколу сетевого уровня уровня (третий уровень OSI) или номеру порта TCP или UDP.
  • IPv6 ACL обрабатывают IPv6-адреса, протоколы и номера портов TCP/UDP.
  • Hybrid ACL – гибридные правила, которые могут работать как с полями заголовка L2 фрейма, так и с атрибутами заголовка IP-пакета.
  • User defined ACL - это правила, определяемые пользователем за счет сравнения выделенной маской последовательности байт из заголовка пакета с заданной пользователем строкой. Такие правила могут сравнивать до 64 первых байт Ethernet фрейма.

Можно классифицировать ACL по направлению (входящий и исходящий трафик) и по интерфейсу, к которому они применяются (физический порт и VLAN).

Как говорилось ранее, каждый ACL - это фильтр на основании списка правил. Каждый ACL имеет как минимум одно правило для сравнения. В случае, если правил несколько, они будут применяться по очереди от первого к последнему. Если пакет совпал с условием одного правила, то последующими правилами он не обрабатывается.

Рассмотрим пример создания на коммутаторе серии ISCOM S2600 ACL на трафик управления для ограничения возможности подключения случайных пользователей. Для этого разрешим доступ к коммутатору по telnet только с заранее выбранного IP-адреса.

В данном примере, удаленное управление коммутатором работает через VLAN 10, в нем коммутатор имеет IP-адрес 192.168.10.1. Необходимо ограничить возможность подключения по telnet (TCP порт 23) к этому IP-адресу для всех пользователей, кроме администратора со статическим адресом 192.168.10.155.

Создадим IPv4 ACL:

raisecom(config)#acl-ipv4 1001 name managment

raisecom(configure-acl-ipv4-1001)#

В нем создадим первое правило, разрешающее доступ с выбранного IP-адреса, в нём укажем адрес назначения (IP коммутатора), адрес источника (администратора), протокол и порт назначения (telnet работает на tcp 23):

raisecom(configure-acl-ipv4-1001)#rule 1 tcp dst-ip 192.168.10.1/32 src-ip 192.168.10.155/32 dst-port 23

Разрешаем трафик с такими параметрами:

raisecom(configure-acl-ipv4-1001)#rule 1 action permit

Теперь создадим правило, запрещающее весь трафик telnet на адрес управления коммутатором:

raisecom(configure-acl-ipv4-1001)#rule 2 tcp dst-ip 192.168.10.1/32 dst-port 23

raisecom(configure-acl-ipv4-1001)#rule 2 action deny

Трафик управления администратора будет соответствовать первому правилу и не будет обрабатываться дальнейшими. А весь остальной трафик telnet будет запрещаться вторым правилом.

Осталось только применить ACL на нужном интерфейсе. В нашем случае это VLAN 10:

raisecom(config)#vlan 10

raisecom(config-vlan-10)#acl-ipv4 in 1001

Помимо классического IPv4 ACL, для решения этой задачи можно также воспользоваться функцией management-ACL. Это упрощенный вариант IPv4 ACL, использующийся только для фильтрации трафика управления:

raisecom(config)#management-acl start

raisecom(config)#management-acl src-ip 192.168.10.155/32 protocol telnet action permit

raisecom(config)#management-acl src-ip any protocol telnet action deny

Как видно, management ACL настроить значительно проще и удобнее. Тем не менее, отметим, что в общем случае классические ACL позволяют решать гораздо более широкий спектр задач, что будет рассмотрено в будущих статьях.