KVM-QEMU 橋接網路無法運作 - 訪客只能存取主機

KVM-QEMU 橋接網路無法運作 - 訪客只能存取主機

我正在嘗試將虛擬機器配置為像 LAN 上的裝置一樣運行,而不是隱藏在主機後面。

這是我遵循的教程:RHEL8 網路橋接介面

我的路由器/DHCP 位於 10.10.1.254

主機是在 ESXi 內運行的 CentOS 8 虛擬機器 - 在 DHCP 上使用 IP 10.10.1.54 ,主機可以存取網際網路/LAN 和虛擬機器。

Guest 也是 CentOS 8 - 設法獲得 IP 10.10.1.55 的 DHCP 租用,但無法連接到主機以外的任何設備。即使它以某種方式獲得了 DHCP 租約,它甚至無法 ping 通 10.10.1.254 處的路由器。我嘗試在主機上啟用 net.ipv4.ip_forward 但沒有解決問題。

我還嘗試了 CentOS7 guest 的 netinstall。它設法透過 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
    

最後,在VM NIC下的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

答案1

問題不在於橋接網路配置。

由於 KVM 主機作為 VM 在 ESXi 內部運行,因此我必須在 ESXi vSwitch 上啟用混雜模式。

在 vSwitch 安全性設定中啟用混雜模式解決了我的問題。

相關內容