2.4. Работа с тегированным трафиком

Примечание

Данная статья не раскрывает все возможные способы настройки VLAN интерфейсов для всех дистрибутивов. Если в тексте не описан подходящий способ, рекомендуем обратиться к документации вашего дистрибутива.

Что такое тегированный трафик

VLAN (Virtual Local Area Network) — виртуальная локальная компьютерная сеть. Объединяет несколько устройств, обладающих возможностью взаимодействовать между собой напрямую на канальном уровне, хотя физически при этом они могут быть подключены к разным сетевым коммутаторам. VLAN предоставляет широкий ряд возможностей:

  • Использование единого физического канала для передачи нескольких сетей.

  • Логическое деление коммутатора на несколько не сообщающихся между собой сетей.

  • Гибкое разделение устройств на группы.

  • Уменьшение количества широковещательного трафика в сети.

Порты коммутатора, поддерживающие VLAN соединения можно разделить на два множества:

  1. Тегированные порты (trunk-порты)

  2. Нетегированные порты (access-порты)

Тегированные порты необходимы для того, чтобы через один порт было возможно передавать данные, принадлежащие к различным VLAN. И, следовательно, получать трафик нескольких VLAN на один порт. Для приема данных, при подключении сервера к такому порту, устройство должно иметь аппаратную или программную поддержку VLAN.

Нетегированный порт - это обычный порт, в который приходят пакеты только для выбранного VLAN, но при этом в самих пакетах уже нет тегов. Т.е. такой порт используется для подключения к сети конечных устройств, которые не заботятся о существовании VLAN.

Тегированный трафик содержит тег, который позволяет установить принадлежность трафика к определенному VLAN. Без тега коммутатор не сможет различать трафик различных VLAN соединений. Наиболее распространённый способ проставления тегов описан в открытом стандарте IEEE 802.1Q.

../_images/Tag802_ru.png

Полезные ссылки

http://xgu.ru/wiki/VLAN (RU).

Как Boro работает с тегированным трафиком

Напрямую Boro не умеет работать с тегированным трафиком, поэтому необходимо настраивать сетевую подсистему ОС для приема VLAN трафика. В ОС создается виртуальный сетевой адаптер, к которому, в свою очередь, может подключиться зонд для получения данных. При запуске задачи необходимо выбрать соответствующий интерфейс.

Необходимо сказать, что в режиме Сниффинга зонд всё-таки может корректно принимать данные из trunk-порта без создания виртуальных адаптеров. Но при этом, в момент сниффинга мультикаст-пакеты уже должны присутствовать в порту, т.к. зонд в данном режиме не имеет возможности отправлять IGMP-join запрос.

Настройка VLAN интерфейсов

Поддержка в Linux

Для ОС Linux поддержка VLAN реализована в большинстве дистрибутивов. Ниже описаны несколько наиболее популярных способов настройки:

Ubuntu 20.04 - nmcli

Настройка VLAN интерфейсов через командную строку.

Для создания VLAN-соединения с названием “test” на основе физического интерфейса enp2s0 с именем VLAN-интерфейса “enp2s0.203” и ID 203 необходимо выполнить следующую команду в терминале:

nmcli con add type vlan con-name test ifname enp2s0.203 dev enp2s0 id 203
../_images/creatingVlanConnection.png
nmcli con - создание соединения,
add type vlan - соединение типа VLAN,
con-name - имя созданного соединения,
ifname - имя интерфейса VLAN,
dev enp2s0 - родительский интерфейс VLAN,
id 203 - VLAN id

Ответ должен содержать имя соединения (connection name):

../_images/receivedConectionName.png

При помощи команды ip a проверяем получил ли созданный VLAN IP-адрес:

../_images/checkingRecievedIP.png

Rocky 8 - nmtui

Настройка VLAN интерфейсов в Centos 7, Rocky 8, Ubuntu 20.04 desktop утилитой nmtui.

Для просмотра доступных интерфейсов в системе вводим в терминале команду ip a.

В ответе присутствует физический интерфейс, например под названием “enp2s0”, на основе которого будет создано VLAN соединение:

../_images/checkingAvailableInterfaces.png

Настройку необходимо выполнять от суперпользователя Linux. Вводим в терминале команду sudo nmtui.

В появившемся диалоговом окне выбираем пункт “Edit a connection”:

../_images/editingConnection.png

Дальше добавляем соединение, выбрав кнопку Add:

../_images/addingConnection.png

Выбираем необходимый тип соединения - VLAN:

../_images/selectingVLAN.png

Задаем необходимое имя сетевого профиля - “test”, затем вводим название VLAN-интерфейса, которое будет отображаться в системе - “enp2s0.203”, после чего указываем родительский интерфейс “enp2s0” и добавляем VLAN id “203”:

../_images/proceedingTestConnection.png

Выходим из NetworkManager:

../_images/Exiting.png

Настройка VLAN завершена. Проверяем IP-адрес, полученный VLAN-интерфейсом при помощи команды ip a:

../_images/checkingConfiguredIP.png

Если IP-адрес не получен автоматически, попробуйте деактивировать и затем активировать VLAN-интерфейс через пункт «Activate a connection» утилиты nmtui.

Ubuntu - Network Manager

Настройка VLAN интерфейсов в Ubuntu утилитой nm-connection-editor.

Network Manager - инструмент для управления сетевыми подключениями в Linux. Утилита nm-connection-editor является графической оболочкой данного инструмента и служит для создания и редактирования различных типов соединений.

Для просмотра доступных интерфейсов в системе вводим в терминале команду ip a. В ответе присутствует физический интерфейс, например под названием “enp4s0”, на основе которого будет создано VLAN соединение:

../_images/checkingAvailableInterfacesNM_1.png

Далее приступаем к созданию VLAN соединений. Вводим в окно терминала команду nm-connection-editor:

../_images/runningNM.png

В появившемся диалоговом окне нажимаем кнопку Добавить. Раскрываем полный список возможных типов соединений и выбираем необходимый тип соединения - VLAN:

../_images/addingConnectionNM.png

Даём имя “test” новому соединению. Выбираем родительский интерфейс нашего соединения - “enp4s0”. Назначаем ID нового VLAN и даём имя VLAN-интерфейсу “enp4s0.203”:

../_images/settingInterfaceNM.png

Проверяем метод получения для IPv4 и IPv6. В нашем случае - DHCP:

../_images/checkingIPV4-6.png

Сохраняем конфигурацию и проверяем наличие созданного VLAN в системе:

../_images/checkingNetworkConnectionNM.png

Проверяем в консоли IP-адрес созданного VLAN соединения с помощью команды ip a:

../_images/checkingAvailableInterfacesNM_2.png

Поддержка в Windows

Настольные версии ОС Windows не имеют полноценной поддержки технологии VLAN, однако некоторые адаптеры на уровне драйвера поддерживают виртуализацию и для настройки производители предлагают устанавливать специальные утилиты. Изучите документацию поставщика драйвера вашего адаптера.

Серверная версия ОС Windows имеет встроенную поддержку VLAN, более подробно с настройками можно ознакомиться в статье How to Configure Multiple VLANs on Windows Server 2022/2019/2016 (внешняя ссылка, английский язык).