
我正在嘗試將虛擬機器配置為像 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 安全性設定中啟用混雜模式解決了我的問題。