Мостовая сеть KVM-QEMU не работает — гость может получить доступ только к хосту

Мостовая сеть KVM-QEMU не работает — гость может получить доступ только к хосту

Я пытаюсь настроить виртуальные машины так, чтобы они действовали как устройства в моей локальной сети, а не прятались за хостом.

Вот инструкция, которой я следовал:Сетевой мостовой интерфейс RHEL8

Мой маршрутизатор/DHCP находится по адресу 10.10.1.254

Хост — это виртуальная машина CentOS 8, работающая внутри ESXi — на DHCP с IP 10.10.1.54, хост может получить доступ к Интернету/LAN и виртуальным машинам.

Гость также CentOS 8 - ему удается получить аренду DHCP с IP 10.10.1.55, но он не может подключиться ни к чему, кроме хоста. Он даже не может пропинговать маршрутизатор по адресу 10.10.1.254, хотя каким-то образом получает аренду DHCP. Я пробовал включить net.ipv4.ip_forward на хосте, но это не помогло.

Я также попробовал netinstall гостевой 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 в разделе VM NIC я установил «Указать имя общего устройства» в качестве сетевого источника, а затем в разделе «Имя моста» у меня указано «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

решение1

Проблема была не в конфигурации мостовой сети.

Поскольку хост KVM работает внутри ESXi как виртуальная машина, мне пришлось включить режим promiscuous на ESXi vSwitch.

Включение неразборчивого режима в настройках безопасности vSwitch решило мою проблему.

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