如何与虚拟机共享主机的网络接口,以便它们出现在同一个子网并使用相同的 DHCP?

如何与虚拟机共享主机的网络接口,以便它们出现在同一个子网并使用相同的 DHCP?

我正在将虚拟机从 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

相关内容