Files
tspu-docs/chapters/16.md
Daniel Lavrushin 10fb7f4e18 Добавлены новые разделы:
- Раздел 22: Балансировщик: мониторинг и диагностика
- Раздел 23: Распознавание протоколов (DPI Engine)
- Раздел 24: Траблшутинг

Каждый раздел включает команды, описания и практические примеры для диагностики и мониторинга работы балансировщика и системы фильтрации.
2026-02-20 13:59:30 +01:00

14 KiB
Raw Permalink Blame History

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 (04095). Это поведение по умолчанию подходит для большинства сценариев в проекте ТСПУ.

При необходимости можно указать:

  • конкретный 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 →