Как настроить интерфейс CentOS 7 VLAN с мостом к KVM

Как настроить интерфейс CentOS 7 VLAN с мостом к KVM

Я хотел настроить свой сервер CentOS 7 таким образом, чтобы мои виртуальные машины KVM получали аренду DHCP из настроенной на моем Cisco Meraki MX (межсетевой экран) VLAN 30 и были отделены от VLAN 1.

Поскольку у меня нет двух физических интерфейсов, я решил виртуализировать один, добавить к нему тег VLAN, а затем объединить виртуализированный интерфейс с тегом VLAN и установить его в моем скрипте virt-install. Однако я хотел убедиться, что весь трафик, идущий к моему CentOS-боксу, остается на VLAN 1 (за исключением трафика, направляемого к виртуальным машинам).

На днях я думал, что все работает, однако по прихоти я попытался выполнить ping по подсетям и был удивлен, увидев ответы ICMP.

Я (в некотором роде) следовал этой ссылке при настройке всего:Настройка тегирования VLAN 802.1Q с использованием файлов ifcfg

В настоящее время я /etc/sysconfig/network-scripts/ifcfg-em1настроил (интерфейс Ethernet по умолчанию) следующим образом:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
GATEWAY="192.168.128.1"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="em1"
UUID="bac1228e-fe29-4e7c-9073-6b2d4542d003"
DEVICE="em1"
ONBOOT="yes"
ZONE=public

Этот интерфейс успешно извлекает IP-адрес 192.168.128.x из подсети VLAN 1.

Далее у меня /etc/sysconfig/network-scripts/ifcfg-em1.30(виртуальный интерфейс с тегом VLAN 30):

TYPE="Ethernet"
#BOOTPROTO="dhcp"
DEVICE="em1.30"
ONBOOT="yes"
ZONE=public
VLAN="yes"
BRIDGE="br0"

Который из-за опции BRIDGE (я полагаю) не извлекает IP-адрес.

Наконец, /etc/sysconfig/network-scripts/ifcfg-br0(мое мостовое соединение из em1.30):

BOOTPROTO="dhcp"
IPV6INIT="no"
DEFROUTE="no"
GATEWAY="10.100.0.1"
IPV6_AUTOCONF="no"
ONBOOT="yes"
TYPE="Bridge"
DELAY="0"
ZONE=public

Этот интерфейс также извлекает правильный маршрут DHCP из подсети VLAN 30 (10.100.0.x)

Использование интерфейса br0 в моих скриптах virt-install, похоже, работает, поскольку все мои виртуальные машины при запуске успешно извлекают данные из подсети VLAN 30. Однако, как упоминалось выше, когда я пытаюсь выполнить ping (или SSH) из одной подсети в другую, я получаю полные ответы.

Я подозреваю, что это как-то связано с маршрутами? Вот вывод route -n:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.128.1   0.0.0.0         UG    0      0        0 em1
10.100.0.0      0.0.0.0         255.255.255.0   U     0      0        0 br0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 em1
169.254.0.0     0.0.0.0         255.255.0.0     U     1045   0        0 br0
192.168.128.0   0.0.0.0         255.255.255.0   U     0      0        0 em1

Если это имеет значение, /etc/sysconfig/networkто сейчас он пуст, я отключил NetworkManager, и когда я думал, что он работает, у меня не было установлено ни одного параметра DEFROUTE или GATEWAY в ifcfg-br0 (я добавил их сегодня, но результат не изменился, поэтому я оставил их).

Может быть, мне нужно установить параметр VLAN в ifcfg-br0, а также ifcfg-em1.30? Спасибо, что уделили время, чтобы прочитать все это!

Связанный контент