Записки системного администратора

Ещё один блог о системном администрировании, операционных системах, СУБД, сетях, костылях-велосипедах и пр.

CentOS 7: Настройка VLAN (802.1Q)

Иногда возникают ситуации, когда на сервере очень ограниченное количество сетевых портов, а нам нужно подключить большее количество сетей. Ну, к примеру, сетевых интерфейсов на сервере два, а нужно подключить линки от двух провайдеров и подсеть для менеджмента сервера. Тут то и возникает необходимость в настройке одного сетевого интерфейса для использования разных VLAN. Все настройки, описанные в этой заметке, выполняются на сервере под управлением операционной системы СentOS7.

Дано:

  • Необходимо подключить подсеть 172.18.12.0/24. Этой подсети будет соответствовать VLAN 101.
  • Необходимо подключить подсеть 10.112.1.0/24. Этой подсети у нас будет соответстоввать VALN 102.

Предполагается, что порт на коммутаторе, к которому подключен сервер, настроен в режим trunk. Если это коммутатор Cisco Catalyst, то настройки порта будут выглядеть следующим образом:

interface GigabitEthernet0/11
 switchport trunk allowed vlan 101,102
 switchport mode trunk
 speed auto 1000
 duplex full
 spanning-tree portfast

Для поднятия тегированного интерфейса на CentOS нужно в первую очередь загрузить модуль ядра 8021q:

[root@kvm1 ~]# modprobe 8021q

Если сообщений об ошибке нет, значит все в порядке, модуль загрузился. Проверим на всякий случай, загрузился ли модуль:

[root@kvm1 ~]# lsmod | grep 8021q
8021q                  33104  0 
garp                   14384  1 8021q
mrp                    18542  1 8021q

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

[root@kvm1 ~]# echo 8021q >> /etc/modules-load.d/8021q.conf

Теперь перейдем к созданию файлов конфигурации для vlan. Перейдем в каталог /etc/sysconfig/network-scripts:

[root@kvm1 ~]# cd /etc/sysconfig/network-scripts

Создаем конфигурационный файл для первого vlan'а:

[root@kvm1 ~]# nano ifcfg-em0.101

VLAN=yes
DEVICE=em0.101
BOOTPROTO=static
ONBOOT=yes
TYPE=Vlan
IPADDR=172.18.12.11
NETMASK=255.255.255.0

Сохраняем и активируем интерфейс:

[root@kvm1 ~]# ifup em0.101

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)

Выполняем тоже самое для второго vlan'а:

[root@kvm1 ~]# nano ifcfg-em0.102

VLAN=yes
DEVICE=em0.102
BOOTPROTO=static
ONBOOT=yes
TYPE=Vlan
IPADDR=10.112.1.11
NETMASK=255.255.255.0

[root@kvm1 ~]# ifup em0.102

Проверяем наши vlan'ы:

[root@kvm1 ~]# ip l ls

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: em0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
 link/ether 84:54:00:01:0f:06 brd ff:ff:ff:ff:ff:ff
3: em0.101@em0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
 link/ether 84:54:00:01:0f:06 brd ff:ff:ff:ff:ff:ff
4: em0.102@em0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT
 link/ether 84:54:00:01:0f:06 brd ff:ff:ff:ff:ff:ff

Как видно из вывода, наш тегированный сетевой интерфейс поднят. Для проверки можно пропинговать какой-нибуть хост из каждой подсети.

Комментарии (RSS)

Есть для этого хорошая команда vconfig входит в состав пакена vlan(на бубне). Центосины нет подрукой глянуть там)

Ответить Отменить ответ

Спасибо, не знал о такой. На CentOS тоже есть такая, в EPEL-репозитории. Возьму на заметку)

Ответить Отменить ответ

HTML Preview:

Коротко о себе:

Привет! Меня зовут Вадим. В этом блоге я пишу об интересующих меня вещах, о проблемах, с которыми сталкиваюсь во время работы, и о путях их решения.

Связаться со мной можно, написав письмо на адрес vadim@adminbook.click