Networking

我可以讓我的 KVM 來賓與主機在同一個子網上嗎?

  • August 23, 2021

使用虛擬網路“預設”我讓客人在他們自己的子網上,NAT’ed 到主機的子網。

使用單獨的網橋,似乎可以讓客人與主機在同一子網上,但顯然這需要主機上的專用物理網卡?

我已經嘗試過 macvtap vepa 或 bridge,但無法通過這種方式獲得連結。

是否可以讓來賓與主機在同一子網中的任何其他物理機器一樣出現?如果是這樣,怎麼辦?我需要這個,因為我的應用程序使用廣播通信。

我在 rhel 和 ubuntu 上使用 QEMU/KVM。客人也是 rhel 或 ubuntu。我使用 virt-install、virsh(和用於測試/調試的 virt-manager)定義/管理 VM。伺服器沒有任何額外的網卡可用於這些目的,只有主機本身使用的網卡。

Ubuntu 20.04上的程序:

在主機上設置邏輯網橋

創建/etc/netplan/01-kvmbridge.yaml. 例子:

network:
 ethernets:
   enp2s0f0:
     dhcp4: false
 bridges:
   br0:
     interfaces: [enp2s0f0]
     dhcp4: true
     mtu: 1500
     parameters:
       stp: true
       forward-delay: 15

注意: 網卡名稱會因驅動程序而異。地址分配不一定要通過 DHCP。

執行sudo netplan try以測試配置並sudo netplan apply在您滿意後應用它。請注意,通過 ssh 更改網路配置可能不是一個好主意。

告訴 KVM 如何訪問連接

使用以下內容創建文件 ~/kvmbridge.xml:

<network>
 <name>host-bridge</name>
 <forward mode="bridge"/>
 <bridge name="br0"/>
</network>

啟用網橋:

virsh net-define ~/kvmbridge.xml
virsh net-start host-bridge
virsh net-autostart host-bridge

您現在應該能夠host-bridge為您的虛擬機選擇網路,以使它們與主機共存於同一網路上。

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