Networking

如何為 QEMU/KVM 虛擬機配置橋接網路,使其位於通過 WiFi 連接的同一本地網路上?

  • May 11, 2020

我想將我使用 aqemu 設置的 QEMU/KVM 虛擬機配置為與執行 Debian/KDE 的主機位於同一本地網路上。

我是否必須在主機上配置網橋,如果需要,如何配置?或者有沒有辦法使用 aqemu GUI 或 qemu 控制台命令來做到這一點?

我正在使用 VPN、nftables 防火牆和網路管理器,並且我沒有此處描述的名為 eth0 的網路介面以及下面評論中的連結。

當我在該指南的“如何打開網橋介面”步驟中按照本指南操作時,該指南不起作用:執行ip a s br0網橋時沒有設置 inet 並且執行後sudo nmcli con up br0網橋為橙色,而不是綠色,並且網橋從屬為灰色,而不是綠色。(我只能這樣當我執行nmcli connection show --active我的 Internet 連接並且我的 VPN 連接是綠色的並且 bridge-br0 是橙色的。)當我執行時nmcli con up bridge-slave-ifname,我得到:Error: Connection activation failed: No suitable device found for this connection (device enp0... not available because profile is not compatible with device (mismatching interface name)).

我還使用 libvirt(虛擬機管理器)和本指南進行了嘗試,但後來我在 VM 中只收到錯誤“有線介面(eth0)IP 配置不可用”,並且 virbr0 網橋不會在 LAN 上。

或者通過這種方法通過WiFi連接時是否不可能使虛擬機位於同一個本地網路上?那麼另一種方法是什麼?

到目前為止,對我有用的是:

  • 使用 aqemu 使用通過 VPN 連接訪問 Internet 的虛擬機。

在虛擬機的網路選項卡中,我選擇了啟用網路和連接模式使用使用者模式網路堆棧。我還沒有找到在 aqemu 中設置訪問本地網路的網橋的方法。與 Debian repos 中的 aqemu 版本不同,最新版本的 aqemu 在沒有其他更改的情況下無法在 Debian 中執行,因為出現錯誤qemu-system-x86_64: Invalid parameter 'vlan'(可能是由於 qemu 版本不匹配)。您可能還可以為 VPN-Internet 訪問設置 libvirt(在啟動之前更改 NIC 設置或為同一個 vm 磁碟創建兩個虛擬機),但我更喜歡使用 aqemu(可能部分原因是 Debian 儲存庫中的版本非常過時)。

  • 使用 Virtual Machine Manager (libvirt) 來使用虛擬機,無需 VPN 即可訪問本地網路和 Internet。

在 NIC:… 下的虛擬機設置中,將 Network source 設置為具有本地 ip 集 ( ip a) 的介面,並將 Source mode 設置為 Bridge。

使用 libvirt 後,必須執行sudo chown username:username path-to-vm-disk-file以允許 qemu 訪問 aqemu 中的 vm 磁碟。我不知道如何讓 VM 通過 VPN 和本地網路訪問 Internet,或者為什麼像上面連結的指南這樣的指南沒有在 Virtual Machine Manager 中提及此設置(我使用的是 aqemu之前)。

引用自:https://unix.stackexchange.com/questions/585206