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

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

30 KiB
Raw Blame History

17. Фильтр: настройка DPI

← Оглавление · ← Раздел 16: Фильтр: ACL и пулы


Модуль DPI (Deep Packet Inspection) — ключевая подсистема фильтра, отвечающая за анализ и фильтрацию трафика. Настройки DPI включают общие параметры модуля, конфигурацию работы с реестром Роскомнадзора, параметры деградации протоколов и индивидуальные настройки DPI-листов.

Примечание: формат секции DPI различается между пилотным проектом (Урал) и федеральным проектом. В пилотном проекте настройки реестра Роскомнадзора находятся внутри DPI-листа 0. В федеральном проекте они вынесены в отдельную секцию, а все DPI-листы (015) стали абсолютно идентичными по структуре.

17.1. Общие настройки модуля DPI

Общие настройки расположены в корне секции dpi конфигурации фильтра.

17.1.1. Включение/выключение DPI

Значение Поведение
enable Модуль DPI активен, трафик анализируется и обрабатывается
disable Модуль DPI выключен, весь трафик пропускается прозрачно

В рабочем режиме DPI должен быть включён. Выключение модуля DPI может использоваться для диагностики: если выключить DPI и убедиться, что фильтр больше не влияет на трафик — значит, проблема была именно в DPI-обработке.

17.1.2. Send RST off: отключение TCP Reset при блокировке протоколов

Параметр send RST off — важная настройка, определяющая поведение фильтра при блокировке распознанных протоколов.

Значение Поведение
off TCP Reset при блокировке протоколов не отправляется
on TCP Reset отправляется абоненту и серверу при блокировке

В проекте ТСПУ параметр всегда должен быть в режиме off.

Почему отправка TCP Reset опасна:

Когда приложение абонента (например, Telegram) пытается установить TCP-соединение и получает в ответ TCP Reset, оно воспринимает это как временный сбой и немедленно пытается установить новое соединение. Этот цикл повторяется непрерывно и с высокой частотой:

  1. Приложение отправляет TCP SYN;
  2. Фильтр распознаёт протокол и отправляет TCP Reset;
  3. Приложение мгновенно пытается установить новое соединение;
  4. Цикл повторяется бесконечно.

На практике наблюдались случаи, когда мобильные устройства начинали тормозить из-за того, что Telegram непрерывно пытался переустановить заблокированную сессию. Количество генерируемых сессий создаёт избыточную нагрузку на фильтр.

При отключённой отправке Reset соединение отбрасывается молча — приложение пытается установить сессию, сессия «висит» и обрывается только по тайм-ауту. Это значительно снижает количество повторных попыток и нагрузку на фильтр.

17.1.3. Functionality mode: normal (не double mirror traffic)

Значение Описание Применение в ТСПУ
normal Стандартный режим работы фильтра Всегда
double mirror traffic Режим для работы с копией (зеркалом) трафика Не используется

Параметр всегда должен быть normal. Режим double mirror traffic предназначен для сценариев, когда фильтр получает зеркалированную копию трафика, что в проекте ТСПУ не применяется.

В секции DPI также присутствует устаревшая команда extra analysis off — она не используется и не требует внимания.

17.2. Настройка реестра РКН

Секция настройки реестра Роскомнадзора определяет параметры скачивания и обработки списков блокировки, предоставляемых Роскомнадзором.

Примечание: в федеральном проекте эта секция вынесена в отдельный раздел конфигурации. В пилотном проекте (Урал) настройки находятся внутри DPI-листа 0.

17.2.1. Источник: RKN или ГРФЦ

Источник Описание
RKN Оригинальный формат выгрузки с серверов Роскомнадзора
ГРФЦ Новый формат выгрузки (оптимизированная база данных, уменьшенный объём)

Роскомнадзор предложил новый источник списков — ГРФЦ. По сравнению с оригинальным форматом RKN, база данных ГРФЦ оптимизирована и уменьшена в объёме. Рекомендуется переключаться на выгрузку с ГРФЦ.

17.2.2. Логин/пароль для доступа к серверу РКН

Для скачивания реестра с сервера Роскомнадзора требуется авторизация. Логин и пароль задаются в секции настройки реестра. Учётные данные выдаются Роскомнадзором.

17.2.3. Привязка к DPI-листу (list number)

Параметр list number определяет, к какому DPI-листу будет привязан реестр Роскомнадзора. По умолчанию — 0. В текущей конфигурации проекта ТСПУ фильтрация по реестру Роскомнадзора осуществляется в DPI-листе 0.

17.2.4. Proxy-сервер, dump server

Параметр Описание
Proxy server Промежуточный сервер для доступа к реестру РКН, если прямое соединение невозможно
Dump server Сервер, на который фильтр выгружает скачанный реестр для внешнего анализа

Proxy server используется, когда фильтр не может напрямую подключиться к серверу Роскомнадзора.

Dump server полезен для диагностики: можно получить копию того же дампа, который скачал фильтр, и проанализировать его на внешнем сервере. Фильтр скачивает реестр, а затем выгружает его на указанный dump server.

17.2.5. Проблемы скачивания: минимальная скорость ~10 Мбит/с

Сервер Роскомнадзора настроен таким образом, что разрывает соединение при низкой скорости скачивания. Эмпирически установлено, что минимальная скорость загрузки для успешного скачивания реестра составляет ~10 Мбит/с. При более низкой скорости сервер Роскомнадзора обрывает соединение через некоторое время.

Типичные причины проблем со скачиванием:

  • Недостаточная скорость management-интерфейса;
  • Ошибки на интерфейсе фильтра (в одном случае проблема решилась перезагрузкой фильтра);
  • Проблемы на стороне коммутатора или промежуточного оборудования.

При диагностике проблем скачивания следует обращать внимание на скорость и ошибки на management-интерфейсе. Команда dpi run позволяет принудительно инициировать обновление всех DPI-листов (подробнее — в разделе 18.13.4).

Примечание: запуск dpi run не гарантирует, что реестр будет скачан — сервер РКН может ответить, что обновлений нет, и в этом случае ничего скачано не будет.

17.3. Деградация протоколов (protocols capacity)

Механизм деградации протоколов позволяет частично ухудшить работу распознанного протокола вместо полной блокировки. Настройка выполняется в секции DPI для каждого протокола индивидуально.

17.3.1. Шкала 0100: 0 = полная блокировка, 100 = полный пропуск

Для каждого протокола задаётся значение capacity в условных единицах от 0 до 100:

Значение Поведение
0 Полная блокировка — ничего не пропускается
100 Полное пропускание — трафик не затрагивается
199 Деградация — дроп пакетов с заданной вероятностью

17.3.2. Дроп пакетов с заданной вероятностью

Механизм деградации работает просто: с определённой вероятностью, зависящей от параметра capacity, фильтр дропает пакеты в рамках сессии распознанного протокола. Чем ниже значение capacity, тем больше пакетов отбрасывается.

17.3.3. Эффективная деградация: 210% пропускания

На практике деградация становится заметной для пользователя только при значениях capacity в диапазоне 210. Это объясняется свойствами TCP:

  • TCP обладает встроенным механизмом повторной передачи потерянных пакетов;
  • При низкой степени деградации (высоких значениях capacity) TCP успешно компенсирует потери, и пользователь практически ничего не замечает;
  • Только при высокой степени деградации (capacity ~210) потери становятся настолько значительными, что TCP не успевает их компенсировать.

При значении capacity около 5 задержка отправки сообщений в приложениях может достигать десятков секунд.

17.3.4. Влияние на голосовые вызовы и мессенджеры

Деградация протоколов особенно эффективна для голосовых вызовов и видеозвонков, где потеря пакетов непосредственно влияет на качество:

  • Заикание голоса и пропадание звука;
  • Рассинхронизация аудио и видео;
  • Невозможность разговаривать при высокой степени деградации;
  • Для текстовых сообщений — значительные задержки доставки.

Деградация является альтернативой полной блокировке: вместо немедленного и очевидного отключения сервиса пользователь получает постепенное ухудшение качества связи.

17.4. Настройка DPI-листов (016)

На фильтре может быть настроено до 16 DPI-листов (номера 015). В будущих прошивках это количество может быть расширено — планируется возможность генерации DPI-листов по необходимости на уровне конфигурации.

Все DPI-листы имеют одинаковую структуру настроек (в федеральном проекте). Каждый лист настраивается индивидуально.

17.4.1. Enable/disable каждого листа

Каждый DPI-лист может быть включён или выключен независимо от остальных:

    dpi list <N>
        enable        ← включить лист
        disable       ← выключить лист

17.4.2. BitTorrent UTP detection

Значение Описание
on Включено распознавание протокола BitTorrent UTP
off Распознавание BitTorrent UTP выключено

Если требуется распознавание и блокировка BitTorrent, параметр должен быть включён (on).

17.4.3. WH List Mode: blacklist (по умолчанию) / whitelist

Параметр WH list mode определяет логику работы DPI-листа:

Режим Поведение Применение в ТСПУ
blacklist Всё, что совпало со списком — блокируется; остальное пропускается По умолчанию
whitelist Пропускается только совпавший трафик; всё остальное блокируется Не используется

В проекте ТСПУ режим whitelist не используется из-за риска случайной блокировки всего трафика. Этот режим применяется в других сценариях, например, при использовании BRAS-функциональности на устройстве.

17.4.4. Behavior: block / ignore / color / redirect

Параметр behavior определяет, что происходит с трафиком, совпавшим со списком данного DPI-листа:

Значение Описание Применение в ТСПУ
block Трафик блокируется (дропается) Основной рабочий режим
ignore Совпадение фиксируется и логируется, трафик пропускается Для распознавания протоколов
color Совпавший трафик «окрашивается» Не используется
redirect Трафик перенаправляется Не используется

Режим block — основной для блокировки по реестру Роскомнадзора и по очищенным протокольным спискам. При срабатывании блокировки:

  • Для HTTP: абоненту отправляется HTTP-редирект (302) на страницу-заглушку;
  • Для HTTPS: абоненту и серверу отправляется TCP Reset, разрывающий соединение (поскольку содержимое зашифровано и подмена ответа невозможна).

Режим ignore — используется для первой стадии двухстадийной блокировки: фильтр распознаёт протоколы и отправляет логи на SPFS, но сам трафик не блокирует. Данные передаются в ЦСУ для формирования очищенных списков (подробнее — в разделе 8).

Также в секции DPI-листа присутствует параметр logs on/off — включение журналирования срабатываний данного списка. В проекте ТСПУ эта функциональность, как правило, используется.

17.4.5. Redirect URL — страница-заглушка для заблокированных HTTP-ресурсов

Параметр redirect URL задаёт адрес страницы-заглушки, на которую перенаправляется абонент при блокировке HTTP-ресурса по реестру Роскомнадзора.

Типичное содержимое страницы-заглушки: уведомление абонента о том, что запрошенный ресурс заблокирован в соответствии с требованиями законодательства.

Важно: redirect URL работает только для HTTP-трафика. Для HTTPS-трафика перенаправление невозможно (содержимое зашифровано), поэтому используется TCP Reset.

Также в секции DPI-листа присутствуют параметры, связанные с redirect behavior (redirect interval и др.) — в проекте ТСПУ они не используются.

17.4.6. Download URL — источник списков, update schedule

Параметр Описание
Download URL URL, откуда фильтр скачивает список фильтрации для данного DPI-листа
Update schedule Интервал обновления списка (например, 30 минут)

Download URL задаёт источник списков для DPI-листов, не связанных с реестром Роскомнадзора (скачивание реестра РКН настраивается отдельно — см. раздел 17.2). Типичный источник — ресурс в центральной системе управления (ЦСУ), откуда загружаются очищенные протокольные списки.

Update schedule определяет частоту обновления:

Значение Поведение
Время (мин.) Список обновляется с заданным интервалом
never Список никогда не обновляется и не скачивается

Внимание: значение never — частая причина проблем. Если всё настроено корректно, но update schedule установлен в never, списки просто не будут скачиваться. Необходимо задать конкретный интервал обновления.

17.4.7. Protocols — список распознаваемых протоколов

В секции protocols каждого DPI-листа указываются протоколы, по которым будет осуществляться распознавание и последующее действие (блокировка, игнорирование и т.д.).

Список протоколов задаётся перечислением названий: Telegram, WhatsApp, Viber, BitTorrent и др. Набор поддерживаемых протоколов определяется версией прошивки фильтра.

17.4.8. No IP / IP — исключение/включение адресов для обработки

Параметры IP и No IP определяют, какой трафик подлежит обработке данным DPI-листом:

Параметр Описание
IP Подсети и адреса, которые должны обрабатываться данным DPI-листом
No IP Локальные адреса абонентов, исключённые из обработки
No IP Remote Удалённые адреса (серверы), исключённые из обработки
IPv6 / No IPv6 Аналогичные параметры для IPv6-трафика

По умолчанию параметр IP должен содержать сеть 0.0.0.0/0 для всех VLAN — тогда весь трафик, попавший в DPI, будет обрабатываться данным листом.

Использование No IP для диагностики:

Параметр No IP — ключевой инструмент траблшутинга. Чтобы проверить, влияет ли данный DPI-лист на конкретного абонента:

  1. Добавить локальный IP-адрес абонента в No IP данного DPI-листа;
  2. Выполнить apply;
  3. Проверить, изменилось ли поведение у абонента;
  4. Если приложение у абонента заработало — данный DPI-лист действительно блокировал его трафик;
  5. Если ничего не изменилось — проблема не в данном DPI-листе.

Параметр No IP Remote работает аналогично, но исключает из обработки удалённый IP-адрес (адрес сервера).

17.4.9. QUIC list

Параметр QUIC list определяет список ресурсов, для которых должен распознаваться протокол QUIC (Quick UDP Internet Connections) — протокол, разработанный Google для оптимизации доставки контента.

Фильтр умеет распознавать QUIC, но для этого необходимо внести ресурсы, которые планируется обрабатывать, в QUIC list.

17.5. Формат списков фильтрации

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

17.5.1. IP-адреса, подсети, диапазоны, URL

Поддерживаемые форматы записей в списках:

Формат Пример Описание
IP-адрес 1.2.3.4 Конкретный IP-адрес
Подсеть 10.0.0.0/8 Подсеть в CIDR-нотации
Диапазон IP 1.2.3.4-1.2.3.10 Диапазон адресов
URL http://example.com/page Конкретный URL (HTTP)
Домен example.com Домен (HTTP и HTTPS)
Домен с поддоменами *.example.com Домен и все поддомены

Если в начале URL стоит звёздочка (*), обрабатываются все протоколы (HTTP и HTTPS) и все поддомены данного домена. Если протокол не указан явно, обрабатываются и HTTP, и HTTPS.

17.5.2. HTTP: блокировка конкретного URL

Для HTTP-трафика возможна блокировка конкретного URL — вплоть до отдельной страницы. Это обусловлено тем, что при HTTP-соединении URL передаётся в открытом виде в заголовке запроса, и фильтр может его проанализировать.

Пример: запись http://example.com/specific/page.html в списке заблокирует только эту конкретную страницу, остальные страницы на example.com останутся доступными.

17.5.3. HTTPS: блокировка только по домену (SNI/Client Hello)

Для HTTPS-трафика блокировка возможна только на уровне домена. Это фундаментальное ограничение, связанное с механизмом установления HTTPS-соединения:

  1. При установлении HTTPS-соединения клиент отправляет Client Hello;
  2. В Client Hello содержится поле SNI (Server Name Indication), указывающее доменное имя сервера;
  3. Поле SNI содержит только домен (например, ru.wikipedia.org) — без пути и URL;
  4. Всё остальное содержимое HTTPS-соединения зашифровано и недоступно для анализа.

Практическое следствие: если в списке указана строка вида https://ru.wikipedia.org/wiki/Конкретная_статья, фильтр заблокирует весь домен ru.wikipedia.org целиком, а не конкретную страницу. Поле SNI не содержит пути URL, поэтому фильтр видит только домен и блокирует все обращения к нему.

Протокол Точность блокировки Причина
HTTP До конкретного URL/страницы URL виден в открытом виде в заголовке
HTTPS Только весь домен целиком В SNI (Client Hello) только домен

← Оглавление · ← Раздел 16: Фильтр: ACL и пулы · Раздел 18: Фильтр: мониторинг и диагностика →