KVM-QEMU-Brückennetzwerk funktioniert nicht – Gast kann nur auf Host zugreifen

KVM-QEMU-Brückennetzwerk funktioniert nicht – Gast kann nur auf Host zugreifen

Ich versuche, VMs so zu konfigurieren, dass sie sich wie Geräte in meinem LAN verhalten, anstatt sich hinter dem Host zu verstecken.

Dies ist das Tutorial, das ich befolgt habe:RHEL8 Netzwerk-Bridge-Schnittstelle

Mein Router/DHCP ist bei 10.10.1.254

Der Host ist eine CentOS 8-VM, die innerhalb von ESXi läuft – auf DHCP mit IP 10.10.1.54, der Host kann auf Internet/LAN und VMs zugreifen.

Der Gast ist ebenfalls CentOS 8 – er schafft es, eine DHCP-Lease mit IP 10.10.1.55 zu erhalten, kann aber keine Verbindung zu etwas anderem als dem Host herstellen. Er kann nicht einmal den Router unter 10.10.1.254 anpingen, obwohl er irgendwie eine DHCP-Lease erhält. Ich habe versucht, net.ipv4.ip_forward auf dem Host zu aktivieren, aber das hat das Problem nicht behoben.

Ich habe auch versucht, den CentOS7-Gast per Netinstall zu installieren. Damit lassen sich die Einstellungen über DHCP abrufen, aber es besteht auch kein Netzwerkzugriff.

Hier ist die Hostkonfiguration:

  • ifcfg-Brücke-Slave-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
    

Schließlich habe ich im Virt-Manager unter VM NIC „Gemeinsamen Gerätenamen angeben“ als Netzwerkquelle festgelegt. Unter Bridge-Name habe ich dann „br0“ und der Typ ist „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

Antwort1

Das Problem lag nicht in der überbrückten Netzwerkkonfiguration.

Da der KVM-Host innerhalb von ESXi als VM ausgeführt wird, musste ich den Promiscuous-Modus auf dem ESXi vSwitch aktivieren.

Mein Problem wurde behoben, indem der Promiscuous-Modus in den vSwitch-Sicherheitseinstellungen aktiviert wurde.

verwandte Informationen