Підключення серверів до VLAN | INTROSERV
EUR
european

EUR

usa

USD

Ukraine Ua
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