В этой статье мы покажем, как настроить тегированный интерфейс VLAN (виртуальной локальной сети) встроенными программными средствами Linux в операционных системах CentOS/Fedora/RedHat. Рассмотим настройку через subinterface , отдельный файл vlanX , а также с помощью инстументов NetworkManager и vconfig .
В операционных системах CentOS/Fedora/RedHat, есть два варианта настройки VLAN:
Преимущества VLAN:
Для настройки тегированного интерфейса, на сервере должен быть загружен модуль ядра Linux — 8021q . Для загрузки модуля, выполните:
# modprobe 8021q
Если модуль уже загрузен, появится ошибка: modprobe: ERROR: could not insert '8021q': Module already in kernel
.
Проверим, загрузился ли модуль:
# lsmod | grep 8021q
8021q 33080 0_x000D_garp 14384 1 8021q_x000D_mrp 18542 1 8021q
Все ок, модуль 8021q имеется.
Так же нужно добавить данный модуль в автозагрузку при рестарте системы:
# echo 8021q >> /etc/modules-load.d/8021q.conf
Создадим VLAN c ID 7 для сетевого интерфейса eth0 . Добавляем конфигурационный файл ifcfg-eth0.7 (7 после точки это назначаемый номер VLAN). В этом файле содержится описание подинтерфейса VLAN.
# nano /etc/sysconfig/network-scripts/ifcfg-eth0.7
И вписываем следующее содержимое:
ONBOOT=yes_x000D_TYPE=Ethernet_x000D_VLAN=yes_x000D_ DEVICE=eth0.7_x000D_BOOTPROTO=static_x000D_IPADDR=10.16.20.10_x000D_NETMASK=255.255.255.0_x000D_
Данный файл конфигурации связывает виртуальный интерфейс eth0.7 с физическим интерфейсом eth0. После создания файла конфигурации, нужно перезапустить сервис network:
# systemctl restart network
Проверим сетевые настройки:
# ip a
Как видим, сабинтерфейс с нужным нам VLAN7 добавлен.
# cat /proc/net/vlan/config
Статистику интерфейса можно получить так (с помощью счетчиков пакетов можно убедиться, что VLAN интерфейс получает маркированный трафик) :
# cat /proc/net/vlan/eth0.7
Чтобы выполнить ping с определенного интерфейса VLAN, используйте формат команды:
# ping -I eth0.7 192.168.1.22
Теперь попробуем создать VLAN с ID 8 через отдельный файл конфигурации:
# nano /etc/sysconfig/network-scripts/ifcfg-vlan8
Добавим в него следующие строки:
ONBOOT=yes_x000D_TYPE=Ethernet_x000D_VLAN=yes_x000D_VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD_x000D_DEVICE=vlan8_x000D_PHYSDEV=eth0.8_x000D_VLAN_ID=8_x000D_BOOTPROTO=static_x000D_IPADDR=10.16.20.10_x000D_NETMASK=255.255.255.0
Обратите внимание, что файл конфигурации немного отличается от предыдущего. В данной настройке, нужно указывать строку «PHYSDEV» , которая направляет конфигурационный файл на физический сетевой интерфейс.
После всех настроек, так же требуется перезагрузка сервиса network:
# systemctl restart network
Сделаем проверку:
ip l ls
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000_x000D_link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00_x000D_2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000_x000D_link/ether 52:54:00:1d:4b:67 brd ff:ff:ff:ff:ff:ff_x000D_5: eth0.7@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000_x000D_link/ether 52:54:00:1d:4b:67 brd ff:ff:ff:ff:ff:ff_x000D_6: vlan8@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000_x000D_link/ether 52:54:00:1d:4b:67 brd ff:ff:ff:ff:ff:ff
Нужный сетевой интерфейс с VLAN8 так же доступен.
Начиная с 8 версии CentOS /RedHat по умолчанию сетью на сервере управляет NetworkManager . Ранее это инструмент так же был доступен, но большинство аминистраторов использовали привычный 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_x000D_ens3 8bd5cfbc-5ffc-4554-8ae1-9e02e4b57ceb ethernet ens3_x000D_virbr0 e64e63a5-76ae-4661-91ae-009f566c5e66 bridge virbr0_x000D_ens3.7 e5e91557-49a8-4389-bdfc-c9bfc099714b vlan VLAN7_x000D_
После настройки, выполните перезагрузку NetworkManager:
# systemctl restart NetworkManager
После перезапуска сервиса NM, интерфейс не пропал.
# nmcli connection show ens3.7
Для тестовых настроек лучше использовать утилиту 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 был создан.
Не забывайте, что кроме настройки VLAN на сервере для обеспечения сетевой связанности, вам нужно настроить соответствующие VLAN на сетевом оборудовании.
Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…
На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…
При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…
Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…
При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…
Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…