У цій статті ми покажемо, як налаштувати тегованих інтерфейс VLAN (Віртуальної локальної мережі) вбудованими програмними засобами Linux в операційних системах CentOS / Fedora / RedHat. Рассмот настройку через підінтерфейс, Окремий файл vlanX, А також за допомогою инстументов Менеджер мереж і vconfig.

В операційних системах CentOS / Fedora / RedHat, є два варіанти настройки VLAN:

  • Використання підінтерфейс (Наприклад eth12.7);
  • Використання окремого файлу vlanXX(vlan7).
VLAN (Virtual Local Area Network) дозволяє розділити мережу на канальному рівні на кілька ізольованих широкомовних доменів. За допомогою VLAN ви можете налаштувати кілька мереж на одному фізичному порту сервера., Маршрутизатор, комутатори і сервера при використанні 802.1Q VLAN можуть привласнювати мережевим пакетам спеціальний тег (тегованих трафік) з номером VLAN (VLAN ID: від 0 до 4095).

Переваги VLAN:

  • Сегментування мережі (поділ пристроїв на ізольовані групи);
  • Зменшення кількості мережевого обладнання;
  • Зниження навантаження на мережу для зменшення широкомовного трафіку;
  • Поліпшення безпеки і керованості мережі.

Створюємо VLAN через subinterface

Для настройки тегованих інтерфейсу, на сервері повинен бути завантажений модуль ядра Linux – 8021q. Для завантаження модуля, виконайте:

# modprobe 8021q

Якщо модуль вже завантажив, з’явиться помилка: modprobe: ERROR: could not insert '8021q': Module already in kernel.

Перевіримо, завантажився чи модуль:

# lsmod | grep 8021q

8021q 33080 0
garp 14384 1 8021q
mrp 18542 1 8021q

Все ок, модуль 8021q є.

Так само потрібно додати даний модуль в автозавантаження при рестарт системи:

# echo 8021q >> /etc/modules-load.d/8021q.conf

створимо VLAN c Ідентифікатор 7 для мережевого інтерфейсу ет0. Додаємо конфігураційний файл ifcfg-eth0.7 (7 після точки це призначається номер VLAN). У цьому файлі міститься опис підінтерфейсів VLAN.

# nano /etc/sysconfig/network-scripts/ifcfg-eth0.7

І вписуємо наступне вміст:

ONBOOT=yes
TYPE=Ethernet
VLAN=yes
DEVICE=eth0.7
BOOTPROTO=static
IPADDR=10.16.20.10
NETMASK=255.255.255.0

Даний файл конфігурації пов’язує віртуальний інтерфейс eth0.7 з фізичним інтерфейсом eth0. Після створення файлу конфігурації, потрібно перезапустити сервіс network:

# systemctl restart network

створення файлу з сабінтерфейсом vlan в linux centos

Перевіримо мережеві настройки:

# ip a

перевірка мережевих налаштувань і vlan

Як бачимо, сабінтерфейс з потрібним нам VLAN7 доданий.

Поточні прив’язки інтерфейсів і VLAN можна вивести:

# cat /proc/net/vlan/config

Статистику інтерфейсу можна отримати так (за допомогою лічильників пакетів можна переконатися, що VLAN інтерфейс отримує маркований трафік):

# cat /proc/net/vlan/eth0.7

Щоб виконати ping з певного інтерфейсу VLAN, використовуйте формат команди:

# ping -I eth0.7 192.168.1.22

Налаштування VLAN через окремий файл vlanXX

Тепер спробуємо створити VLAN з ID 8 через окремий файл конфігурації:

# nano /etc/sysconfig/network-scripts/ifcfg-vlan8

Додамо в нього наступні рядки:

ONBOOT=yes
TYPE=Ethernet
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
DEVICE=vlan8
PHYSDEV=eth0.8
VLAN_ID=8
BOOTPROTO=static
IPADDR=10.16.20.10
NETMASK=255.255.255.0

Зверніть увагу, що файл конфігурації трохи відрізняється від попереднього. У даній настройці, потрібно вказувати рядок «PHYSDEV», Яка направляє конфігураційний файл на фізичний мережевий інтерфейс.

/ etc / sysconfig / network-scripts / ifcfg-vlan8 - налаштуйте файл vlan у centos

Після всіх налаштувань, так само потрібне перезавантаження сервісу network:

# systemctl restart network

Якщо при перезапуску служби Сетте ви отримуєте помилку Для цього підключення не знайдено відповідного пристрою, Перевірте що в файлі конфігурації ifcfg-vlan8 вказано значення для опції VLAN_ID.

Зробимо перевірку:

ip l ls

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:1d:4b:67 brd ff:ff:ff:ff:ff:ff
5: eth0.7@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:1d:4b:67 brd ff:ff:ff:ff:ff:ff
6: vlan8@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:1d:4b:67 brd ff:ff:ff:ff:ff:ff

Потрібний мережевий інтерфейс з VLAN8 так само доступний.

Використовуємо NetworkManager для настройки VLAN інтерфейсу

Починаючи з 8 версії CentOS / RedHat за замовчуванням мережею на сервері управляє Менеджер мереж. Раніше це інструмент так само був доступний, але більшість аміністраторов використовували звичний network.

Розглянемо варіант настройки VLAN через NM. Створимо віртуальний інтерфейс ens3.7 для VLAN 7 на фізичному інтерфейсі ens3 і задамо IP:

# nmcli con add type vlan con-name ens3.7 ifname VLAN7 id 7 dev ens3 ip4 15.12.10.11/24 gw4 15.12.10.254

Щоб перевірити мережеві інтерфейси на сервері, використовуйте команду:

# nmcli con show

NAME UUID TYPE DEVICE
ens3 8bd5cfbc-5ffc-4554-8ae1-9e02e4b57ceb ethernet ens3
virbr0 e64e63a5-76ae-4661-91ae-009f566c5e66 bridge virbr0
ens3.7 e5e91557-49a8-4389-bdfc-c9bfc099714b vlan VLAN7

Після настройки, виконайте перезавантаження NetworkManager:

# systemctl restart NetworkManager

Після перезапуску різноманітних служб NM, інтерфейс не пропав.

nmcli - NetworkManager - створення vlan Вивести поточні настройки створеного VLAN інтерфейсу можна так:

# nmcli connection show ens3.7

Налаштування тимчасового VLAN за допомогою утиліти vconfig

Для тестових налаштувань краще використовувати утиліту vconfig. Її особливість – після перезавантаження сервера всі налаштування мережі повертаються до вихідного стану. Vconfig дуже корисна утиліта на етапах тестування або навчання, так як якщо ви втратите доступ до сервера через неправильні параметри мережі, можна повернутися до початкової конфігурації простий перезавантаженням. Дана утиліта доступна в репозиторії EPEL, встановимо її:

# yum install epel-release-y && yum install vconfig

Створимо інтерфейс з VLAN9:

# vconfig add eth0 9

Added VLAN with VID == 9 to IF -:eth0:-

Після цього призначимо створеному мережному інтерфейсу IP-адреса:

# ifconfig eth0.9 10.18.0.15 netmask 255.255.255.0 up

Тимчасовий інтерфейс c VLAN був створений.

ip l ls - віртуальний мережевий інтерфейс vlan

PS На момент написання статті, утиліта vconfig була недоступна для дистрибутивів CentOS 8 і RedHat 8.

Не забувайте, що крім настройки VLAN на сервері для забезпечення мережевої пов’язаності, вам потрібно налаштувати відповідні VLAN на мережевому обладнанні.

Leave a Reply

Your email address will not be published. Required fields are marked *