2.4. Работа с тегированным трафиком¶
Примечание
Данная статья не раскрывает все возможные способы настройки VLAN интерфейсов для всех дистрибутивов. Если в тексте не описан подходящий способ, рекомендуем обратиться к документации вашего дистрибутива.
Что такое тегированный трафик¶
VLAN (Virtual Local Area Network) — виртуальная локальная компьютерная сеть. Объединяет несколько устройств, обладающих возможностью взаимодействовать между собой напрямую на канальном уровне, хотя физически при этом они могут быть подключены к разным сетевым коммутаторам. VLAN предоставляет широкий ряд возможностей:
Использование единого физического канала для передачи нескольких сетей.
Логическое деление коммутатора на несколько не сообщающихся между собой сетей.
Гибкое разделение устройств на группы.
Уменьшение количества широковещательного трафика в сети.
Порты коммутатора, поддерживающие VLAN соединения можно разделить на два множества:
Тегированные порты (trunk-порты)
Нетегированные порты (access-порты)
Тегированные порты необходимы для того, чтобы через один порт было возможно передавать данные, принадлежащие к различным VLAN. И, следовательно, получать трафик нескольких VLAN на один порт. Для приема данных, при подключении сервера к такому порту, устройство должно иметь аппаратную или программную поддержку VLAN.
Нетегированный порт - это обычный порт, в который приходят пакеты только для выбранного VLAN, но при этом в самих пакетах уже нет тегов. Т.е. такой порт используется для подключения к сети конечных устройств, которые не заботятся о существовании VLAN.
Тегированный трафик содержит тег, который позволяет установить принадлежность трафика к определенному VLAN. Без тега коммутатор не сможет различать трафик различных VLAN соединений. Наиболее распространённый способ проставления тегов описан в открытом стандарте IEEE 802.1Q.
Полезные ссылки
http://xgu.ru/wiki/VLAN (RU).
Как Boro работает с тегированным трафиком¶
Напрямую Boro не умеет работать с тегированным трафиком, поэтому необходимо настраивать сетевую подсистему ОС для приема VLAN трафика. В ОС создается виртуальный сетевой адаптер, к которому, в свою очередь, может подключиться зонд для получения данных. При запуске задачи необходимо выбрать соответствующий интерфейс.
Необходимо сказать, что в режиме Сниффинга зонд всё-таки может корректно принимать данные из trunk-порта без создания виртуальных адаптеров. Но при этом, в момент сниффинга мультикаст-пакеты уже должны присутствовать в порту, т.к. зонд в данном режиме не имеет возможности отправлять IGMP-join запрос.
Настройка VLAN интерфейсов¶
Поддержка в Linux¶
Для ОС Linux поддержка VLAN реализована в большинстве дистрибутивов. Ниже описаны несколько наиболее популярных способов настройки:
Ubuntu 20.04 - nmcli
Настройка VLAN интерфейсов через командную строку.
Полезные ссылки
Configure 802.1Q VLAN Tagging Using the Command Line Tool, nmcli
Для создания VLAN-соединения с названием “test” на основе физического интерфейса enp2s0 с именем VLAN-интерфейса “enp2s0.203” и ID 203 необходимо выполнить следующую команду в терминале:
nmcli con add type vlan con-name test ifname enp2s0.203 dev enp2s0 id 203
nmcli con - создание соединения,add type vlan - соединение типа VLAN,con-name - имя созданного соединения,ifname - имя интерфейса VLAN,dev enp2s0 - родительский интерфейс VLAN,id 203 - VLAN id
Ответ должен содержать имя соединения (connection name):
При помощи команды ip a
проверяем получил ли созданный VLAN IP-адрес:
Rocky 8 - nmtui
Настройка VLAN интерфейсов в Centos 7, Rocky 8, Ubuntu 20.04 desktop утилитой nmtui
.
Для просмотра доступных интерфейсов в системе вводим в терминале команду ip a
.
В ответе присутствует физический интерфейс, например под названием “enp2s0”, на основе которого будет создано VLAN соединение:
Настройку необходимо выполнять от суперпользователя Linux.
Вводим в терминале команду sudo nmtui
.
В появившемся диалоговом окне выбираем пункт “Edit a connection”:
Дальше добавляем соединение, выбрав кнопку Add:
Выбираем необходимый тип соединения - VLAN:
Задаем необходимое имя сетевого профиля - “test”, затем вводим название VLAN-интерфейса, которое будет отображаться в системе - “enp2s0.203”, после чего указываем родительский интерфейс “enp2s0” и добавляем VLAN id “203”:
Выходим из NetworkManager:
Настройка VLAN завершена.
Проверяем IP-адрес, полученный VLAN-интерфейсом при помощи команды ip a
:
Если IP-адрес не получен автоматически, попробуйте деактивировать и затем активировать VLAN-интерфейс через пункт «Activate a connection» утилиты nmtui.
Ubuntu - Network Manager
Настройка VLAN интерфейсов в Ubuntu утилитой nm-connection-editor
.
Network Manager - инструмент для управления сетевыми подключениями в Linux. Утилита nm-connection-editor является графической оболочкой данного инструмента и служит для создания и редактирования различных типов соединений.
Для просмотра доступных интерфейсов в системе вводим в терминале команду ip a
.
В ответе присутствует физический интерфейс, например под названием “enp4s0”, на основе которого будет создано VLAN соединение:
Далее приступаем к созданию VLAN соединений. Вводим в окно терминала команду nm-connection-editor
:
В появившемся диалоговом окне нажимаем кнопку Добавить. Раскрываем полный список возможных типов соединений и выбираем необходимый тип соединения - VLAN:
Даём имя “test” новому соединению. Выбираем родительский интерфейс нашего соединения - “enp4s0”. Назначаем ID нового VLAN и даём имя VLAN-интерфейсу “enp4s0.203”:
Проверяем метод получения для IPv4 и IPv6. В нашем случае - DHCP:
Сохраняем конфигурацию и проверяем наличие созданного VLAN в системе:
Проверяем в консоли IP-адрес созданного VLAN соединения с помощью команды ip a
:
Поддержка в Windows¶
Настольные версии ОС Windows не имеют полноценной поддержки технологии VLAN, однако некоторые адаптеры на уровне драйвера поддерживают виртуализацию и для настройки производители предлагают устанавливать специальные утилиты. Изучите документацию поставщика драйвера вашего адаптера.
Серверная версия ОС Windows имеет встроенную поддержку VLAN, более подробно с настройками можно ознакомиться в статье How to Configure Multiple VLANs on Windows Server 2022/2019/2016 (внешняя ссылка, английский язык).