ACL (Access Control List) это инструмент фильтрации трафика в виде упорядоченного набор правил, который основывается на определённых критериях с целью обеспечения безопасности и управления потоками данных.
На устройствах серии LTP-N и LTX функционал ACL был переработан. Форма представления правил фильтрации была упрощена относительно предыдущих моделей LTP-X, однако их старая форма представления осталась логически прозрачной для новых устройств, что делает конфигурацию в области ACL авто-конвертируемой и упрощает перенос настроек с предыдущих моделей на LTP-N; LTX.
Функционал ACL можно разделить на 2 основных типа по уровню взаимодействия систем - L2 и L3.
Layer 2
Для фильтрации на канальном уровне предусмотрен MAC access-list. Он поддерживает следующие критерии фильтрации :
- Src MAC - MAC адрес источника
- Dst MAC - MAC адрес назначения
- VLAN - Тэг в заголовке vlan
- COS - метка CoS согласно стандарту 802.1p
- Ethertype - тип сетевого протокола
Layer 3
Для фильтрации пакетов данных на сетевом уровне предусмотрен access-list IP. В него входят :
- Src MAC - MAC адрес источника
- Dst MAC - MAC адрес назначения
- VLAN - Тэг в заголовке vlan
- COS - метка CoS согласно стандарту 802.1p
- Ethertype - идентификатор протокола вышестоящего уровня
- Src IP - IP адрес источника
- Dst IP - IP адрес назначения
- DSCP - метка QoS
- Precedence - приоритет в DS Field
- Proto ID - идентификатор протокола транспортного уровня
- Src port - порт источника, который использует протокол на транспортном уровне
- Dst port - порт назначения, который использует протокол на транспортном уровне
Access-list IP является более универсальным и поддерживает широкий список правил, в который, в том числе, входят правила уровня L2.
Такая возможность предусмотрена для гибридной фильтрации трафика на обоих уровнях в рамках одного листа.
Если требуется фильтровать трафик только на канальном уровне, то рекомендуем использовать MAC access-list.
Настройка
Оба типа ACL работают по двум основным принципам: black list и white list.
В первом случае формируются правила запрета прохождения кадров на основе одного или нескольких критериев. Весь трафик, не подпадающий под логику запрещающих правил, будет пропущен.
Во втором случае формируется список разрешающих правил и трафик, не подпадающий под логику этого списка, будет отброшен.
Рассмотрим несколько примеров настройки.
Задача №1: Запретить прохождение PPPoE в сервисном vlan IPoE. Пусть тэг vlan равен 234.
Решение - сформируем black list на основе ethertype и vlan:
access-list mac noPPP
deny any any vlan 234 ethertype 0x8863 0xFFFF index 1
deny any any vlan 234 ethertype 0x8864 0xFFFF index 2
Маска 0x0000 равнозначна any. Маска 0xFFFF соответствует одному конкретному ethertype.
Затем назначим его на pon-port :
interface pon-port 1
access-list mac "noPPP"
Любой вид ACL применим только ко входящему трафику. Если требуется запретить прохождение определенных пакетов в обе стороны, то такой лист нужно назначить как на uplink, так и на downlink интерфейсы.
Задача №2: Разрешить трафик из сетей 1.1.1.0 - 3.3.3.0/24 в сеть 5.0.0.0/8
Решение - сформировать white list на основе IP-адресов источника и назначения:
access-list ip whiteListIp
permit any 1.1.1.0 255.255.255.0 5.0.0.0 255.0.0.0 index 1
permit any 2.2.2.0 255.255.255.0 5.0.0.0 255.0.0.0 index 2
permit any 3.3.3.0 255.255.255.0 5.0.0.0 255.0.0.0 index 3
deny any any any index 4
Для формирования белого листа последним индексом всегда должно быть глобальное запрещающее правило.
Затем назначим его на pon-port :
interface pon-port 1
access-list ip "whiteListIp"
access-list mac "noPPP"
На один интерфейс можно назначить по одному ACL каждого типа (MAC access-list и access-list IP).
Задача №3: Запретить прохождения трафика для протоколов RPC , SSDP и mDNS.
Решение - сформировать black list на основе порта назначения протокола транспортного уровня. Правила будут выглядеть так:
access-list ip NoRpcSsdpmDns
deny udp any any any 135 index 1
deny udp any any any 1900 index 2
deny udp any any any 5353 index 3
Затем назначим его на pon-port :
interface pon-port 1
access-list ip "NoRpcSsdpmDns"
access-list mac "noPPP"