Обработка трафика по VLAN [Документация VAS Experts]

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_components:platform:vlan_traffic_handling [2026/06/03 12:38] elena.krasnobryzhdpi:dpi_components:platform:vlan_traffic_handling [2026/06/17 13:38] (текущий) – [Использование VLAN Rule в L2-балансировщике] elena.krasnobryzh
Строка 1: Строка 1:
 {{indexmenu_n>10}} {{indexmenu_n>10}}
 ======Обработка трафика по VLAN====== ======Обработка трафика по VLAN======
 +<note warning>Данные ''vlan group'' перенесены из UDR в SDR. Глобальные правила для ''vlan drop'', ''vlan pass'', ''vlan hide'', ''vlan permit'', заданные прежней CLI-командой ''vlan group'', сконвертированы и перенесены из UDR в SDR c удалением из UDR.</note>
 +  - Дроп трафика без анализа из конкретного VLAN:<code bash>fdpi_cli vlan rule add <id> perm drop</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>
 +  - Вывод существующих настроек в 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
 +2000  perm drop
 +3000  perm pass
 +4000  perm hide
 +</code> В данном примере видно, что все протоколы, относящиеся к VLAN 1000 и 4000 попадают под влияние hide, то есть трафик с одной площадки дублируется на другую площадку; VLAN 2000 — трафик дропается, VLAN 3000 — трафик пропускается.
  
-<note warning>Данные ''vlan group'' перенесены из UDR в SDR. Глобальные правила для ''vlan drop'', ''vlan pass'', ''vlan hide'', ''vlan permit'', заданные прежней CLI-командой ''vlan group'', сконвертированы и перенесены из UDR в SDR с удалением из UDR.</note> +<note tip>Подробнее в разделе [[dpi:bras_bng:bras_pppoe#настройка_service-name_для_vlan|Настройка Service-Name для VLAN]]</note>
- +
-  - Дроп трафика без анализа из конкретного VLAN: <code bash>fdpi_cli vlan rule add <id> perm drop</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> +
-  - Вывод существующих настроек в SDR: <code bash>fdpi_cli vlan rule dump</code> +
- +
-=====Обновление CLI (vlan rule dump)===== +
- +
-Добавлена возможность фильтрации вывода по типу правил: +
- +
-Формат: +
-<code bash>vlan rule dump [type]</code> +
- +
-''type'' — тип правил: +
-  * ''perm'' +
-  * ''dhcp'' +
-  * ''all'' (по умолчанию) +
- +
-Примеры: +
-<code bash>vlan rule dump perm</code> +
-<code bash>vlan rule dump dhcp</code> +
-<code bash>vlan rule dump</code>+
  
 =====VLAN Rule===== =====VLAN Rule=====
- +VLAN Rule позволяет гибко управлять сетевым трафиком на уровне VLAN и QinQ, назначать определенные политики обработки пакетов для отдельных VLAN, диапазонов VLAN или QinQ-туннелей.
-VLAN Rule позволяет гибко управлять сетевым трафиком на уровне VLAN и QinQ, назначать политики обработки пакетов для отдельных VLAN, диапазонов VLAN или QinQ-туннелей.+
  
 ====Типы правил==== ====Типы правил====
- 
 Поддерживаются следующие типы правил: Поддерживаются следующие типы правил:
  
-  * ''dhcp'' — управляет обработкой DHCP-запросов: +  * ''dhcp'' — управляет обработкой DHCP-запросов. 
-    * ''dhcp enable'' — разрешить обработку DHCP-запросов в данном VLAN/QinQ +    * ''dhcp enable'' — разрешить обработку DHCP-запросов в данном VLAN/QinQ. 
-    * ''dhcp disable'' — запретить обработку DHCP; все DHCP-пакеты отбрасываются +    * ''dhcp disable'' — запретить обработку DHCP. Все DHCP-пакеты в этом VLAN/QinQ будут отбрасываться. 
- +  * ''perm'' — определяет базовую обработку всего трафика в VLAN/QinQ. 
-  * ''perm'' — базовая обработка трафика в VLAN/QinQ: +    * ''drop'' — полностью отбрасывать все пакеты. Пакеты не проходят дальнейшую обработку и не попадают в статистику Netflow. 
-    * ''drop'' — полностью отбрасывать пакетыне попадают в Netflow +    * ''pass'' — пропускать пакеты без обработки. Пакеты учитываются в статистике Netflow. 
-    * ''pass'' — пропускать без обработкиучитываются в Netflow +    * ''accept'' — пропускать пакеты для дальнейшей полной обработки в системе. Пакеты учитываются в статистике Netflow. 
-    * ''accept'' — полная обработка в системеучитываются в Netflow +    * ''hide'' — пакет проходит внутренние этапы обработки (с исключениями)но после обработки в любом случае отбрасывается. При этом
-    * ''hide'' — внутреннюю обработку выполняет система, после чего пакет отбрасывается: +      * пакет не попадает в статистику Netflow; 
-      * не попадает в Netflow +      * не применяются услуги 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. 
-  * ''pppoe'' — обработка PPPoE-трафика: +    * ''drop'' — дропать пакеты PPPoE. 
-    * ''enable'' — разрешить обработку PPPoE +    * ''pass'' — пропустить пакеты PPPoE насквозь без обработки. 
-    * ''drop'' — дропать PPPoE-пакеты +    * ''delay N'' — устанавливать PPPoE-сессию с задержкой в N секунд (0 < N < 16).\\ Правила могут быть заданы как для всего PPPoE-трафика в диапазоне VLAN/QinQ, так и для конкретного Service-Name.
-    * ''pass'' — пропускать PPPoE без обработки +
-    * ''delay N'' — установить PPPoE-сессию с задержкой N секунд (0 < N < 16)+
  
 ====Синтаксис описания диапазонов VLAN/QinQ==== ====Синтаксис описания диапазонов VLAN/QinQ====
 +Правила применяются к диапазонам, которые задаются в следующем формате:
 +  * Для одиночного VLAN: ''156''
 +  * Для диапазона VLAN: ''56-78'' (VLAN с 56 по 78 включительно)
 +  * Для любого VLAN: ''*'' или ''any''
 +  * Для QinQ:
 +    * ''67.*'' или ''67.any'' — S-VLAN=67, любой C-VLAN.
 +    * ''*.68'' или ''any.68'' — любой S-VLAN, C-VLAN=68.
 +    * ''*.*'' или ''any.any'' — любой QinQ.
 +    * ''12-156.78-90'' — диапазон S-VLAN [12..156], диапазон C-VLAN [78..90].
 +    * ''609.1-199'' — S-VLAN=609, диапазон C-VLAN [1..199].
 +<note important>Правила для обычных VLAN (''67'') и QinQ (''67.*'') являются независимыми и не пересекаются.</note>
  
-Правила применяются к диапазонам: +**Поддержка Service-Name для QinQ**\\   
- +Правила с Service-Name корректно работают для QinQ
-  * одиночный VLAN''156'' +  * Правила без селективности по CVLAN: ''SVLAN.*'' с указанием Service-Name и без него. 
-  * диапазон VLAN: ''56-78'' +  Полный QinQ (''SVLAN.CVLAN'') с селективностью по Service-Name.
-  * любой VLAN: ''*'' или ''any'' +
-  * QinQ: +
-    * ''67.*'' / ''67.any'' — S-VLAN=67, любой C-VLAN +
-    * ''*.68'' / ''any.68'' — любой S-VLAN, C-VLAN=68 +
-    * ''*.*'' / ''any.any'' — любой QinQ +
-    * ''12-156.78-90'' — диапазоны S-VLAN и C-VLAN +
-    * ''609.1-199'' — S-VLAN=609, диапазон C-VLAN +
- +
-<note important>Правила для VLAN (''67'') и QinQ (''67.*''независимы и не пересекаются.</note>+
  
 ====Приоритет правил==== ====Приоритет правил====
 +Если диапазоны нескольких правил пересекаются, система определяет итоговое действие по принципу "от общего к частному":
 +  - Сначала применяются правила с самыми широкими диапазонами (например, 1-4095 или any.any).
 +  - Затем правила с более узкими диапазонами (например, 100-200) могут переопределить действие, заданное общими правилами.
  
-При пересечении диапазонов+**Пример:**\\ 
- +Следующие правила создадут политику:апретить DHCP для всех VLAN в диапазоне 300-700, но разрешить его для VLAN 645 и диапазона 430-439".
-  - сначала применяются наиболее общие правила апример, 1-4095, any.any) +
-  - затем более специфичные правила могут переопределять поведение +
- +
-**Пример:**+
 <code bash> <code bash>
 vlan rule add 300-700 dhcp disable vlan rule add 300-700 dhcp disable
Строка 84: Строка 69:
  
 ====Управление==== ====Управление====
 +  * ''vlan rule add'' — добавление нового правила в SDR.\\ Синтаксис для PPPoE:
 +    * Добавление правила для всего PPPoE-трафика в диапазоне: <code bash>vlan rule add <Range> pppoe [enable | drop | pass | delay N]</code>
 +    * Добавление правила для конкретного 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 modify'' — изменение существующего правила в SDR (аналогичный синтаксис).
 +  * ''vlan rule delete'' — удаление правила из SDR.
 +  * ''vlan rule show'' — показывает все правила для указанного VLAN/QinQ. В выводе отображаются не только общие действия для PPPoE, но и все разрешения для отдельных Service-Name.
 +  * ''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>
 +
 +**Особенности применения изменений:** Изменения правил, внесенные командами ''add'', ''modify'' или ''delete'', сохраняются в SDR и автоматически применяются системой спустя 5 минут после последней модификации. Команда ''vlan rule apply'' позволяет применить их принудительно, но не чаще одного раза в минуту.
 +
 +====Использование VLAN Rule в L2-балансировщике====
 +Правила VLAN также могут применяться компонентом **L2-балансировщик** для фильтрации пакетов. Это позволяет на этапе балансировки трафика отсеивать ненужные VLAN/QinQ до их попадания в основные обрабатывающие модули.
  
-  ''vlan rule add'' — добавить правило в SDR +**Пример:**\\ 
-  * ''vlan rule modify'' — изменить правило в SDR +Требуется дропнуть трафик по номеру одиночного тега 133, а также по qinq S-tag 266.\\ Для этого выполнить команды: 
-  * ''vlan rule delete'' — удалить правило из SDR +  - Дроп трафикатег которого равняется 133:<code bash>fdpi_cli vlan rule add 133 perm drop</code> Будет дропнут весь трафик, в котором есть одиночный тег 133 (трафик Q-in-Q не будет затронут
-  * ''vlan rule show'' — показать все правила для VLAN/QinQ +  - Дроп трафика, Service-тег которого равняется 266: <code bash>fdpi_cli vlan rule add '266:*perm drop</code> Будет дропнут весь трафик, в котором есть двойной тег, S-тег которого равняется 266 и любым C-тег (266:0-4095)
-  * ''vlan rule dump [type]'' — вывести правила SDR с фильтрацией по типу (perm, dhcp, all+
-  * ''vlan rule purge vlan/qinq/all'' — очистка SDR VLAN/QinQ или обоих +
-  * ''vlan rule apply'' — принудительное применение правил (не чаще 1 раза в минуту)+
  
-<note important> 
-При использовании ''*'' в QinQ рекомендуется использовать кавычки или ''any'' для предотвращения интерпретации shell. 
-</note> 
  
-**Применение изменений:** изменения сохраняются в SDR и автоматически применяются через 5 минут после последней модификации.