Kvm-Virtualization
KVM-QEMU 橋接網路不工作 - 訪客只能訪問主機
我正在嘗試將虛擬機配置為像我的 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 安全設置中啟用混雜模式解決了我的問題。