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

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

Ubuntu 22.04

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

1. Настройка нетегированной VLAN

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

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

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

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

2. Назначение IP-адресов VLAN

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

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

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

sudo nano /etc/netplan/*.yaml

Изменения необходимо внести на обоих серверах.

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

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

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

sudo netplan apply

Также проверим, был ли назначен адрес на интерфейсе:

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

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

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

Теперь серверы соединены друг с другом с помощью VLAN.

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

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

sudo apt update
sudo apt install vlan
Подключение серверов к VLAN

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

Все сетевые пакеты будут помечены тегами перед отправкой через этот интерфейс. Например, давайте добавим два идентификатора VLAN 10 и 20 в конфигурацию netplan; все сетевые пакеты будут помечены перед отправкой через этот интерфейс.

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

Подключение серверов к 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]
Подключение серверов к VLAN

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

sudo netplan apply

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

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

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

Debian 11

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

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

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

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

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

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

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

Подключение серверов к VLAN
ip addr add 192.168.1.1/24 dev enp0s8
ip addr add 192.168.1.2/24 dev enp0s8  

Мы также добавим это в файл /etc/network/interfaces

Подключение серверов к VLAN
auto enp0s8
Iface enp0s8 inet static
address 192.168.1.1
netmask 255.255.255.0

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

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

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

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

Как вы можете видеть, адрес зарегистрирован
Команда для проверки: 

ip addr

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

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

3. Настройте тегированную виртуальную локальную сеть

Перед отправкой через этот интерфейс все сетевые пакеты будут помечены. Например, добавим идентификатор VLAN 10 в нашу конфигурацию; все сетевые пакеты будут помечены перед отправкой через этот интерфейс.

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

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

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

Подключение серверов к VLAN
Ip addr 192.168.1.1/24 dev enp0s8.10
Ip addr 192.168.1.2/24 dev enp0s8.10

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

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

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

Подключение серверов к VLAN
auto enp0s8.10
Iface enp0s8.10 inet static
address 192.168.1.1
netmask 255.255.255.0  

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

Введите команду: 

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

CentOS 7

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

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

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

Выяснить интерфейс для настройки VLAN можно с помощью команды 

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

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

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

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

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

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

Подключение серверов к VLAN
Подключение серверов к VLAN
Подключение серверов к VLAN
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
VLAN=no
IPADDR=192.168.1.1
NETMASK=255.255.255.0

3. Перезапустите сетевую службу

sudo systemctl restart network
Подключение серверов к VLAN

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

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

Давайте пропингуем серверы.

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

Серверы доступны друг другу.

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

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

sudo nano /etc/sysconfig/network-scripts/ifcfg-enp0s8
Подключение серверов к VLAN

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

VLAN=yes
VLAN_ID=10 Также добавим идентификатор VLAN в строку DEVICE=enp0s8
DEVICE=enp0s8.10
Подключение серверов к VLAN
Подключение серверов к VLAN

6. Перезапустите сетевую службу на обоих серверах

sudo systemctl restart network
Подключение серверов к VLAN

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

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

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

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

Тегированная виртуальная локальная сеть настроена.