我正在将虚拟机从 Windows Server 2012 R2 上的 Hyper-V 移至 Ubuntu 20.04 上的 KVM/libvirt/etc,我需要重新创建以前的网络配置。导入虚拟机时没有遇到任何问题,但虚拟机网络工作方式的差异让我很为难。
在 Hyper-V 上,所有虚拟机都共享主机网络接口,并使用 DHCP 从网络上的路由器获取 IP 地址。在此设置中,Hyper-V 主机具有类似 192.168.1.200(静态)的 IP 地址,并且每个虚拟机都会从路由器(而非主机)上的 DHCP 获取自己的 IP 地址,例如 192.168.1.20 等,共享同一子网。这使得使用 SMB 的 Windows 计算机可以轻松地相互通信,无论它们是 Hyper-V 上的虚拟机还是直接连接到路由器的真实计算机。
我无法使用 libvirt 解决这个问题。默认桥接设置让主机充当 NAT,而虚拟机都位于不同的子网中,网络上的真实 Windows 计算机将无法发现虚拟机网络中的计算机。它们可以互相 ping 通,等等。
我正在寻找与 Hyper-V 相同的配置,配置起来很简单。如何正确配置我的 Ubuntu 服务器的网络接口,以便虚拟机从路由器而不是主机获取 IP 地址?
答案1
您想要设置桥接网络,而不是 KVM/libvirt 的默认 NAT 设置
->https://help.ubuntu.com/community/KVM/Networking
->https://linuxconfig.org/how-to-use-bridged-networking-with-libvirt-and-kvm