Я хотел настроить свой сервер 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? Спасибо, что уделили время, чтобы прочитать все это!