Kvm-Virtualization

KVM-QEMU 橋接網路不工作 - 訪客只能訪問主機

  • January 15, 2020

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

這是我遵循的教程:RHEL8 Network Bridged Interface

我的路由器/DHCP 位於 10.10.1.254

主機是在 ESXi 內執行的 CentOS 8 虛擬機 - 在 IP 為 10.10.1.54 的 DHCP 上,主機可以訪問網際網路/LAN 和虛擬機。

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

我還嘗試了 CentOS7 來賓的 netinstall。它設法通過 DHCP 提取設置,但它也沒有網路訪問權限。

這是主機配置:

  • ifcfg-bridge-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

最後在虛擬機網卡下的 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

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

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

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

引用自:https://serverfault.com/questions/998890