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

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
dpi:dpi_components:platform:vlan_traffic_handling [2026/06/03 12:28] 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> <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 — трафик пропускается.
  
-  - Дроп трафика без анализа из конкретного VLAN: +<note tip>Подробнее в разделе [[dpi:bras_bng:bras_pppoe#настройка_service-name_для_vlan|Настройка Service-Name для VLAN]]</note>
-<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-туннелей.
  
Строка 45: Строка 31:
       * не применяются услуги 9, 12, 15, 18, NAT, а также полисинг (общий и канальный);       * не применяются услуги 9, 12, 15, 18, NAT, а также полисинг (общий и канальный);
       * пакет не записывается через ajb — в IPFIX, SIP, FTP и др.       * пакет не записывается через ajb — в IPFIX, SIP, FTP и др.
- +  * ''pppoe'' — управляет обработкой PPPoE-пакетов. Поддерживается фильтрация по Service-Name, в том числе для QinQ-туннелей. Доступны следующие действия: 
-====PPPoE support (VLAN Rule)==== +    * ''enable'' — разрешить обработку PPPoE. 
-Добавлена поддержка обработки PPPoE-трафика в правилах VLAN. +    * ''drop'' — дропать пакеты PPPoE. 
- +    * ''pass'' — пропустить пакеты PPPoE насквозь без обработки. 
-Правила PPPoE: +    * ''delay N'' — устанавливать PPPoE-сессию с задержкой в N секунд (0 < N < 16).\\ Правила могут быть заданы как для всего PPPoE-трафика в диапазоне VLAN/QinQ, так и для конкретного Service-Name.
- +
-<code bash> +
-vlan rule add <Range> pppoe [enable | drop | pass | delay N] +
-</code> +
- +
-Правила PPPoE с фильтрацией Service-Name+
- +
-<code bash> +
-vlan rule add <Range> pppoe sname <Service-Name> [enable | drop | pass | delay N] +
-</code> +
- +
-Разрешения: +
-  * ''enable'' — разрешена обработка PPPoE +
-  * ''drop'' — дропать PPPoE-пакеты +
-  * ''pass'' — пропускать PPPoE без обработки +
-  * ''delay N'' — устанавливать PPPoE-сессию с задержкой N секунд (0 < N < 16)+
  
 ====Синтаксис описания диапазонов VLAN/QinQ==== ====Синтаксис описания диапазонов VLAN/QinQ====
 Правила применяются к диапазонам, которые задаются в следующем формате: Правила применяются к диапазонам, которые задаются в следующем формате:
   * Для одиночного VLAN: ''156''   * Для одиночного VLAN: ''156''
-  * Для диапазона VLAN: ''56-78''+  * Для диапазона VLAN: ''56-78'' (VLAN с 56 по 78 включительно)
   * Для любого VLAN: ''*'' или ''any''   * Для любого VLAN: ''*'' или ''any''
   * Для QinQ:   * Для QinQ:
-    * ''67.*'' или ''67.any'' — S-VLAN=67, любой C-VLAN +    * ''67.*'' или ''67.any'' — S-VLAN=67, любой C-VLAN. 
-    * ''*.68'' или ''any.68'' — любой S-VLAN, C-VLAN=68 +    * ''*.68'' или ''any.68'' — любой S-VLAN, C-VLAN=68. 
-    * ''*.*'' или ''any.any'' — любой QinQ +    * ''*.*'' или ''any.any'' — любой QinQ. 
-    * ''12-156.78-90'' — диапазон S-VLAN [12..156], диапазон C-VLAN [78..90] +    * ''12-156.78-90'' — диапазон S-VLAN [12..156], диапазон C-VLAN [78..90]. 
-    * ''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.
  
 ====Приоритет правил==== ====Приоритет правил====
 Если диапазоны нескольких правил пересекаются, система определяет итоговое действие по принципу "от общего к частному": Если диапазоны нескольких правил пересекаются, система определяет итоговое действие по принципу "от общего к частному":
-  - Сначала применяются правила с самыми широкими диапазонами (например, 1-4095 или any.any) +  - Сначала применяются правила с самыми широкими диапазонами (например, 1-4095 или any.any). 
-  - Затем более узкие правила могут переопределить действие+  - Затем правила с более узкими диапазонами апример, 100-200) могут переопределить действие, заданное общими правилами.
  
-**Пример:**+**Пример:**\\ 
 +Следующие правила создадут политику: "Запретить DHCP для всех VLAN в диапазоне 300-700, но разрешить его для VLAN 645 и диапазона 430-439".
 <code bash> <code bash>
 vlan rule add 300-700 dhcp disable vlan rule add 300-700 dhcp disable
Строка 94: Строка 69:
  
 ====Управление==== ====Управление====
-  * ''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'' — принудительное применение правил (не чаще раза в минуту)+  * ''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 до их попадания в основные обрабатывающие модули. 
 + 
 +**Пример:**\\ 
 +Требуется дропнуть трафик по номеру одиночного тега 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)
  
-<note important> 
-При использовании ''*'' в CLI для QinQ-диапазонов рекомендуется заключать выражение в кавычки или использовать ''any''. 
-</note> 
  
-**Особенности применения изменений:** изменения сохраняются в SDR и применяются автоматически спустя 5 минут после последней модификации.