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

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

22 KiB
Raw Permalink Blame History

14. Фильтр: конфигурация подсистем

← Оглавление · ← Раздел 13: Фильтр: первоначальная настройка и CLI


14.1. Консольный порт: скорость, тайм-аут неактивности

В секции настройки консольного порта (system / serial) доступны два параметра:

Параметр Описание Рекомендация
Скорость порта Скорость консольного соединения (по умолчанию 115200) Не менять
Тайм-аут неактивности Время до автоматического отключения неактивного пользователя 530 минут (не never)

По умолчанию тайм-аут неактивности составляет 5 минут. Можно увеличить до 15 или 30 минут. Значение never не рекомендуется — при его установке пользователь не будет отключаться по тайм-ауту, что может привести к проблемам (аналогично проблеме SSH-сессий — см. раздел 14.3.1).

14.2. Management-интерфейс: IP, gateway, DNS, allowed IP

В секции management-интерфейса (system / mng-if) настраиваются параметры удалённого доступа к фильтру:

Параметр Описание
IP-адрес Адрес management-интерфейса в подсети управления
Gateway Шлюз по умолчанию (обычно .254 — криптошлюз «Континент»)
Name servers Список DNS-серверов (можно указать несколько через пробел)
Allowed IP Список адресов/подсетей, которым разрешён удалённый доступ

Осторожно: изменение IP-адреса или allowed IP с последующим apply может привести к потере удалённого доступа к устройству, если вы подключены по SSH. Единственным способом восстановления в таком случае будет подключение через физическую консоль.

14.2.1. Добавление/удаление записей: += и -=

Для параметров, принимающих списки значений (DNS-серверы, allowed IP и др.), доступны операторы поэлементного изменения:

Оператор Действие Пример
+= Добавить запись к существующему списку nameservers += 8.8.8.8
-= Удалить запись из списка nameservers -= 8.8.8.8

Альтернативный способ — задать весь список одной строчкой через пробел:

    nameservers 192.168.1.45 8.8.8.8 8.8.4.4

Также можно использовать режим многострочного ввода через скобки (см. раздел 13.8 — «мышеловка»).

14.3. Терминал (SSH): auto-logout, prompt, нумерация строк

В секции терминала (system / terminal) настраиваются параметры SSH-доступа:

Параметр Описание
auto-logout Время автоматического отключения неактивной SSH-сессии
prompt Текст приглашения командной строки
Нумерация строк Отображение номера введённой команды (инкрементируется с каждым вводом)

При вводе значения prompt необходимо использовать кавычки, если значение содержит спецсимволы (дефис - и др.).

14.3.1. Лимит сессий (20), опасность never для auto-logout

Значение never для auto-logout категорически не рекомендуется. Причина:

  1. При нестабильном соединении SSH-сессии обрываются, но не закрываются на стороне фильтра;
  2. «Мёртвые» сессии накапливаются, не удаляясь по тайм-ауту;
  3. При достижении лимита в 20 сессий вы не сможете подключиться к устройству по SSH;
  4. Единственный способ восстановления — подключение через физическую консоль.

Рекомендуется оставлять auto-logout со значением по умолчанию или устанавливать разумный тайм-аут.

14.4. Пользователи: создание, удаление, уровни доступа, пароли (secret 0 / 15)

Управление пользователями осуществляется в секции system / users:

Команда Действие
create user <имя> level <N> secret 0 <пароль> Создать пользователя (пароль в открытом виде)
create user <имя> level <N> secret 15 <хэш> Создать пользователя (пароль в виде хэша)
no user <имя> Удалить пользователя

Параметры пароля:

Формат Описание
secret 0 Пароль задаётся в открытом виде (plain text)
secret 15 Ожидается хэш пароля

В конфигурации пароли хранятся в хэшированном виде — при просмотре конфигурации открытые пароли не отображаются.

Пользователь по умолчанию (admin / econat) может быть удалён. Рекомендуется создать новых пользователей и удалить дефолтного.

14.5. TACACS+: авторизация, fallback на локальную базу

Фильтр поддерживает внешнюю авторизацию через TACACS+. Через TACACS+ работает только авторизация (и, возможно, аккаунтинг).

Ключевые параметры:

Параметр Описание Важность
Fallback (fb on) При недоступности TACACS+ авторизовать через локальную базу Критично
Service type Тип сервиса (shell) — должен совпадать с настройкой на TACACS-сервере Важно
Protocol Протокол — должен совпадать с настройкой на TACACS-сервере Важно
Серверы IP-адрес/доменное имя + secret для каждого сервера TACACS+

Важно: параметр fb on (fallback) должен быть включён. Если он выключен и пользователь отсутствует на TACACS-сервере (или сервер недоступен), авторизация через CLI будет невозможна.

14.6. NTP: до 3 серверов, период обновления

В секции NTP (system / ntp) настраивается синхронизация времени:

  • Можно указать до 3 NTP-серверов;
  • Настраивается период обновления времени.

Для проверки статуса синхронизации используется команда show ntp. Вывод команды может быть не вполне интуитивным — значение 0x24 в статусе указывает на успешную синхронизацию.

Примечание: в будущих прошивках логика работы со временем планируется к изменению. Вместо задания временного сдвига в отдельных подсистемах будет единая настройка временной зоны для всего устройства, а в подсистемах — выбор между UTC и локальным временем.

14.7. SNMP: community (read-only), traps, allow-ip

Настройки SNMP (system / snmp) стандартны:

Параметр Описание
Community Строка community, работает только на чтение (read-only). Задавать параметры через SNMP нельзя
Traps Включение/выключение отправки SNMP-трапов
Allow IP Список адресов/подсетей, которым разрешён SNMP-доступ (по умолчанию — отовсюду)
Description Описание устройства
Hostname Имя устройства
Contact Контактная информация

14.8. Системное журналирование (syslog)

Системное журналирование настраивается в секции system / syslog и позволяет отправлять события с фильтра на внешние серверы (СПХД).

14.8.1. Внешние лог-серверы (до 2), hostname, time shift

Параметр Описание
Enable/disable Включение/выключение системного логирования
Серверы До 2 внешних серверов (IP-адрес + порт)
Hostname Имя устройства, которое будет отображаться в syslog-сообщениях на внешнем сервере
Time shift Временной сдвиг относительно UTC (в минутах) для логов

В рамках пилотного проекта (Урал) системные логи на внешний сервер не сохранялись. В федеральном проекте они должны сохраняться на СПХД (серверы предварительного хранения данных), обеспечивая ретроспективный анализ событий на всех устройствах площадки — это крайне полезная возможность, которой часто не хватало на пилоте.

Примечание: в будущих прошивках параметр time shift планируется заменить на выбор между UTC и локальным временем, а временная зона будет настраиваться единообразно для всего устройства.

14.8.2. Уровни логирования по подсистемам (1=ошибки, 2=предупреждения, 3=информация)

Для каждой подсистемы фильтра можно индивидуально настроить уровень подробности журналирования:

Уровень Название Содержимое Рекомендация
1 Ошибки Ошибки и критически важные сообщения По умолчанию, достаточно для большинства случаев
2 Предупреждения Предупреждения + всё из уровня 1 Включать при траблшутинге
3 Информация Информационные сообщения + всё из уровней 12 Только при диагностике

По умолчанию для всех подсистем установлен уровень 1. Повышать уровень (2 или 3) рекомендуется только на время диагностики, поскольку:

  • объём логов при уровне 23 очень большой;
  • внутренние логи на устройстве забиваются быстро;
  • разбираться в детальных логах сложно.

Не все подсистемы, указанные в конфигурации, реально существуют в прошивке проекта ТСПУ (например, BRAS отсутствует) — для несуществующих подсистем настройка не имеет эффекта.

14.8.3. Подсистема all — максимальный уровень для всех

Условная подсистема all позволяет быстро установить уровень логирования для всех подсистем одновременно:

    verbose all 3     ← установить максимальный уровень для всех подсистем

Правило выбора уровня: для каждой подсистемы выбирается наибольший из двух значений — установленного для all и установленного индивидуально. Например, если all = 2 и для конкретной подсистемы задано 3, будет использоваться 3.

14.8.4. Логирование команд пользователя (уровень fatal)

Все команды, введённые пользователем, логируются с уровнем fatal. Это не означает, что происходит что-то критическое — уровень fatal выбран специально, чтобы команды пользователя всегда записывались в логи, независимо от текущих настроек подробности.

Это полезно для ретроспективного анализа: можно посмотреть, кто, когда и что настраивал на устройстве.

14.8.5. SNMP traps: только уровень fatal

В SNMP отправляются трапы только уровня fatal. События уровней 13 (ошибки, предупреждения, информация) в SNMP-трапы не попадают.

14.9. Журналирование соединений (connection log) — через лог-интерфейс (DPDK)

Журналирование соединений (connection log, в терминологии фильтра — «NAT translation log») позволяет логировать каждую создаваемую на устройстве сессию: какой абонент, на какой ресурс, по какому порту обращался.

Ключевые особенности:

  • Логи отправляются на внешний сервер в специальном формате;
  • В отличие от syslog, connection log по умолчанию отправляется через лог-интерфейс (DPDK), а не через management-интерфейс;
  • Лог-интерфейс не имеет IP-адреса в традиционном смысле — адрес генерируется программно. Пропинговать лог-интерфейс извне невозможно: на нём нет сущности, обрабатывающей входящие пакеты. Это сделано для повышения производительности — интерфейс отдан под управление DPDK;
  • Формат логирования настраивается в соответствующей секции конфигурации.

Примечание: в проекте ТСПУ журналирование соединений в текущей конфигурации может не использоваться.

14.10. Журналирование протоколов (debug logger) — отправка на SPFS

Секция debug logger (несмотря на название «debug», это штатная функциональность) отвечает за отправку протокольных логов — результатов распознавания протоколов движком DPI — на серверы SPFS для дальнейшего формирования очищенных списков блокировки (подробнее о полном цикле — в разделе 8).

14.10.1. Выбор протоколов (all / конкретные)

Параметр Описание
Enable Включение секции debug logger
Protocols Список протоколов для логирования: all (все) или конкретные (Telegram, WhatsApp и др.)
Server + port Адрес и порт SPFS-сервера
Gateway Шлюз по умолчанию для отправки
Source port Порт источника, с которого отправляются логи
Log interface Интерфейс для отправки: log (по умолчанию) или management

По умолчанию протоколы установлены в all — логируются все распознаваемые протоколы. Можно указать только конкретные протоколы, если требуется сузить объём логирования.

Лог-интерфейс для отправки по умолчанию — log (DPDK). Переключение на management не рекомендуется, так как производительность отправки значительно снизится.

14.10.2. Количество пакетов на протокол (по умолчанию 30, рекомендуется 3)

Параметр количества пакетов определяет, сколько пакетов из каждой распознанной сессии отправляется в лог:

Значение Описание Рекомендация
0 Без ограничения (отправляются первые 30 пакетов) По умолчанию
3 Отправляются первые 3 пакета Рекомендуется
30 Максимальное количество Избыточно

Значение 30 (фактически — значение по умолчанию при параметре 0) генерирует избыточный объём лог-трафика. По результатам тестирования на Урале, для корректного распознавания достаточно 3 пакетов — это значение рекомендуется для production-эксплуатации.


← Оглавление · ← Раздел 13: Фильтр: первоначальная настройка и CLI · Раздел 15: Фильтр: настройка интерфейсов и общих параметров →