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

В данном случае на обоих серверах он у нас 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 метки к нашему интерфейсу

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

Откройте 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. Нетегированная 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

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

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

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

ip addr

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

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

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

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

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

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

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

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

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), но в этом случае она будет называться "нетегированной" VLAN. Нетегированная 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. Настройка тегированной VLAN

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

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

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

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

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

sudo systemctl restart network

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

ip addr

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

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