Найти в Дзене
Building networks for everyone

Списки контроля доступа (Access Control List, ACL) на коммутаторах D-Link

Списки управления доступом (ACL) — это механизм фильтрации сетевого трафика, который обеспечивает высокую производительность благодаря обработке пакетов на аппаратном уровне. Они позволяют администраторам: Принцип работы ACL:
ACL представляет собой упорядоченный набор правил. Каждое правило
сравнивает параметры пакета с заданными критериями и выполняет одно из
действий: Permit (Разрешить) или Deny (Запретить). ACL в D-Link делятся на три основные группы, которые, в свою очередь, имеют подтипы: Каждому ACL назначается уникальное имя и номер. Для каждого типа списка зарезервирован свой диапазон номеров: Если указать только имя, системе автоматически назначит наибольший свободный номер из соответствующего диапазона. Каждый ACL состоит из пронумерованных правил. Для указания диапазона адресов используется инверсная маска (wildcard mask). Биты адреса, соответствующие единицам в маске, игнорируются, а соответствующие нулям — проверяются. После создания ACL необходимо применить к интерф
Оглавление

Списки управления доступом (ACL) — это механизм фильтрации сетевого трафика, который обеспечивает высокую производительность благодаря обработке пакетов на аппаратном уровне.

Они позволяют администраторам:

  • Ограничивать типы приложений, разрешённых в сети.
  • Контролировать доступ пользователей и устройств, к которым они могут подключаться.
  • Определять политики QoS путём классификации трафика и изменения его приоритета.

Принцип работы ACL:
ACL представляет собой упорядоченный набор правил. Каждое правило
сравнивает параметры пакета с заданными критериями и выполняет одно из
действий: Permit (Разрешить) или Deny (Запретить).

ACL в D-Link делятся на три основные группы, которые, в свою очередь, имеют подтипы:

  1. Стандартные ACL (Standard ACL)
    Standard IP ACL
    Standard IPv6 ACL
  2. Расширенные ACL (Extended ACL)
    Extended MAC ACL
    Extended IP ACL
    Extended IPv6 ACL
  3. Экспертные ACL (Expert ACL)

Идентификаторы ACL

Каждому ACL назначается уникальное имя и номер.

Для каждого типа списка зарезервирован свой диапазон номеров:

  • стандартные списки доступа IP: 1—1999
  • расширенные списки доступа IP: 2000—3999
  • расширенные списки доступа MAC: 6000—7999
  • экспертные списки доступа: 8000—9999
  • стандартные списки доступа IPv6: 11000—12999

Если указать только имя, системе автоматически назначит наибольший свободный номер из соответствующего диапазона.

Правила внутри ACL

Каждый ACL состоит из пронумерованных правил.

  • Автоматическая нумерация: Если номер не указан, первому правилу присваивается номер 10, а каждому следующему — номер, увеличенный на 10 (20, 30 и т.д.). Это позволяет вставлять новые правила между существующими.
  • Ручная нумерация:
    Рекомендуется задавать номера вручную с интервалом (например, 10, 20,
    30), чтобы оставить запас для будущих правил. Номер правила должен быть
    уникальным в пределах своего ACL.
  • Изменение нумерации: Команда access-list resequence позволяет изменить начальный номер и шаг для правил в существующем ACL.

Критерии фильтрации

  • Standard IP ACL: Фильтрация только по IP-адресу источника и назначения.
  • Extended IP ACL: Фильтрация по IP-адресам, портам, протоколам, полям ToS/DSCP и другим параметрам.
  • Extended MAC ACL: Фильтрация по MAC-адресам, VLAN, Ethertype и приоритету CoS.

Для указания диапазона адресов используется инверсная маска (wildcard mask). Биты адреса, соответствующие единицам в маске, игнорируются, а соответствующие нулям — проверяются.

Применение ACL

После создания ACL необходимо применить к интерфейсу (порту) коммутатора, указав направление трафика:

  • in — для входящего трафика.
  • out — для исходящего трафика.

Важные ограничения:

  • На один интерфейс можно применить только один ACL каждого типа (например, один IP ACL и один MAC ACL одновременно).
  • Новое применение ACL к интерфейсу перезаписывает предыдущие настройки.
  • Применение ACL расходовать ресурсы коммутатора. Если ресурсов или свободных портов недостаточно, операция завершится ошибкой.

Пример настройки

В этом примере показано создание четырёх записей для расширенного IP ACL с именем Strict-Control, которые:

  • разрешают TCP-пакеты в сеть 10.20.0.0;
  • разрешают TCP-пакеты на хост 10.100.1.2;
  • разрешают все TCP-пакеты на 80-й порт назначения;
  • разрешают все ICMP-пакеты.
Switch# configure terminal
Switch(config)# ip access-list extended Strict-Control
Switch(config-ip-ext-acl)# permit tcp any 10.20.0.0 0.0.255.255
Switch(config-ip-ext-acl)# permit tcp any host 10.100.1.2
Switch(config-ip-ext-acl)# permit tcp any any eq 80
Switch(config-ip-ext-acl)# permit icmp any any
Switch(config-ip-ext-acl)#

А в этом примере показано создание двух записей для стандартного IP ACL с именем "std-acl", которые:

  • разрешают IP-пакеты в сеть 10.20.0.0;
  • разрешают IP-пакеты на хост 10.100.1.2
Switch# configure terminal
Switch(config)# ip access-list std-acl
Switch(config-ip-acl)# permit any 10.20.0.0 0.0.255.255
Switch(config-ip- acl)# permit any host 10.100.1.2
Switch(config-ip- acl)#

В этом примере показано, как применить IP ACL "Strict-Control" на
интерфейсе Ethernet 1/0/2. Отдельно можно указать направление: в качестве входящего или исходящего фильтра (in или out). Если направление не указано, используется in (входящий трафик).

Switch# configure terminal
Switch(config)# interface ethernet 1/0/2
Switch(config-if)# ip access-group Strict-Control

И еще пример.

Схема сети
Схема сети

Задача: Разрешить ping до шлюза по умолчанию (192.168.1.1) только с рабочей станции администратора (192.168.1.3). Весь остальной трафик на шлюз разрешён, кроме ICMP-запросов с других узлов.

Решение: Настраивается расширенный ACL со следующими правилами:

  1. Permit: Разрешить ICMP с host 192.168.1.3 на host 192.168.1.1
  2. Deny: Запретить ICMP с любого адреса (any) на host 192.168.1.1
Switch# configure terminal
Switch(config)# ip access-list extended ext_ping 2010
Switch(config-ip-ext-acl)# permit icmp host 192.168.1.3 host 192.168.1.1
Switch(config-ip-ext-acl)# deny icmp any host 192.168.1.1
Switch(config-ip-ext-acl)# exit
Switch(config)# interface range ethernet 1/0/1-24
Switch(config-if-range)# ip access-group ext_ping in
Switch(config-if-range)# end

Проверить выполненные настройки можно при помощи команд:

Switch# show access-list
Switch# show access-list ip ext_ping
Switch# show access-group