La red puente KVM-QEMU no funciona: el invitado solo puede acceder al host

La red puente KVM-QEMU no funciona: el invitado solo puede acceder al host

Estoy intentando configurar máquinas virtuales para que actúen como dispositivos en mi LAN, en lugar de esconderme detrás del host.

Este es el tutorial que seguí:Interfaz puenteada de red RHEL8

Mi enrutador/DHCP está en 10.10.1.254

El host es una máquina virtual CentOS 8 que se ejecuta dentro de ESXi; en DHCP con IP 10.10.1.54, el host puede acceder a Internet/LAN y a las máquinas virtuales.

El invitado también es CentOS 8: logra obtener una concesión de DHCP con IP 10.10.1.55 pero no puede conectarse a nada más que al host. Ni siquiera puede hacer ping al enrutador en 10.10.1.254 aunque de alguna manera obtiene una concesión de DHCP. Intenté habilitar net.ipv4.ip_forward en el host pero no se solucionó.

También probé netinstall del invitado CentOS7. Se las arregla para extraer la configuración a través de DHCP, pero tampoco tiene acceso a la red.

Aquí está la configuración del host:

  • ifcfg-puente-esclavo-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
    

Finalmente, en virt-manager en VM NIC, configuré "Especificar nombre de dispositivo compartido" como fuente de red, y luego, en el nombre del puente, tengo "br0" y el tipo es "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

Respuesta1

El problema no estaba en la configuración de la red puenteada.

Dado que el host KVM se ejecuta dentro de ESXi como una máquina virtual, tuve que habilitar el modo promiscuo en ESXi vSwitch.

Habilitar el modo promiscuo en la configuración de seguridad de vSwitch solucionó mi problema.

información relacionada