
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.