Настройка VLAN на Linux CentOS 7


Тематические термины: VLAN, CentOS.
В операционной системе CentOS предусмотрено два варианта именования VLAN — как subinterface (например, ens32.5) или vlanXX (vlan5). В зависимости от данного варианта, предусмотрен свой метод настройки. Каким способом пользоваться — дело каждого. В данной инструкции рассматриваются оба варианта.
Для примера, настраиваем VLAN с тегом 5 для ethernet-адаптера ens32.
Способ 1. VLAN как сабинтерфейс
Создаем следующий конфигурационный файл:
vi /etc/sysconfig/network-scripts/ifcfg-ens32.5
И приводим его к следующему виду:
ONBOOT=yes
TYPE=Ethernet
VLAN=yes
DEVICE=ens32.5
BOOTPROTO=static
IPADDR=192.168.0.15
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.2
DNS2=192.168.0.3
* в данном примере будет создан виртуальный интерфейс ens32.5 (5 vlan), который будет ассоциирован с физическим адаптером ens32. IP-адрес будет назначен 192.168.0.15, шлюз по умолчанию — 192.168.0.1, DNS адреса — 192.168.0.2 и 192.168.0.3.
Чтобы настройки вступили в силу, перезапускаем сетевую службу:
systemctl restart network
Способ 2. VlanXX
Создаем файл со следующим содержимым:
vi /etc/sysconfig/network-scripts/ifcfg-vlan5
ONBOOT=yes
TYPE=Ethernet
VLAN=yes
VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
DEVICE=vlan5
PHYSDEV=ens32
VLAN_ID=5
BOOTPROTO=static
IPADDR=192.168.0.15
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.2
DNS2=192.168.0.3
* обратите внимание, что в данном варианте мы явно указываем, с каким физическим адаптером (ens32) будет связан виртуальный (vlan5).
Также перезапускаем сетевую службу:
systemctl restart network
vlan_name_type
Параметр vlan_name_type, который мы прописали в данном способе задает тип именования VLAN-интерфейса. Он может принимать следующие значения:
- VLAN_PLUS_VID — vlan00005
- VLAN_PLUS_VID_NO_PAD — vlan5
- DEV_PLUS_VID — ens32.00005
- DEV_PLUS_VID_NO_PAD — ens32.5
Использование vconfig
Утилита vconfig не сохраняет настройки для сетевых интерфейсов и после перезагрузки, все возвращается в предыдущее состояние. Она прекрасно подойдет для проведения тестов.
Сначала устанавливаем epel-репозиторий и утилиты следующей командой:
yum install epel-release
yum install vconfig ifconfig
Загружаем модуль ядра 8021q:
modprobe 8021q
Для настройки vlan из нашего примера, выполняем следующую команду:
vconfig add ens32 5
Теперь задаем виртуальному адаптеру IP-адрес и включаем его:
ifconfig ens32.5 192.168.0.15 netmask 255.255.255.0 up
Возможные проблемы
No suitable device found for this connection
- Отсутствие в конфигурационном файле опции VLAN_ID (при настройке vlan-интерфейса — способ номер 2). Проверьте, что опция ест и ей соответствует правильный VLAN.
- Необходимо добавить опцию NM_CONTROLLED=no в настройки vlan-интерфейса. Данная настройка отключает использование Network Manager для соответствующего интерфейса.
VLAN не заработал
Пробуем опцию TYPE=Ethernet заменить на TYPE=VLAN или убрать ее полностью.