Я пытаюсь настроить виртуальные машины так, чтобы они работали как устройства в моей локальной сети, а не прятались за хостом.
Это руководство, которому я следовал: Сетевой мостовой интерфейс RHEL8
Мой маршрутизатор / DHCP находится на 10.10.1.254
Хост - это виртуальная машина CentOS 8, работающая внутри ESXi - по DHCP с IP 10.10.1.54 хост может получить доступ к Интернету / локальной сети и виртуальным машинам.
Гость также CentOS 8 - ему удается получить аренду DHCP с IP 10.10.1.55, но не может подключиться ни к чему, кроме хоста. Он даже не может пинговать маршрутизатор по адресу 10.10.1.254, хотя каким-то образом получает аренду DHCP. Я попытался включить net.ipv4.ip_forward на хосте, но это не помогло.
Я также попробовал установить гостевую систему CentOS7 по сети. Ему удается получать настройки через DHCP, но у него также нет доступа к сети.
Вот конфигурация хоста:
ifcfg-мост-подчиненный-ens192
TYPE=Ethernet
NAME=bridge-slave-ens192
UUID=...
DEVICE=ens192
ONBOOT=yes
BRIDGE=br0
ifcfg-br0
STP=yes
BRIDGING_OPTS=priority=32768
TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
UUID=....
DEVICE=br0
ONBOOT=yes
Наконец, в virt-manager под сетевым адаптером виртуальной машины я установил «Указать имя общего устройства» в качестве сетевого источника, а затем под именем моста у меня есть «br0», а тип - «virtio».
# nmcli c show --active
Name - Type - Device
br0 - bridge - br0
bridge-slave-ens192 - ehernet - ens192
vnet0 - tun - vnet0
# virsh net-list -all
Name - State - Autostart - Persistent
br0 - active - yes - yes
# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
Проблема была не в конфигурации сети с мостовым подключением.
Поскольку узел KVM работает внутри ESXi как виртуальная машина, мне пришлось включить неразборчивый режим на ESXi vSwitch.
Включение неразборчивого режима в настройках безопасности vSwitch устранило мою проблему.