# ТСПУ: Технические средства противодействия угрозам ## Проекты автора по обходу блокировок ТСПУ > [**B4**](https://github.com/DanielLavrushin/b4) - Сетевой Linux процессор пакетов для обхода DPI-систем с удобным веб-интерфейсом. (Linux, OpenWRT, MerlinWRT, Keenetic, Mikrotik, Docker) > [**XRAYUI**](https://github.com/DanielLavrushin/asuswrt-merlin-xrayui) - Веб-интерфейс для управления Xray-core для роутеров ASUS ## Оглавление Полное руководство на основе [лекции по архитектуре, настройке и эксплуатации ТСПУ](https://www.youtube.com/watch?v=raNP3IMgwRU) > **Примечание:** Данная документация сгенерирована с помощью ИИ на основе транскрипта ~5-часовой видеолекции и проверена вручную. Может содержать неточности. ### Часть I. Обзор системы #### [1. Введение и общая архитектура АСБИ](docs/overview.md) - 1.1. Что такое АСБИ - 1.2. Закон о суверенном интернете и участники проекта - 1.3. Что такое ТСПУ — комплекс оборудования у операторов связи - 1.4. Общая схема: байпасы, балансировщики, фильтры, сегмент управления #### [2. Прохождение трафика через ТСПУ](docs/traffic-flow.md) - 2.1. Стык оператора связи: типы инкапсуляции - 2.2. Разделение на LAN-порты и WAN-порты - 2.3. Простейший вариант ТСПУ (один байпас, один фильтр) - 2.4. Типовая схема ТСПУ #### [3. Места установки ТСПУ в сети оператора](docs/placement.md) - 3.1. До BRAS/BNG (между абонентами и терминацией сессий) - 3.2. До CGNAT (после BRAS) — наиболее удобная точка - 3.3. После CGNAT (ближе к выходу в интернет) - 3.4. Сервисное оборудование в режиме on-a-stick #### [4. Эшелонированная система (ТСПУ тип Б)](docs/echelon.md) - 4.1. Назначение: обработка трафика, не прошедшего через ТСПУ тип А - 4.2. Проблема асимметричного трафика у крупных операторов - 4.3. Балансировщик Eco Highway - 4.4. Два конвейера (Pipeline) в Eco Highway - 4.5. Отличия EcoFilter Balancer от Eco Highway - 4.6. Отсутствие логирования на Eco Highway (только real-time) - 4.7. Прозрачный пропуск трафика, уже обработанного ТСПУ тип А ### Часть II. Байпас и балансировщик #### [5. Байпас (Bypass)](docs/bypass.md) - 5.1. Назначение и роль байпаса в ТСПУ - 5.2. Байпасы Silicom (федеральный проект) - 5.3. Байпасы GL Sun (пилотный проект, Урал) - 5.4. Мониторинг каналов: Heartbeat-пакеты байпаса - 5.5. Автоматическое переключение в TAP/Active Bypass при потере канала - 5.6. Развитие: отечественные байпасы #### [6. Балансировщик: принцип работы](docs/balancer.md) - 6.1. Назначение: распределение трафика по фильтрам - 6.2. Аппаратная платформа: 32-портовый, 1U, пропускная способность 3.2 Тбит/с - 6.3. Организация портов: пары LAN/WAN, линки - 6.4. Фильтры на балансировщике (Flow rules) - 6.5. Балансировка трафика - 6.6. Отказоустойчивость - 6.7. Работа с различными инкапсуляциями (VLAN, MPLS) - 6.8. Обработка HTTP-редиректов и TCP Reset через фильтры #### [7. Балансировщик: аппаратная платформа](docs/balancer-platform.md) - 7.1. Одноюнитовый (32 порта QSFP28) и двухюнитовый (65 портов) - 7.2. Скорости портов: 10G / 25G / 100G - 7.3. Гидры (breakout): один QSFP28 → четыре SFP+ (10G) - 7.4. Внутренняя архитектура - 7.5. Передняя панель: Console, Management Ethernet, USB #### [8. Балансировщик: конфигурация](docs/balancer-config.md) - 8.1. CLI: операционный режим / конфигурационный режим (`edit`) - 8.2. Обновление прошивки: `call rdp firmware download` / `call rdp install` - 8.3. Настройка физических портов - 8.4. Настройка линков (объединение двух портов LAN+WAN в сторону оператора) - 8.5. Настройка группы балансировки - 8.6. Профиль Keep-Alive (liveness profile) - 8.7. Настройка фильтров (Flow rules) - 8.8. Настройка Heartbeat для GL Sun (пилотный проект) - 8.9. Management-интерфейс: IP, маска, default gateway #### [9. Балансировщик: мониторинг и диагностика](docs/balancer-monitoring.md) - 9.1. `show hardware info` — CPU, память, вентиляторы, БП, температура - 9.2. `show mng if` — management-интерфейс - 9.3. `show rdp firmware version` — версии прошивок, tries - 9.4. Состояние портов и трансиверов: SFP-информация, DDM, статистика фреймов - 9.5. Статистика правил фильтрации: счётчики пакетов/байт по каждому flow - 9.6. Состояние группы балансировки - 9.7. Программный байпас: индивидуально для каждой группы портов ### Часть III. Фильтр #### [10. Фильтр: принцип работы](docs/filter.md) - 10.1. Путь пакета через фильтр - 10.2. Работа на уровне L2: фильтр как «прозрачный провод» #### [11. Фильтр: аппаратная платформа](docs/filter-platform.md) - 11.1. Младшая линейка: EcoFilter 2020/2040 - 11.2. Старшая линейка: EcoFilter 4080/4120/4160 - 11.3. Модели 2019 года (пилотный проект, Урал) - 11.4. Модели 2020 года (федеральный проект) - 11.5. Разделение интерфейсов: LAN (чётные) / WAN (нечётные) - 11.6. История платформы: от CGNAT (2013) к DPI-фильтру #### [12. Фильтр: сессии и трансляции](docs/filter-sessions.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](docs/filter-cli.md) - 13.1. Подключение: консоль (115200 8N1) и SSH (порт 22) - 13.2. Логин по умолчанию: admin / econat - 13.3. Операционный режим (>) и конфигурационный режим (#) - 13.4. Навигация по дереву конфигурации: system, pools, access-lists - 13.5. Применение конфигурации: `apply`, сохранение: `wr` - 13.6. Управление конфигурациями: save, load, copy, clear config - 13.7. Одновременная работа двух пользователей: ограничения - 13.8. «Мышеловка» (trap mode) при незакрытой скобке - 13.9. Ключевое слово `ls` для быстрого просмотра #### [14. Фильтр: конфигурация подсистем](docs/filter-subsystems.md) - 14.1. Консольный порт: скорость, тайм-аут неактивности - 14.2. Management-интерфейс: IP, gateway, DNS, allowed IP - 14.3. Терминал (SSH): auto-logout, prompt, нумерация строк - 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.9. Журналирование соединений (connection log) — через лог-интерфейс (DPDK) - 14.10. Журналирование протоколов (debug logger) — отправка на SPFS #### [15. Фильтр: настройка интерфейсов и общих параметров](docs/filter-interfaces.md) - 15.1. Интерфейсы: enable/disable, description (LACP не используется) - 15.2. NAT Defaults — общие параметры устройства - 15.3. Тайм-ауты сессий и трансляций - 15.4. IPv6: включение, диапазон адресов для обработки #### [16. Фильтр: ACL и пулы — запуск трафика на обработку](docs/filter-acl-pools.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 в пуле - 16.7. Секция bypass — heartbeat к байпасу GL Sun (только пилотный проект) #### [17. Фильтр: настройка DPI](docs/filter-dpi.md) - 17.1. Общие настройки модуля DPI - 17.2. Настройка реестра РКН - 17.3. Деградация протоколов (protocols capacity) - 17.4. Настройка DPI-листов (0–16) - 17.5. Формат списков фильтрации #### [18. Фильтр: мониторинг и диагностика](docs/filter-monitoring.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.8. Память: Control Plane vs Data Plane - 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.14. Ping и Traceroute (из конфигурационного режима) #### [19. Фильтр: обновление прошивки](docs/filter-firmware.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. Централизованное обновление через ЦСУ ### Часть IV. Управление и блокировка #### [20. Сегмент управления ТСПУ](docs/management-segment.md) - 20.1. Адресация: 10.<регион>.<площадка>.0/24 - 20.2. Распределение адресов: байпасы, балансировщики, BMC, фильтры, IPMI, SPFS, СПХД - 20.3. Шлюз по умолчанию — криптошлюз «Континент» - 20.4. Подсеть логирования (единая для всех ТСПУ) #### [21. Центральная система управления (ЦСУ)](docs/central-management.md) - 21.1. Архитектура: две независимые площадки (основная и резервная) - 21.2. Связь с ТСПУ через VPN (криптошлюз «Континент») - 21.3. Масштаб: ~350 площадок, ~5000 устройств - 21.4. Подсистемы ЦСУ: формирование списков, мониторинг, логирование, картография - 21.5. Новая ЦСУ для федерального проекта (замена уральской) #### [22. Распознавание протоколов и двухстадийная блокировка](docs/protocol-blocking.md) - 22.1. Многофакторный анализ сессий - 22.2. Ложноположительные срабатывания - 22.3. Обфускация и борьба с обходом блокировок - 22.4. Двухстадийная блокировка: распознавание → очистка в ЦСУ → блокировка - 22.5. Первый этап: распознавание протоколов на фильтрах (ТСПУ тип А) - 22.6. Отправка логов на SPFS (сервер предварительного формирования списков) - 22.7. Передача логов по GRPC в центральную систему управления - 22.8. Анализ, очистка от ложных срабатываний, формирование списков - 22.9. Загрузка очищенных списков обратно на фильтры (HTTP) и на Eco Highway (BGP) - 22.10. Время полного цикла блокировки: ~5–15 минут ### Часть V. Эксплуатация #### [23. Траблшутинг](docs/troubleshooting.md) - 23.1. Общий подход к диагностике проблем доступности - 23.2. Поиск сессии абонента: обход фильтров площадки - 23.3. Проверка ресурса в DPI-листах: `show dpi match` - 23.4. Программный байпас для исключения ТСПУ как причины проблемы - 23.5. Исключение абонента из обработки: параметр No IP - 23.6. Перепутки LAN/WAN и их диагностика - 23.7. Взаимодействие с оператором связи - 23.8. Ограничения: L2-устройство, невозможность генерации трафика с фильтра ### [Бонус: Оборудование](tspu-equipment/README.md) --- _Документ составлен на основе учебной лекции по архитектуре и эксплуатации ТСПУ (АСБИ)_