Подключение серверов к VLAN

Настройка VLAN (Virtual Local Area Network) на серверах Linux позволяет создавать виртуальные сети для управления и изоляции трафика в сети.

Ubuntu 22.04

Настройка VLAN на двух серверах Ubuntu 22.04 может быть выполнена с использованием инструмента netplan, который предоставляет удобный способ настройки сетевых интерфейсов в Ubuntu.

1. Конфигурация VLAN без тегирования

Сначала настроим VLAN без использования идентификаторов (VLAN ID), но в этом случае это будет называться "untagged" VLAN. Untagged VLAN означает, что трафик на этом VLAN будет передаваться без VLAN-метки через физический интерфейс.

Узнаем интерфейс для настройки VLAN, с помощью команды ip link show.

В данном случае на обеих серверах у нас он enp0s8.

2. Присвоим IP-адреса VLAN

Для начала найдем нашу конфигурацию netplan, YAML файл может называться по разному.

Откроем конфигурацию и внесем изменения чтобы присвоить IP-адрес на наш интерфейс.

sudo nano /etc/netplan/*.yaml

Нужно внести изменения на обеих серверах.

enp0s8:
dhcp4: no
addresses: [192.168.1.2/24, ]
gateway4: 192.168.1.1

Будьте аккуратны с синтаксисом.

После этого применяем настройки: 

sudo netplan apply

Так же проверим присвоился ли адрес на интерфейсе:

3. Пропингуем адреса в локальной сети

Теперь сервера соединены между собой с помощью VLAN.

4. Установка пакета VLAN

Прежде всего, убедитесь, что на обоих серверах установлен vlan пакет. Вы можете установить его с помощью команды:

sudo apt update
sudo apt install vlan

5. Так же добавим 2 тега на наш интерфейс

Все сетевые пакеты будут помечены(tagged) перед отправкой через этот интерфейс. Для примера добавим в нашу конфигурацию netplan два идентификатора VLAN 10 и 20, все сетевые пакеты будут помечены перед отправкой через этот интерфейс.

Откроем netplan и добавим параметры vlan:

vlans:
vlan10:
id: 10
link: enp0s8
addresses: [192.168.1.2/24]

vlan20:
link: enp0s8
id: 20
addresses: [192.168.1.2/24]

Будьте аккуратны с синтаксисом, поскольку YAML не прощает ошибок.

Так же и для второго сервера:
vlans:
vlan10:
id: 10
link: enp0s8
addresses: [192.168.1.1/24]


vlan20:
link: enp0s8
id: 20
addresses: [192.168.1.1/24]

После этого применяем настройки: sudo netplan apply

6. Проверим правильно ли все настроили

После применения конфигурации, удостоверьтесь, что VLAN работает корректно, выполнив команду ip a для просмотра текущей настройки сети на сервере.

Debian 11

Настройка VLAN на двух серверах Debian может быть выполнена с использованием файла /etc/network/interfaces, который предоставляет удобный способ настройки сетевых интерфейсов в Debian.

1. Конфигурация VLAN без тегирования

Сначала настроим VLAN без использования идентификаторов (VLAN ID), но в этом случае это будет называться "untagged" VLAN. Untagged VLAN означает, что трафик на этом VLAN будет передаваться без VLAN-метки через физический интерфейс.

Сначала узнаем интерфейс для настройки VLAN, с помощью команды ip link show.

В данном случае на обеих серверах у нас он enp0s8.

2. Назначаем IP адрес на наш интерфейс

ip addr add 192.168.1.1/24 dev enp0s8
ip addr add 192.168.1.2/24 dev enp0s8

Так же пропишем это в /etc/network/interfaces

auto enp0s8
Iface enp0s8 inet static
address 192.168.1.1
netmask 255.255.255.0

Аналогично для 2 сервера:

Перезагрузим сервер

Как видно адрес прописан
Команда для проверки: ip addr

Проверяем после перезагрузки пингуются ли сервера между собой:

3. Настроим теггированый VLAN

Все сетевые пакеты будут помечены(tagged) перед отправкой через этот интерфейс. Для примера добавим в нашу конфигурацию nидентификатора VLAN 10, все сетевые пакеты будут помечены перед отправкой через этот интерфейс.

Здесь enp0s8.10 - это виртуальный интерфейс для VLAN с ID 10, и он настроен на использование физического интерфейса enp0s8.

Аналогично для 2 сервера:

Ip addr 192.168.1.1/24 dev enp0s8.10
Ip addr 192.168.1.2/24 dev enp0s8.10

Так же пропишем в конфиге /etc/network/interfaces для того чтобы у нас сохранялись настройки после перезагрузки.

Аналогично для 2 сервера:

auto enp0s8.10
Iface enp0s8.10 inet static
address 192.168.1.1
netmask 255.255.255.0

4. Проверим конфигурации vlan

Введем команду: ip addr

CentOS 7

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

1. Конфигурация VLAN без тегирования

Сначала настроим VLAN без использования идентификаторов (VLAN ID), но в этом случае это будет называться "untagged" VLAN. Untagged VLAN означает, что трафик на этом VLAN будет передаваться без VLAN-метки через физический интерфейс.

Сначала узнаем интерфейс для настройки VLAN, с помощью команды ip addr.

В данном случае на обеих серверах у нас он enp0s8.

2. Назначаем IP адрес на наш интерфейс

Откройте файл настройки сетевых интерфейсов для редактирования:

sudo nano /etc/sysconfig/network-scripts/ifcfg-enp0s8

В данном случае он называется аналогично интерфейсу.

ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
VLAN=no
IPADDR=192.168.1.1
NETMASK=255.255.255.0

3. Перезапустим сетевой сервис

sudo systemctl restart network

4. Проверим добавлен ли адрес на интерфейс и пропингуем другой сервер

ip addr

Пропингуем сервера.

Сервера доступны между собой.

5. Настройка тегированного (tagged) VLAN

Откройте файл настройки сетевых интерфейсов для редактирования, используя физический интерфейс(в данном случае enp0s8):

sudo nano /etc/sysconfig/network-scripts/ifcfg-enp0s8

Добавим в файл такие строки:

VLAN=yes
VLAN_ID=10

Так же в строку DEVICE=enp0s8 добавляем идентификатор VLAN

DEVICE=enp0s8.10

6. Перезапустим сетевой сервис на обеих серверах

sudo systemctl restart network

7. Проверим добавлен ли тег на интерфейс и пропингуем другой сервер

ip addr

Оба сервера имеют подключение к друг другу.

Тегированый VLAN настроен.