将多个虚拟机连接到外部网络

Connect multiple vms to external network

目前,我的 mac machine 上有 2 个虚拟机 (Ubuntu) 运行。现在,我需要发生以下事情 -

  1. VM 需要相互通信。
  2. VM 也需要与外部通信(例如:能够 ping google.com)

我可以执行其中任何一项,但无法同时执行。

为了 VM 之间的通信,我设置了一个仅主机适配器,它为每个 VM 分配一个 ip 并且它能够通信,但这会切断与外部工作的通信。

如果我设置为 NAT,VM 可以在外部进行通信,但不能在彼此内部进行通信。

我怎样才能做到这一点?

在 VirtualBox 中有两种名称中带有 NAT 的网络。基本的 "NAT" 不允许 VM 相互查看,即使它允许与外部网络联系。

较新的实验性服务称为 "NAT Network" 或 NAT 网络服务”(https://www.virtualbox.org/manual/ch06.html#network_nat_service) 允许内部和外部通信,就像连接到家庭路由器的机器一样(解释文档)。

作为NAT模式的替代方案,您还可以使用桥接网络模式获得您想要的。它将允许您的主机和虚拟机相互通信,就好像它们都连接在同一网络中一样,如果您的主机连接到互联网,那么您的虚拟机也连接到互联网。