EUR
european

EUR

usa

USD

Russian Ru
Ex. VAT Ex. VAT 0%

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

Это руководство объясняет, как настроить VLAN на серверах Linux для изоляции и управления сетевым трафиком. Ниже описаны шаги для Ubuntu 22.04, Debian 11 и AlmaLinux 9 / Rocky Linux 9.

Info

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

Проверка модуля ядра 8021q

Во всех дистрибутивах перед настройкой VLAN убедитесь, что модуль ядра 8021q загружен:

lsmod | grep 8021q

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

sudo modprobe 8021q

Чтобы загружать модуль автоматически, добавьте его в /etc/modules:

echo "8021q" | sudo tee -a /etc/modules

Ubuntu 22.04

Ubuntu 22.04 использует netplan для настройки сети.

Определение сетевого интерфейса

Выполните следующую команду, чтобы определить имя интерфейса:

ip link show

В приведённых ниже примерах используется интерфейс enp0s8.

Настройка сети для порта access без тегов

В этом разделе описывается назначение статического IP-адреса непосредственно физическому интерфейсу без создания VLAN-подинтерфейса.

Откройте файл конфигурации netplan:

sudo nano /etc/netplan/*.yaml

Добавьте следующую конфигурацию. Используйте разные IP-адреса на каждом сервере:

Сервер 1:

network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.1/24 routes: - to: default via: 192.168.1.254

Сервер 2:

network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.2/24 routes: - to: default via: 192.168.1.254

Warning

Параметр gateway4 устарел начиная с netplan 0.100 и вызывает предупреждение. Используйте вместо него routes:, как показано выше.

Проверьте конфигурацию перед применением. Команда ожидает подтверждение до 120 секунд, а затем автоматически возвращает предыдущую конфигурацию, если подтверждение не получено. Это особенно полезно на удалённых серверах:

sudo netplan try

Если конфигурация корректна, примените её:

sudo netplan apply

Проверьте, что адрес назначен:

ip addr show enp0s8

Настройка VLAN с тегами

Откройте файл конфигурации netplan и добавьте VLAN-интерфейсы. Используйте разные IP-адреса для каждого сервера в каждой VLAN:

Сервер 1:

network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.1/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.1/24

Сервер 2:

network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.2/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.2/24

Warning

Использование одинаковых IP-адресов приведёт к конфликту. Каждый сервер должен иметь уникальный IP-адрес в каждой VLAN.

Info

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

Проверьте и примените конфигурацию:

sudo netplan try sudo netplan apply

Проверьте результат:

ip addr

Чтобы проверить корректность работы VLAN tagging:

ip -d link show vlan10 ip -d link show vlan20

Проверьте соединение:

ping 192.168.10.2 ping 192.168.20.2

Debian 11

Debian 11 использует файл /etc/network/interfaces для настройки сети.

Установка пакета vlan

В чистой установке Debian перед настройкой VLAN-интерфейсов установите пакет vlan:

sudo apt update sudo apt install vlan

Определение сетевого интерфейса

ip link show

В приведённых ниже примерах используется интерфейс enp0s8.

Настройка сети для порта access без тегов

В этом разделе описывается назначение статического IP-адреса непосредственно физическому интерфейсу без создания VLAN-подинтерфейса.

Добавьте следующую конфигурацию в /etc/network/interfaces на каждом сервере.

Warning

Команда ip addr add назначает адрес временно, и это назначение не сохранится после перезагрузки. Используйте постоянную конфигурацию ниже, чтобы сохранить настройку.

Сервер 1:

auto enp0s8 iface enp0s8 inet static address 192.168.1.1/24 gateway 192.168.1.254

Сервер 2:

auto enp0s8 iface enp0s8 inet static address 192.168.1.2/24 gateway 192.168.1.254

Примените конфигурацию без перезагрузки:

sudo systemctl restart networking

Проверьте, что адрес активен:

ip addr

Проверьте, что серверы могут обращаться друг к другу:

ping 192.168.1.2

Настройка VLAN с тегами

Добавьте VLAN-интерфейсы в /etc/network/interfaces на каждом сервере. Используйте разные IP-адреса для каждого сервера в каждой VLAN.

Сервер 1:

auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.1/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.1/24

Сервер 2:

auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.2/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.2/24

Примените конфигурацию:

Warning

Перезапуск сетевой службы на удалённом сервере может прервать текущую SSH-сессию.

sudo systemctl restart networking

Проверьте результат:

ip addr

Чтобы проверить корректность работы VLAN tagging:

ip -d link show enp0s8.10 ip -d link show enp0s8.20

Проверьте соединение:

ping 192.168.10.2 ping 192.168.20.2

AlmaLinux 9 / Rocky Linux 9

AlmaLinux 9 и Rocky Linux 9 используют NetworkManager для настройки сети. Рекомендуемым инструментом для управления подключениями является nmcli. Старый подход с использованием /etc/sysconfig/network-scripts/ не поддерживается в дистрибутивах на базе RHEL 9.

Определение сетевого интерфейса

nmcli device status

В приведённых ниже примерах используется интерфейс enp0s8.

Проверка существующих подключений

Перед добавлением нового подключения проверьте, существует ли уже профиль подключения для интерфейса:

nmcli connection show

Если на enp0s8 активно существующее подключение, удалите его, чтобы избежать конфликтов. Используйте имя профиля точно так, как оно указано в выводе выше. Пропустите этот шаг, если существующий профиль был создан вашим хостинг-провайдером или cloud-init:

nmcli connection delete "Wired connection 1"

Настройка сети для порта access без тегов

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

Сервер 1:

nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.1/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary

Сервер 2:

nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.2/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary

Проверьте, что адрес назначен:

ip addr show enp0s8

Проверьте соединение между серверами:

ping 192.168.1.2

Настройка VLAN с тегами

Создайте VLAN-интерфейс поверх физического интерфейса. Используйте разные IP-адреса на каждом сервере для каждой VLAN.

Сервер 1:

nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.1/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.1/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20

Сервер 2:

nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.2/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.2/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20

Warning

Использование одинаковых IP-адресов приведёт к конфликту. Каждый сервер должен иметь уникальный IP-адрес в каждой VLAN.

Проверьте результат:

ip addr

Чтобы проверить корректность работы VLAN tagging:

ip -d link show enp0s8.10 ip -d link show enp0s8.20

Проверьте соединение:

ping 192.168.10.2 ping 192.168.20.2

Устранение неполадок

Если VLAN-интерфейсы не появляются или не получают трафик:

  • проверьте, что порт коммутатора разрешает необходимые VLAN ID;
  • убедитесь, что vSwitch или группа портов гипервизора настроены для передачи VLAN-тегов;
  • убедитесь, что в конфигурации указан правильный родительский интерфейс;
  • проверьте, что модуль ядра 8021q загружен: lsmod | grep 8021q.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA