| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
| dpi:dpi_components:platform:vlan_traffic_handling [2026/06/03 13:10] – старая версия восстановлена (2026/02/18 15:17) elena.krasnobryzh | dpi:dpi_components:platform:vlan_traffic_handling [2026/06/17 13:38] (текущий) – [Использование VLAN Rule в L2-балансировщике] elena.krasnobryzh |
|---|
| - Дроп трафика с предварительным анализом, но без передачи в статистике Netflow из конкретного VLAN (Используется для работы с асимметричным трафиком, когда на площадку подается дубль трафика с другой площадки. Необходимо провести анализ и дропнуть трафик, чтобы он не попал в статистику):<code bash>fdpi_cli vlan rule add <id> perm hide</code> | - Дроп трафика с предварительным анализом, но без передачи в статистике Netflow из конкретного VLAN (Используется для работы с асимметричным трафиком, когда на площадку подается дубль трафика с другой площадки. Необходимо провести анализ и дропнуть трафик, чтобы он не попал в статистику):<code bash>fdpi_cli vlan rule add <id> perm hide</code> |
| - Пропуск трафика без какого-либо анализа из конкретного VLAN:<code bash>fdpi_cli vlan rule add <id> perm pass</code> | - Пропуск трафика без какого-либо анализа из конкретного VLAN:<code bash>fdpi_cli vlan rule add <id> perm pass</code> |
| - Вывод существующих настроек в UDR: <code bash>fdpi_cli vlan rule dump</code>Пример вывода команды:<code bash># fdpi_cli vlan rule dump | - Вывод существующих настроек в UDR: <code bash>fdpi_cli vlan rule dump</code> Для вывода правил только определённого типа (например, только ''perm'') используется параметр ''[type]'': <code bash>fdpi_cli vlan rule dump perm</code> Пример вывода команды: <code bash># fdpi_cli vlan rule dump |
| 1000 perm hide | 1000 perm hide |
| 2000 perm drop | 2000 perm drop |
| 3000 perm pass | 3000 perm pass |
| 4000 perm hide | 4000 perm hide |
| </code>В данном примере видно, что все протоколы, относящиеся к VLAN 1000 и 4000 попадают под влияние hide, то есть трафик с одной площадки дублируется на другую площадку; VLAN 2000 — трафик дропается, VLAN 3000 — трафик пропускается. | </code> В данном примере видно, что все протоколы, относящиеся к VLAN 1000 и 4000 попадают под влияние hide, то есть трафик с одной площадки дублируется на другую площадку; VLAN 2000 — трафик дропается, VLAN 3000 — трафик пропускается. |
| |
| <note tip>Подробнее в разделе [[dpi:bras_bng:bras_pppoe#настройка_service-name_для_vlan|Настройка Service-Name для VLAN]]</note> | <note tip>Подробнее в разделе [[dpi:bras_bng:bras_pppoe#настройка_service-name_для_vlan|Настройка Service-Name для VLAN]]</note> |
| * не применяются услуги 9, 12, 15, 18, NAT, а также полисинг (общий и канальный); | * не применяются услуги 9, 12, 15, 18, NAT, а также полисинг (общий и канальный); |
| * пакет не записывается через ajb — в IPFIX, SIP, FTP и др. | * пакет не записывается через ajb — в IPFIX, SIP, FTP и др. |
| | * ''pppoe'' — управляет обработкой PPPoE-пакетов. Поддерживается фильтрация по Service-Name, в том числе для QinQ-туннелей. Доступны следующие действия: |
| | * ''enable'' — разрешить обработку PPPoE. |
| | * ''drop'' — дропать пакеты PPPoE. |
| | * ''pass'' — пропустить пакеты PPPoE насквозь без обработки. |
| | * ''delay N'' — устанавливать PPPoE-сессию с задержкой в N секунд (0 < N < 16).\\ Правила могут быть заданы как для всего PPPoE-трафика в диапазоне VLAN/QinQ, так и для конкретного Service-Name. |
| |
| ====Синтаксис описания диапазонов VLAN/QinQ==== | ====Синтаксис описания диапазонов VLAN/QinQ==== |
| * ''609.1-199'' — S-VLAN=609, диапазон C-VLAN [1..199]. | * ''609.1-199'' — S-VLAN=609, диапазон C-VLAN [1..199]. |
| <note important>Правила для обычных VLAN (''67'') и QinQ (''67.*'') являются независимыми и не пересекаются.</note> | <note important>Правила для обычных VLAN (''67'') и QinQ (''67.*'') являются независимыми и не пересекаются.</note> |
| | |
| | **Поддержка Service-Name для QinQ**\\ |
| | Правила с Service-Name корректно работают для QinQ: |
| | * Правила без селективности по CVLAN: ''SVLAN.*'' с указанием Service-Name и без него. |
| | * Полный QinQ (''SVLAN.CVLAN'') с селективностью по Service-Name. |
| |
| ====Приоритет правил==== | ====Приоритет правил==== |
| |
| ====Управление==== | ====Управление==== |
| * ''vlan rule add'' — добавление нового правила в SDR | * ''vlan rule add'' — добавление нового правила в SDR.\\ Синтаксис для PPPoE: |
| * ''vlan rule modify'' — изменение существующего правила в SDR | * Добавление правила для всего PPPoE-трафика в диапазоне: <code bash>vlan rule add <Range> pppoe [enable | drop | pass | delay N]</code> |
| * ''vlan rule delete'' — удаление правила из SDR | * Добавление правила для конкретного Service-Name: <code bash>vlan rule add <Range> pppoe sname <Service-Name> [enable | drop | pass | delay N]</code> Здесь ''<Service-Name>'' — имя PPPoE Service-Name в одинарных или двойных кавычках (можно без кавычек, если является идентификатором: ''[a-zA-Z_][a-zA-Z_0-9]*''). |
| * ''vlan rule show'' — показывает все правила для указанного VLAN/QinQ | * ''vlan rule modify'' — изменение существующего правила в SDR (аналогичный синтаксис). |
| * ''vlan rule dump'' — выводит дамп всех правил в SDR | * ''vlan rule delete'' — удаление правила из SDR. |
| * ''vlan rule purge vlan''/''qinq''/''all'' — очистка SDR VLAN/QinQ или обоих | * ''vlan rule show'' — показывает все правила для указанного VLAN/QinQ. В выводе отображаются не только общие действия для PPPoE, но и все разрешения для отдельных Service-Name. |
| * ''vlan rule apply'' — применение правил; по умолчанию правила применяются спустя 5 минут после последней модификации SDR | * ''vlan rule dump'' — выводит дамп всех правил в SDR. Для фильтрации вывода по типу правил используется параметр ''[type]'' (например, ''vlan rule dump perm''). |
| | * ''vlan rule purge vlan''/''qinq''/''all'' — очистка SDR VLAN/QinQ или обоих. |
| | * ''vlan rule apply'' — применение правил; по умолчанию правила применяются спустя 5 минут после последней модификации SDR. |
| |
| <note important>При использовании ''*'' в CLI для QinQ-диапазонов рекомендуется заключать выражение в кавычки (например, '' '*.68' '') или использовать ключевое слово ''any'' (например, ''any.68''), чтобы избежать некорректной интерпретации символа ''*'' оболочкой bash.</note> | <note important>При использовании ''*'' в CLI для QinQ-диапазонов рекомендуется заключать выражение в кавычки (например, '' '*.68' '') или использовать ключевое слово ''any'' (например, ''any.68''), чтобы избежать некорректной интерпретации символа ''*'' оболочкой bash.</note> |
| |
| **Особенности применения изменений:** Изменения правил, внесенные командами ''add'', ''modify'' или ''delete'', сохраняются в SDR и автоматически применяются системой спустя 5 минут после последней модификации. Команда ''vlan rule apply'' позволяет применить их принудительно, но не чаще одного раза в минуту. | **Особенности применения изменений:** Изменения правил, внесенные командами ''add'', ''modify'' или ''delete'', сохраняются в SDR и автоматически применяются системой спустя 5 минут после последней модификации. Команда ''vlan rule apply'' позволяет применить их принудительно, но не чаще одного раза в минуту. |
| | |
| | ====Использование VLAN Rule в L2-балансировщике==== |
| | Правила VLAN также могут применяться компонентом **L2-балансировщик** для фильтрации пакетов. Это позволяет на этапе балансировки трафика отсеивать ненужные VLAN/QinQ до их попадания в основные обрабатывающие модули. |
| | |
| | **Пример:**\\ |
| | Требуется дропнуть трафик по номеру одиночного тега 133, а также по qinq S-tag 266.\\ Для этого выполнить команды: |
| | - Дроп трафика, тег которого равняется 133:<code bash>fdpi_cli vlan rule add 133 perm drop</code> Будет дропнут весь трафик, в котором есть одиночный тег 133 (трафик Q-in-Q не будет затронут) |
| | - Дроп трафика, Service-тег которого равняется 266: <code bash>fdpi_cli vlan rule add '266:*' perm drop</code> Будет дропнут весь трафик, в котором есть двойной тег, S-тег которого равняется 266 и любым C-тег (266:0-4095) |
| | |
| | |