Networking
我可以讓我的 KVM 來賓與主機在同一個子網上嗎?
使用虛擬網路“預設”我讓客人在他們自己的子網上,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
為您的虛擬機選擇網路,以使它們與主機共存於同一網路上。