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

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

351 lines
25 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ТСПУ: Технические средства противодействия угрозам
Полное руководство на основе [лекции по архитектуре, настройке и эксплуатации ТСПУ](https://www.youtube.com/watch?v=raNP3IMgwRU)
## Оглавление
### [1. Введение и общая архитектура АСБИ](chapters/01.md)
- 1.1. Что такое АСБИ (Автоматизированная система обеспечения безопасности интернета)
- 1.2. Закон о суверенном интернете и участники проекта (ГУП ГРЧЦ, АО ДЦА, RDP.ru)
- 1.3. Что такое ТСПУ — комплекс оборудования у операторов связи
- 1.4. Общая схема: байпасы, балансировщики, фильтры, сегмент управления
### [2. Прохождение трафика через ТСПУ](chapters/02.md)
- 2.1. Стык оператора связи: типы инкапсуляции (VLAN, QinQ, MPLS, PPPoE)
- 2.2. Разделение на LAN-порты (абоненты) и WAN-порты (интернет)
- 2.3. Простейший вариант ТСПУ (один байпас, один фильтр)
- 2.4. Типовая схема ТСПУ
### [3. Байпас (Bypass)](chapters/03.md)
- 3.1. Назначение и роль байпаса в ТСПУ
- 3.2. Байпасы Silicom (федеральный проект)
- 3.2.1. Порты: Net0/Net1 (оператор) и Mon0/Mon1 (балансировщик)
- 3.2.2. Режим Inline — основной рабочий режим
- 3.2.3. Режим TAP — копирование трафика без влияния на оператора
- 3.2.4. Режим Active Bypass — замыкание без копирования
- 3.2.5. Режим Power-off Bypass — аварийное замыкание при обесточивании
- 3.2.6. Переключение между режимами и влияние на оператора
- 3.3. Байпасы GL Sun (пилотный проект, Урал)
- 3.3.1. Отличие от Silicom: только режим Power-off Bypass
- 3.3.2. Флап линков при каждом переключении
- 3.4. Мониторинг каналов: Heartbeat-пакеты байпаса
- 3.5. Автоматическое переключение в TAP/Active Bypass при потере канала
### [4. Балансировщик (EcoFilter Balancer)](chapters/04.md)
- 4.1. Назначение: распределение трафика по фильтрам
- 4.2. Аппаратная платформа: 32-портовый, 1U, пропускная способность 3.2 Тбит/с
- 4.3. Организация портов: пары LAN/WAN, линки
- 4.3.1. Принцип чётных/нечётных портов
- 4.3.2. Жёсткая привязка: трафик возвращается в тот же линк
- 4.4. Фильтры на балансировщике (Flow rules)
- 4.4.1. Байпас служебного трафика (BGP, мультикаст, маршрутизация)
- 4.4.2. Отправка трафика на группу балансировки
- 4.5. Балансировка трафика
- 4.5.1. Хэш-сумма: source IP + destination IP + протокол
- 4.5.2. Учёт количества ядер фильтров
- 4.5.3. Дополнительный 4-байтный заголовок для фильтров
- 4.5.4. Симметричность хэша: одна сессия — один фильтр, одно ядро
- 4.6. Отказоустойчивость
- 4.6.1. Keep-alive пакеты к фильтрам
- 4.6.2. Программный байпас при потере группы портов
- 4.6.3. Перебалансировка трафика (опционально)
- 4.7. Работа с различными инкапсуляциями (VLAN, MPLS)
- 4.8. Обработка HTTP-редиректов и TCP Reset через фильтры
### [5. Фильтр (EcoFilter)](chapters/05.md)
- 5.1. Путь пакета через фильтр
- 5.1.1. Проверка: IP-пакет или нет
- 5.1.2. Проверка по ACL (привязка к пулу)
- 5.1.3. Проверка по DPI-листу (IP-подсети)
- 5.1.4. Обработка движком DPI
- 5.1.5. Решение: пропустить или заблокировать (drop)
- 5.2. Работа на уровне L2: фильтр как «прозрачный провод»
### [6. Места установки ТСПУ в сети оператора](chapters/06.md)
- 6.1. До BRAS/BPE/BNG (между абонентами и терминацией сессий)
- 6.1.1. Особенность: PPPoE-трафик
- 6.2. До CGNAT (после BRAS) — наиболее удобная точка
- 6.2.1. Видимость серых абонентских IP-адресов
- 6.3. После CGNAT (ближе к выходу в интернет)
- 6.3.1. Только белые адреса, сложности траблшутинга
- 6.4. Режим On-a-stick (BRAS/CGNAT подключены петлёй)
- 6.4.1. Двойное прохождение трафика через ТСПУ
- 6.4.2. Разделение по VLAN для обработки трафика одного направления
- 6.4.3. Проблемы двойной обработки и best practice
### [7. Эшелонированная система (ТСПУ тип Б)](chapters/07.md)
- 7.1. Назначение: обработка трафика, не прошедшего через ТСПУ тип А
- 7.2. Проблема асимметричного трафика у крупных операторов
- 7.3. Балансировщик Eco Highway
- 7.3.1. BGP-загрузка списков фильтрации из ЦСУ
- 7.3.2. Блокировка по IP-адресам на уровне балансировщика (Telegram, реестр РКН)
- 7.3.3. Фильтры в режиме On-a-stick, VLAN-разделение LAN/WAN
- 7.3.4. Фильтры занимаются только URL-фильтрацией по реестру РКН
- 7.4. Два конвейера (Pipeline) в Eco Highway
- 7.4.1. Разделение портов между конвейерами
- 7.4.2. Физическая перемычка между конвейерами
- 7.4.3. Прохождение пакета: drop / отправка на фильтр / переход на второй конвейер
- 7.4.4. Удвоение количества правил фильтрации
- 7.5. Отличия EcoFilter Balancer от Eco Highway
- 7.6. Отсутствие логирования на Eco Highway (только real-time)
- 7.7. Прозрачный пропуск трафика, уже обработанного ТСПУ тип А
### [8. Формирование протокольных списков (двухстадийная блокировка)](chapters/08.md)
- 8.1. Первый этап: распознавание протоколов на фильтрах (ТСПУ тип А)
- 8.2. Отправка логов на SPFS (сервер предварительного формирования списков)
- 8.3. Передача логов по GRPC в центральную систему управления
- 8.4. Анализ, очистка от ложных срабатываний, формирование списков
- 8.5. Загрузка очищенных списков обратно на фильтры (HTTP) и на Eco Highway (BGP)
- 8.6. Время полного цикла блокировки: ~515 минут
### [9. Центральная система управления (ЦСУ)](chapters/09.md)
- 9.1. Архитектура: две независимые площадки (основная и резервная)
- 9.2. Связь с ТСПУ через VPN (криптошлюз «Континент»)
- 9.3. Масштаб: ~350 площадок, ~5000 устройств
- 9.4. Подсистемы ЦСУ: формирование списков, мониторинг, логирование, картография
- 9.5. Новая ЦСУ для федерального проекта (замена уральской)
### [10. Сегмент управления ТСПУ](chapters/10.md)
- 10.1. Адресация: 10.<регион>.<площадка>.0/24
- 10.2. Распределение адресов: байпасы, балансировщики, BMC, фильтры, IPMI, SPFS, СПХД
- 10.3. Шлюз по умолчанию — криптошлюз «Континент»
- 10.4. Подсеть логирования (единая для всех ТСПУ)
### [11. Фильтр: аппаратная платформа](chapters/11.md)
- 11.1. Младшая линейка: EcoFilter 2020/2040
- 11.2. Старшая линейка: EcoFilter 4080/4120/4160
- 11.3. Модели 2019 года (пилотный проект, Урал)
- 11.3.1. Процессоры Intel Xeon 2695/2699, 18/22 ядра, 128/256 ГБ RAM
- 11.3.2. Фиксированные сетевые интерфейсы
- 11.4. Модели 2020 года (федеральный проект)
- 11.4.1. Процессор Intel Xeon Gold 6212, 24 ядра, 192/384 ГБ RAM
- 11.4.2. Сменные сетевые интерфейсы, 4× SFP+ лог-порта
- 11.5. Разделение интерфейсов: LAN (чётные) / WAN (нечётные)
- 11.6. История платформы: от CGNAT (2013) к DPI-фильтру
### [12. Сессии и трансляции на фильтре](chapters/12.md)
- 12.1. Понятие сессии: local IP:port + global IP:port + remote IP:port
- 12.2. Понятие трансляции: local IP:port ↔ global IP:port
- 12.3. Режим без NAT: local = global
- 12.4. Направление сессии: Egress (от абонента) / Ingress (к абоненту)
- 12.5. Принцип: локальный IP абонента всегда на первом месте
- 12.6. Связь трансляций и сессий: одна трансляция — много сессий
- 12.7. Тайм-ауты сессий и трансляций
- 12.8. Команды: `show session`, `show xl`, фильтрация по `local`/`remote`, pipe и count
### [13. Фильтр: первоначальная настройка и CLI](chapters/13.md)
- 13.1. Подключение: консоль (115200 8N1) и SSH (порт 22)
- 13.2. Логин по умолчанию: admin / econat
- 13.3. Операционный режим (>) и конфигурационный режим (#)
- 13.4. Навигация по дереву конфигурации: system, pools, access-lists
- 13.4.1. Переход в раздел, exit (..), root (/)
- 13.4.2. Автодополнение (Tab), история команд (↑↓), справка (?)
- 13.5. Применение конфигурации: `apply`, сохранение: `wr`
- 13.6. Управление конфигурациями: save, load, copy, clear config
- 13.7. Одновременная работа двух пользователей: ограничения
- 13.8. «Мышеловка» (trap mode) при незакрытой скобке
- 13.9. Ключевое слово `ls` для быстрого просмотра
### [14. Фильтр: конфигурация подсистем](chapters/14.md)
- 14.1. Консольный порт: скорость, тайм-аут неактивности
- 14.2. Management-интерфейс: IP, gateway, DNS, allowed IP
- 14.2.1. Добавление/удаление записей: `+=` и `-=`
- 14.3. Терминал (SSH): auto-logout, prompt, нумерация строк
- 14.3.1. Лимит сессий (20), опасность `never` для auto-logout
- 14.4. Пользователи: создание, удаление, уровни доступа, пароли (secret 0 / 15)
- 14.5. TACACS+: авторизация, fallback на локальную базу
- 14.6. NTP: до 3 серверов, период обновления
- 14.7. SNMP: community (read-only), traps, allow-ip
- 14.8. Системное журналирование (syslog)
- 14.8.1. Внешние лог-серверы (до 2), hostname, time shift
- 14.8.2. Уровни логирования по подсистемам (1=ошибки, 2=предупреждения, 3=информация)
- 14.8.3. Подсистема `all` — максимальный уровень для всех
- 14.8.4. Логирование команд пользователя (уровень fatal)
- 14.8.5. SNMP traps: только уровень fatal
- 14.9. Журналирование соединений (connection log) — через лог-интерфейс (DPDK)
- 14.10. Журналирование протоколов (debug logger) — отправка на SPFS
- 14.10.1. Выбор протоколов (all / конкретные)
- 14.10.2. Количество пакетов на протокол (по умолчанию 30, рекомендуется 3)
### [15. Фильтр: настройка интерфейсов и общих параметров](chapters/15.md)
- 15.1. Интерфейсы: enable/disable, description (LACP не используется)
- 15.2. NAT Defaults — общие параметры устройства
- 15.2.1. **VLAN Mode**: untag / vlan / QinQ — глубина поиска IP-заголовка (всегда QinQ)
- 15.2.2. Sessions per Translation (по умолчанию 4096)
- 15.2.3. **Forward Traffic**: всегда ON
- 15.2.4. **L2 MTU**: максимум 9216 (по RFC)
- 15.2.5. **LLDP**: выключен (требование операторов — прозрачность)
- 15.2.6. **Permit Invalid Flow**: всегда ON — приём TCP-сессий без SYN
- 15.3. Тайм-ауты сессий и трансляций
- 15.4. IPv6: включение, диапазон адресов для обработки
### [16. Фильтр: ACL и пулы — запуск трафика на обработку](chapters/16.md)
- 16.1. Создание ACL: `create acl`, правила (allow/deny), протоколы, source/destination, VLAN
- 16.2. Создание пула: `create pool`, тип = fake (без NAT)
- 16.3. Привязка ACL к пулу
- 16.4. Приоритет пулов
- 16.5. Connection logging в пуле
- 16.6. IPv6 в пуле
### [17. Фильтр: настройка DPI](chapters/17.md)
- 17.1. Общие настройки модуля DPI
- 17.1.1. Включение/выключение DPI
- 17.1.2. **Send RST off**: отключение TCP Reset при блокировке протоколов
- 17.1.3. Functionality mode: normal (не double mirror traffic)
- 17.2. Настройка реестра РКН
- 17.2.1. Источник: RKN или GRFЦ
- 17.2.2. Логин/пароль для доступа к серверу РКН
- 17.2.3. Привязка к DPI-листу (list number)
- 17.2.4. Proxy-сервер, dump server
- 17.2.5. Проблемы скачивания: минимальная скорость ~10 Мбит/с
- 17.3. Деградация протоколов (protocols capacity)
- 17.3.1. Шкала 0100: 0 = полная блокировка, 100 = полный пропуск
- 17.3.2. Дроп пакетов с заданной вероятностью
- 17.3.3. Эффективная деградация: 210% пропускания
- 17.3.4. Влияние на голосовые вызовы и мессенджеры
- 17.4. Настройка DPI-листов (016)
- 17.4.1. Enable/disable каждого листа
- 17.4.2. BitTorrent UTP detection
- 17.4.3. WH List Mode: blacklist (по умолчанию) / whitelist
- 17.4.4. **Behavior**: block / ignore / color / redirect
- 17.4.5. Redirect URL — страница-заглушка для заблокированных HTTP-ресурсов
- 17.4.6. Download URL — источник списков, update schedule
- 17.4.7. Protocols — список распознаваемых протоколов
- 17.4.8. **No IP** / **IP** — исключение/включение адресов для обработки
- 17.4.9. QUIC list
- 17.5. Формат списков фильтрации
- 17.5.1. IP-адреса, подсети, диапазоны, URL
- 17.5.2. HTTP: блокировка конкретного URL
- 17.5.3. HTTPS: блокировка только по домену (SNI/Client Hello)
### [18. Фильтр: мониторинг и диагностика](chapters/18.md)
- 18.1. `show version` — версия ПО, серийный номер (= MAC management)
- 18.2. `show ip if` — параметры management-интерфейса
- 18.3. `show time` — текущее время (UTC / local)
- 18.4. `show uptime` — время работы платформы и процесса EcoNAT
- 18.5. Аппаратная часть: `show power`, `show fan`, `show temperature`
- 18.6. Интерфейсы: `show interface brief`, traffic monitor, трансиверы (DDM)
- 18.7. Ресурсы: `show resources`
- 18.7.1. Таблицы сессий/трансляций: не более 20% загрузки
- 18.7.2. Свободные буферы: не должны уходить в ноль
- 18.7.3. DPI-ресурсы: не более 100%
- 18.7.4. CPU Load — условный параметр обработки трафика
- 18.8. Память: Control Plane vs Data Plane
- 18.8.1. Data Plane выделяется при старте, не должна расти
- 18.8.2. Пороги: 510% свободной памяти — повод для тревоги
- 18.9. `show cps` — скорость создания новых сессий
- 18.10. `show statistic` — статистика сессий и пулов, значение Optimal (= 20%)
- 18.11. Счётчики: `show counters all` / `show counters div` (дельта за секунду)
- 18.12. Системный журнал: `show syslog`, ротация двух файлов
- 18.13. DPI-мониторинг
- 18.13.1. `show dpi records <N>` — содержимое DPI-листа
- 18.13.2. `show dpi state` — количество записей, дата последнего дампа
- 18.13.3. `dpi load <N>` — ручная загрузка списка
- 18.13.4. `dpi run` — принудительное обновление всех списков
- 18.13.5. `show dpi match <ресурс>` — проверка ресурса по всем DPI-листам
- 18.14. Ping и Traceroute (из конфигурационного режима)
### [19. Фильтр: обновление прошивки](chapters/19.md)
- 19.1. Два раздела: prim1 и prim2 (равнозначные) + FB (заводская)
- 19.2. `firmware status` — текущее состояние (cur / boot)
- 19.3. `firmware download` — скачивание, `firmware install` — установка
- 19.4. `firmware rollback` / `firmware reset`
- 19.5. Централизованное обновление через ЦСУ
### [20. Балансировщик: аппаратная платформа](chapters/20.md)
- 20.1. Одноюнитовый (32 порта QSFP28) и двухюнитовый (65 портов)
- 20.2. Скорости портов: 10G / 25G / 100G
- 20.3. Гидры (breakout): один QSFP28 → четыре SFP+ (10G)
- 20.4. Внутренняя архитектура
- 20.4.1. Микросервер (Intel, Linux) — CLI, конфигурация
- 20.4.2. Чип Barefoot Tofino — программируемая коммутация
- 20.4.3. BMC — управление аппаратной частью, сенсоры, блоки питания
- 20.4.4. Ethernet switch (5-портовый) — доступ к микросерверу и BMC
- 20.4.5. Console MUX — переключение консоли между компонентами
- 20.5. Передняя панель: Console, Management Ethernet, USB
### [21. Балансировщик: конфигурация](chapters/21.md)
- 21.1. CLI: операционный режим / конфигурационный режим (`edit`)
- 21.1.1. Интерфейс похож на Juniper CLI
- 21.1.2. `apply` — применить, `save` — сохранить в startup
- 21.2. Обновление прошивки: `call rdp firmware download` / `call rdp install`
- 21.2.1. Два раздела прошивок (A/B), автоматический rollback (3 попытки / 20 мин)
- 21.2.2. `call rdp firmware reset-tries`
- 21.3. Настройка физических портов
- 21.3.1. Имя порта, номер физического порта (number), линия (lane), скорость (speed)
- 21.3.2. 10G: указание lane (03), 100G: все lane задействованы
- 21.4. Настройка линков (объединение двух портов LAN+WAN в сторону оператора)
- 21.5. Настройка группы балансировки
- 21.5.1. Привязка групп портов в сторону фильтров (filter groups)
- 21.5.2. N_UNIT_QA: количество ядер фильтра минус один
- 21.6. Профиль проверки доступности (keep-alive)
- 21.6.1. Начальная задержка, интервал, порог потерь
- 21.6.2. Минимальное количество активных пар
- 21.6.3. Перебалансировка: включение/выключение
- 21.7. Настройка фильтров (Flow rules)
- 21.7.1. Match-условия: VLAN, IPv4 src/dst, L4 port, MAC, MPLS, глубина тегов
- 21.7.2. Actions: `balancing s_mac` → balance group / `bypass`
- 21.7.3. Приоритеты правил
- 21.7.4. Привязка фильтров к линкам
- 21.8. Настройка Heartbeat для GL Sun (пилотный проект)
- 21.9. Management-интерфейс: IP, маска, default gateway
### [22. Балансировщик: мониторинг и диагностика](chapters/22.md)
- 22.1. `show hardware info` — CPU, память, вентиляторы, БП, температура
- 22.2. `show mng if` — management-интерфейс
- 22.3. `show rdp firmware version` — версии прошивок, tries
- 22.4. Состояние портов и трансиверов: SFP-информация, DDM, статистика фреймов
- 22.5. Статистика правил фильтрации: счётчики пакетов/байт по каждому flow
- 22.6. Состояние группы балансировки
- 22.6.1. Статус filter groups: up/bypass
- 22.6.2. Time of pass — время прохождения keep-alive пакета
- 22.7. Программный байпас: индивидуально для каждой группы портов
### [23. Распознавание протоколов (DPI Engine)](chapters/23.md)
- 23.1. Многофакторный анализ сессий
- 23.1.1. Размеры пакетов и их вариации
- 23.1.2. Частота прохождения пакетов
- 23.1.3. Ключевые слова и паттерны внутри пакетов
- 23.1.4. Особенности анализа шифрованного трафика
- 23.2. Ложноположительные срабатывания
- 23.3. Двухстадийная блокировка: распознавание → очистка в ЦСУ → блокировка
- 23.4. Обфускация и борьба с обходом блокировок
### [24. Траблшутинг](chapters/24.md)
- 24.1. Общий подход к диагностике проблем доступности
- 24.2. Поиск сессии абонента: обход фильтров площадки
- 24.3. Проверка ресурса в DPI-листах: `show dpi match`
- 24.4. Программный байпас для исключения ТСПУ как причины проблемы
- 24.5. Исключение абонента из обработки: параметр No IP
- 24.6. Перепутки LAN/WAN и их диагностика
- 24.7. Взаимодействие с оператором связи
- 24.8. Ограничения: L2-устройство, невозможность генерации трафика с фильтра
---
_Документ составлен на основе учебной лекции по архитектуре и эксплуатации ТСПУ (АСБИ)_