Networking

Wifi 和網橋。沒有網際網路。不支持

  • October 10, 2016

如果配置

eth0      Link encap:Ethernet  HWaddr 54:04:a6:3d:36:ff  
         UP BROADCAST MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:65536  Metric:1
         RX packets:3300 errors:0 dropped:0 overruns:0 frame:0
         TX packets:3300 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1 
         RX bytes:950771 (950.7 KB)  TX bytes:950771 (950.7 KB)

wlan0 Link encap:Ethernet  HWaddr 30:5a:3a:60:5d:c0  
         inet addr:192.168.0.105  Bcast:192.168.0.255  Mask:255.255.255.0
         inet6 addr: fe80::7cf4:8ce5:ba7c:8fd3/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1553 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1223 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000 
         RX bytes:1007907 (1.0 MB)  TX bytes:524507 (524.5 KB)

問題

我已經為我的 QEMU Windows 客戶機設置了網路介面bridge0,並使用命令行啟用了它

brctl addbr bridge0

qemu .. -netdev bridge,br=bridge0,id=net0 -device virtio-net-pci,netdev=net0

(並允許 bridge0 進入/etc/qemu/bridge.conf)。

使用此設置,QEMU 來賓無法訪問 Internet。例如,在主機上,通過該網橋 ping 不起作用:

ping -I bridge0 8.8.8.8

如果我嘗試將我的 wifi 卡(有工作連接)添加到網橋:

brctl addif bridge0 wlan0

我得到了Operation not supported錯誤。我在網上看到很多消息這是不可能的。但是我該如何解決這個問題?

我需要使用網橋將自定義iptables規則應用於我的訪客網路連接。

我應該怎麼做才能讓我的網橋使用 WiFi 網際網路連接?

我如何參與iptables解決我的問題?如何為我的網橋創建子 NAT 來控制訪客?

讓 libvirt 處理這個問題。Libvirt 有一個預設的 NAT 網路,它將為您處理所有的轉發、偽裝和定址。這個 NAT 網路在 libvirt 部署中預先配置,字面意思是“預設”。NAT 是通過 WiFi 連接訪問虛擬機的最合理的方法。

此外,您幾乎永遠不能將 WiFi 用作橋樑。首先,因為主機介面通常不支持它。其次,因為幾乎所有無線接入點都會看到第二個 MAC 地址(來自您的 VM)作為欺騙嘗試進入您的 WiFi 連接,並取消您的身份驗證。

您可以通過命令行使用virsh和管理 libvirt。virt-install您還可以virt-manager通過類似於 vSphere 客戶端為 ESXi 工作的方式來管理 libvirt。這兩個管理前端都可以連接到遠端主機。還有比這更多的管理工具,幾乎任何一個都適合你。virt-manager可能是最容易使用的。

有關 libvirt 網路的更多資訊:http ://wiki.libvirt.org/page/Networking

一些 libvirt 管理工具(包括那些已經提到的):http ://www.linux-kvm.org/page/Management_Tools

virsh 的使用指南:https ://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/chap-Managing_guest_virtual_machines_with_virsh.html

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