14 KiB
16. Фильтр: ACL и пулы — запуск трафика на обработку
← Оглавление · ← Раздел 15: Фильтр: настройка интерфейсов и общих параметров
Чтобы фильтр начал обрабатывать трафик, необходимо выполнить два действия: создать пул и привязать к нему ACL. Без этих настроек — какие бы DPI-листы ни были сконфигурированы — весь трафик будет прозрачно пропускаться через устройство без какой-либо обработки.
Это одна из ключевых стадий в пути прохождения пакета через фильтр (подробнее — в разделе 5.1): IP-пакет должен попасть в ACL и в пул, чтобы далее передаваться на обработку движком DPI.
Важно: при заводской (дефолтной) конфигурации фильтра пулы и ACL отсутствуют. Их необходимо создать вручную при первоначальной настройке.
16.1. Создание ACL: create acl, правила (allow/deny), протоколы, source/destination, VLAN
ACL (Access Control List) — это набор правил, определяющих, какой трафик подлежит обработке. Изначально на фильтре нет ни одного ACL — его нужно создать.
Создание и переход в ACL
| Действие | Команда | Пример |
|---|---|---|
| Создать ACL | create acl <имя> |
create acl aclfake |
| Перейти в ACL | go to acl<имя> |
go to aclaclfake |
| Удалить ACL | no acl <имя> |
no acl aclfake |
Обратите внимание: команда перехода
go to acl<имя>пишется слитно —aclaclfake, а неacl aclfake. Здесьacl— это часть пути, аaclfake— название списка.
Создание правил
Внутри ACL создаются правила, каждое из которых определяет, какой трафик разрешить (allow) или запретить (deny) для обработки:
<номер> allow|deny <протокол> <source> <destination> [vlan <N>|<N-M>]
Структура правила:
| Элемент | Описание | Примеры |
|---|---|---|
| Номер | Порядковый номер правила (рекомендуется с зазором: 10, 20, 30) | 10, 20, 30 |
| Действие | allow (или permit) / deny — разрешить или запретить |
allow, deny |
| Протокол | IP, TCP, UDP, ICMP и др. | ip, tcp, udp |
| Source | Источник: хост, подсеть или any (любой) |
any, 10.0.0.0/8, host 1.2.3.4 |
| Destination | Назначение: хост, подсеть или any |
any, 192.168.0.0/16 |
| VLAN | Номер или диапазон VLAN (необязательно) | vlan 100, vlan 100-200 |
Ключевые слова allow и permit — синонимы, можно использовать любое из них.
Поведение VLAN по умолчанию
Если номер VLAN не указан, правило автоматически применяется ко всем VLAN (0–4095). Это поведение по умолчанию подходит для большинства сценариев в проекте ТСПУ.
При необходимости можно указать:
- конкретный VLAN:
vlan 100 - диапазон VLAN:
vlan 100-200
Управление правилами
| Действие | Команда |
|---|---|
| Удалить правило | no <номер> |
| Просмотреть ACL | ls (в контексте ACL) |
Номера правил рекомендуется задавать с зазором (10, 20, 30...) — это позволяет вставлять новые правила между существующими без перенумерации.
Типовой ACL для проекта ТСПУ
В проекте ТСПУ, как правило, используется простейший ACL, пропускающий весь IP-трафик на обработку:
create acl aclfake
go to aclaclfake
10 allow ip any any
apply
Правила обрабатываются по порядку номеров — первое совпавшее правило определяет судьбу пакета. Это аналогично работе ACL на маршрутизаторах: если пакет совпал с правилом allow, он направляется в пул; если с правилом deny — прозрачно пропускается мимо пула.
16.2. Создание пула: create pool, тип = fake (без NAT)
Пул — логическая сущность, в которую попадает трафик, отобранный ACL, для дальнейшей обработки. В проекте ТСПУ тип пула всегда должен быть fake.
Создание пула
create pool poolfake
go to poolpoolfake
Тип пула: fake
| Тип пула | Описание | Применение в ТСПУ |
|---|---|---|
| fake | «Фейковый» пул — трансляция адресов не выполняется: что пришло, то и ушло | Всегда |
| Другие типы | Реальная трансляция адресов (NAT) | Не используется |
Тип fake означает, что фильтр не изменяет IP-адреса в проходящих пакетах. Это наследие CGNAT-платформы: механизм пулов изначально создавался для трансляции адресов, но в проекте ТСПУ трансляция не нужна. Тем не менее пул должен быть создан — без него трафик не попадёт на обработку DPI.
Минимальные настройки пула
| Параметр | Значение | Описание |
|---|---|---|
| type | fake |
Тип пула — без трансляции адресов |
| enable | Включён | Пул должен быть активен |
| acl | <имя ACL> |
Привязка ACL к пулу |
Этих трёх настроек достаточно для запуска трафика на обработку.
16.3. Привязка ACL к пулу
Привязка ACL к пулу выполняется командой acl внутри контекста пула:
go to poolpoolfake
acl aclfake
type fake
enable
apply
Именно привязка ACL к пулу определяет, какой именно трафик будет попадать на обработку DPI. Без привязанного ACL пул не будет отбирать трафик, и обработка не начнётся.
Полная последовательность создания минимальной рабочей конфигурации:
# 1. Создаём ACL
create acl aclfake
go to aclaclfake
10 allow ip any any
exit
# 2. Создаём пул и привязываем ACL
create pool poolfake
go to poolpoolfake
type fake
acl aclfake
enable
exit
# 3. Применяем и сохраняем
apply
wr
16.4. Приоритет пулов
При наличии нескольких пулов на фильтре трафик может совпасть с ACL разных пулов. В этом случае пакет попадёт в пул с наивысшим приоритетом.
| Параметр | Описание |
|---|---|
| priority | Числовое значение приоритета пула (чем выше — тем приоритетнее) |
На практике в проекте ТСПУ обычно используется один пул, поэтому настройка приоритета, как правило, не требуется. Однако при необходимости разделения трафика на разные пулы (например, для разных DPI-листов или разных политик обработки) приоритеты позволяют контролировать порядок отбора.
16.5. Connection logging в пуле
Параметр connection log в пуле управляет журналированием соединений (NAT translation log) — записью информации о каждой создаваемой сессии: какой абонент, на какой ресурс, по какому порту обращался.
| Значение | Описание |
|---|---|
| on | Журналирование соединений для данного пула включено |
| off | Журналирование отключено |
По умолчанию connection logging включён. В проекте ТСПУ этот параметр может быть как задействован, так и не использоваться — зависит от конкретной площадки и требований DevOps-команды.
Помимо connection log, в пуле присутствуют:
- Тайм-ауты — наследуются из секции
nat-defaultsпри создании пула (подробнее — в разделе 15.3). При необходимости могут быть переопределены на уровне пула; - Ограничения на пользователей (limiter) — актуальны только для NAT, в проекте ТСПУ не используются;
- Параметр PIN — по умолчанию включён, актуален для режима с трансляцией адресов. В проекте ТСПУ менять не требуется.
16.6. IPv6 в пуле
Поддержка IPv6 в пуле настраивается аналогично глобальным настройкам IPv6 (подробнее — в разделе 15.4):
| Параметр | Описание |
|---|---|
| Enable/disable | Включение или выключение обработки IPv6-трафика в данном пуле |
| Тайм-ауты | Отдельные тайм-ауты для IPv6-сессий (можно не менять) |
| Диапазон адресов | Список IPv6-адресов и VLAN для обработки |
В проекте ТСПУ IPv6 в пуле должен быть включён. По умолчанию в диапазон обработки включены все IPv6-адреса во всех VLAN — менять это значение, как правило, не требуется.
При необходимости можно:
- включить в обработку только конкретные диапазоны IPv6-адресов;
- исключить определённые диапазоны из обработки;
- полностью отключить обработку IPv6-трафика в рамках данного пула.
Диагностическая заметка: show cps показывает ноль
Если команда show cps показывает нулевое количество создаваемых сессий, одна из возможных причин — трафик не попадает в пул. Это может означать, что ACL не отбирает трафик: через фильтр могут идти гигабиты и десятки гигабит, но если пакеты не совпадают с правилами ACL привязанного пула, сессии создаваться не будут (подробнее — в разделе 18.9).
← Оглавление · ← Раздел 15: Фильтр: настройка интерфейсов и общих параметров · Раздел 17: Фильтр: настройка DPI →