Настройка VLAN

Thank you for reading this post, don't forget to subscribe!

VLAN настро­им на CentOS, на интер­фей­се enp2s0. На моем хосте он пред­на­зна­чен для вир­ту­аль­ных машин. На нем созда­дим 15-й vlan (про­пус­ка­ет tagged-тра­фик "внутрь", исхо­дя­щий тра­фик теги­ру­ет). Тра­фик вир­ту­а­лок будет теги­ро­вать­ся 15-м vlan.

Сна­ча­ла про­ве­рим, что на хосте загру­жен модуль ядра 8021q:

# lsmod | grep 8021q

Если ниче­го нет, то под­гру­жа­ем модуль:

# modprobe 8021q

В CentOS настрой­ки сете­вых интер­фей­сов нахо­дят­ся в фай­лах /etc/sysconfig/network-scripts/ifcfg-*

Изна­чаль­но настрой­ки сете­во­го интер­фей­са enp2s0 мог­ли выгля­деть так (файл /etc/sysconfig/network-scripts/ifcfg-enp2s0):

Если сете­вой интер­фейс пред­на­зна­чен для рабо­ты несколь­ких вир­ту­аль­ных машин, то удоб­но созда­вать сете­вой бридж (bridge) по схеме:

enp2s0 -> VLAN 15 -> br15

Т.е. на базе сете­во­го интер­фей­са enp2s0 созда­ет­ся VLAN 15 (по сути, это отдель­ная сеть) и к это­му VLAN-у доступ осу­ществ­ля­ет­ся через bridge br15 (назва­ние br15 взя­то про­сто для удоб­ства). Вир­ту­аль­ные маши­ны будут под­клю­чать­ся к бри­джу br15, а не к кон­крет­но­му физи­че­ско­му интер­фей­су. Это может быть удоб­ным в даль­ней­шем при изме­не­нии ролей интер­фей­сов, к примеру.

1. Оста­вим в опи­са­нии фай­ла интер­фей­са enp2s0 мини­мум све­де­ний (по сути, толь­ко опи­са­ние физи­че­ско­го интерфейса):

2. Созда­ем VLAN 15 (запись стан­дарт­ная для Linux: имя_интерфейса.номер_vlan)

3. Созда­ем новый bridge15, рас­счи­тан­ный для нашей зада­чи (цель - под­клю­че­ние вир­ту­аль­ной маши­ны к VLAN 15). Зада­ем бри­джу IP-адрес и про­чие настройки:

 

где VLAN_NAME_TYPE зада­ет фор­мат назва­ния сете­во­го интер­фей­са для VLAN: имя_интерфейса.номер_vlan

4. Хост надо пере­за­гру­зить, про­сто рестар­та сете­вых настро­ек (systemctl restart NetworkManager.service) недо­ста­точ­но.

5. После пере­за­груз­ки хоста пра­вим вир­ту­аль­ную маши­ну - теперь она будет под­клю­чать­ся к сети VLAN 15:

# virsh shutdown vm1

(надо выклю­чить вир­ту­аль­ную маши­ну, ина­че не при­ме­нят­ся настрой­ки сети)

# virsh edit vm1

Нахо­дим там сек­цию, похо­жую на:

Стро­ку с mac-адре­сом уда­ля­ем, br1 меня­ем на br15. Сохра­ня­ем, запус­ка­ем вир­ту­аль­ную маши­ну. По идее, если с тран­ком все в поряд­ке, вир­ту­ал­ка vm1 под­клю­че­на через br15 к VLAN 15.

Ана­ло­гич­но мож­но пона­со­зда­вать vlan-ов сколь­ко душе угод­но. И на том же сете­вом интер­фей­се мож­но оста­вить и нете­ги­ро­ван­ный тра­фик. Это как удобно.