mirror of
https://github.com/DanielLavrushin/tspu-docs.git
synced 2026-10-08 06:38:24 +03:00
- Updated section 6.1 to clarify the handling of PPPoE encapsulation and filter settings. - Revised section 8.1 to specify the use of a separate DPI list for protocol recognition. - Changed references from PPPoE to IPoE in section 11 for accuracy. - Corrected parameter names in CLI documentation in section 13 for consistency. - Standardized naming conventions in section 15 for NAT defaults and VLAN modes. - Clarified ACL processing order and behavior in section 16. - Updated DPI module notes in section 17 to reflect changes in the number of DPI lists. - Enhanced descriptions of DPI list behaviors in section 23 for better understanding.
124 lines
12 KiB
Markdown
124 lines
12 KiB
Markdown
# 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: untagged / vlan / qinq — глубина поиска IP-заголовка (всегда qinq)
|
||
|
||
Параметр **VLAN Mode** (`vlan_mode`) определяет, насколько глубоко фильтр ищет IP-заголовок внутри Ethernet-фрейма:
|
||
|
||
| Значение | Поведение | Применение в ТСПУ |
|
||
| ------------ | ----------------------------------------------------------------- | ------------------ |
|
||
| **untagged** | 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
|
||
|
||
Параметр **L2 MTU** (`l2mtu`) определяет максимальный размер принимаемого Ethernet-кадра — с заголовками, но без контрольной суммы. По умолчанию установлено значение **1522** (в более поздних версиях ПО, по документации производителя, — 9216); максимально допустимое значение — 9692.
|
||
|
||
В проекте ТСПУ устанавливается значение **9216** — распространённый предельный размер jumbo-кадра у сетевого оборудования. Это позволяет полностью исключить проблемы с MTU:
|
||
|
||
```text
|
||
nat_defaults
|
||
l2mtu 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)
|