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

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

124 lines
12 KiB
Markdown
Raw Permalink 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.
# 15. Фильтр: настройка интерфейсов и общих параметров
[← Оглавление](../README.md) · [← Раздел 14: Фильтр: конфигурация подсистем](14.md)
---
## 15.1. Интерфейсы: enable/disable, description (LACP не используется)
Фильтр обрабатывает трафик на **уровне L2** — для внешнего наблюдателя устройство представляет собой «прозрачный провод». На пути прохождения трафика **нет L3-интерфейсов**. Если посмотреть на интерфейсы в операционной системе Linux (на которой основано устройство), виден **только management-интерфейс** — все остальные интерфейсы отданы под управление **DPDK** и обрабатываются специализированным программным обеспечением.
Настройки интерфейсов для пропуска трафика **минимальны**:
| Действие | Команда |
| ------------------ | ------------------------------ |
| Включить интерфейс | `enable` |
| Выключить интерфейс| `disable` |
| Задать описание | `description "текст"` |
Лог-интерфейсы **жёстко привязаны** к конкретным физическим портам и не могут быть переназначены.
В конфигурации могут присутствовать настройки протокола **LACP** — в проекте ТСПУ он **не используется**. Эти параметры существуют по умолчанию, их не нужно изменять или удалять.
## 15.2. NAT Defaults — общие параметры устройства
Секция `nat-defaults` содержит общие параметры, влияющие на работу всего устройства. Название секции — наследие от CGNAT-платформы, однако параметры применяются ко всему функционалу фильтра, включая DPI.
### 15.2.1. VLAN Mode: untag / vlan / QinQ — глубина поиска IP-заголовка (всегда QinQ)
Параметр **VLAN Mode** определяет, насколько глубоко фильтр ищет IP-заголовок внутри Ethernet-фрейма:
| Значение | Поведение | Применение в ТСПУ |
| ------------ | ----------------------------------------------------------------- | ------------------ |
| **untag** | IP-заголовок ищется только в нетегированных фреймах. Пакеты с VLAN-тегами пропускаются прозрачно | Нет |
| **vlan** | IP-заголовок ищется в пакетах без тегов и с одним VLAN-тегом | Нет |
| **QinQ** | IP-заголовок ищется при любом количестве VLAN-тегов: 0, 1 или 2 | **Всегда** |
В проекте ТСПУ параметр **всегда должен быть установлен в `QinQ`**. При любом другом значении часть трафика (с VLAN-тегами) будет **прозрачно пропускаться** без обработки, что недопустимо.
### 15.2.2. Sessions per Translation (по умолчанию 4096)
Параметр задаёт **максимальное количество сессий** в рамках одной трансляции. Значение по умолчанию — **4096**. В проекте ТСПУ менять его не требуется — этого значения достаточно для всех сценариев.
### 15.2.3. Forward Traffic: всегда ON
Параметр **Forward Traffic** управляет пересылкой трафика через устройство:
| Значение | Поведение |
| -------- | ------------------------------------------------------------ |
| **on** | Трафик проходит через фильтр и отправляется дальше |
| **off** | Трафик принимается, но не отправляется (режим зеркала) |
В проекте ТСПУ параметр **всегда должен быть `on`** (значение по умолчанию). Режим `off` используется только при работе с зеркалированным трафиком, что в данном проекте не применяется.
### 15.2.4. L2 MTU: максимум 9216 (по RFC)
Параметр **L2 MTU** определяет максимальный размер кадра на уровне L2. По умолчанию установлено значение **1522**.
В проекте ТСПУ рекомендуется устанавливать **максимально возможное значение — 9216** (максимум по RFC). Это позволяет полностью исключить проблемы с MTU:
```text
nat-defaults
l2-mtu 9216
```
На балансировщиках MTU на интерфейсах также выставляется в районе **9000**, что позволяет закрыть проблему MTU на всей цепочке оборудования ТСПУ.
### 15.2.5. LLDP: выключен (требование операторов — прозрачность)
Протокол **LLDP** (Link Layer Discovery Protocol) на фильтрах **должен быть выключен**. Это сделано по требованию операторов связи, которые не хотят видеть оборудование ТСПУ в своей сети.
Принцип прозрачности: оператор ожидает, что ТСПУ — это «невидимый провод». Если LLDP включён, устройство начинает анонсировать себя в сети оператора, что нарушает эту прозрачность. Например, МТС потребовал отключить LLDP, поскольку устройства ТСПУ появлялись на их схемах сети.
### 15.2.6. Permit Invalid Flow: всегда ON — приём TCP-сессий без SYN
Параметр **Permit Invalid Flow** — один из **наиболее критичных** параметров конфигурации. Он **всегда должен быть включён** в проекте ТСПУ.
**Что он делает:**
| Значение | Поведение |
| -------- | --------------------------------------------------------------- |
| **off** | TCP-сессия заводится **только** по TCP SYN-пакету. Пакеты без SYN-флага дропаются |
| **on** | TCP-сессия заводится по **любому** TCP-пакету, включая пакеты без SYN |
**Почему `off` опасен в контексте ТСПУ:**
1. **Переключение режимов.** При переключении ТСПУ из режима байпаса обратно в рабочий режим (inline) на фильтры мгновенно поступает большой объём трафика — уже установленных TCP-сессий. SYN-пакеты для этих сессий давно прошли. Если `permit invalid flow` выключен, фильтр **дропнет** весь этот трафик. Для абонентов это означает, что **все их TCP-сессии** отвалятся по тайм-ауту и потребуют переустановки;
2. **Асимметричный трафик.** Если исходящий трафик уходит через один фильтр, а входящий приходит через другой — на одном из фильтров сессия не будет установлена (нет SYN-флага), и трафик будет дропаться.
С этой проблемой сталкивались **неоднократно** на практике.
## 15.3. Тайм-ауты сессий и трансляций
В секции `nat-defaults` также настраиваются **тайм-ауты** для сессий и трансляций (подробнее о сессиях и трансляциях — в [разделе 12](12.md)):
- Тайм-ауты для **трансляций** и **сессий** задаются **раздельно**;
- Параметры различаются по типу протокола (TCP, UDP, ICMP);
- Значения в `nat-defaults` являются **значениями по умолчанию**, которые наследуются каждым создаваемым пулом;
- При необходимости тайм-ауты могут быть **переопределены** на уровне конкретного пула.
В секции также присутствует параметр **limiter** — ограничения на количество выделяемых портов для одного пользователя. Этот параметр актуален **только для NAT** и в проекте ТСПУ **не используется**.
## 15.4. IPv6: включение, диапазон адресов для обработки
Поддержка IPv6 была добавлена в прошивку позднее основного функционала. Настройка расположена в отдельном разделе:
| Параметр | Описание |
| --------------------- | ------------------------------------------------------------ |
| **Enable/disable** | Включение или выключение обработки IPv6-трафика |
| **Тайм-ауты** | Отдельные тайм-ауты для IPv6-сессий (по умолчанию можно не менять) |
| **Диапазон адресов** | Список IPv6-адресов и VLAN, которые будут обрабатываться |
В проекте ТСПУ IPv6 должен быть **включён**. По умолчанию в диапазон обработки включены **все IPv6-адреса во всех VLAN** — менять это значение, как правило, не требуется.
При необходимости можно:
- **Включить** в обработку только конкретные диапазоны IPv6-адресов;
- **Исключить** определённые диапазоны из обработки;
- Полностью **отключить** обработку IPv6-трафика (тогда DPI-фильтрация по IPv6 выполняться не будет, трафик пройдёт прозрачно).
---
[← Оглавление](../README.md) · [← Раздел 14: Фильтр: конфигурация подсистем](14.md) · [Раздел 16: Фильтр: ACL и пулы →](16.md)