如何在 VirtualBox 中实现虚拟机之间的联网?

如何在 VirtualBox 中实现虚拟机之间的联网?

我在 VirtualBox 中有两个虚拟机。我想在它们之间建立网络连接。目前,我对它们都使用了默认配置,但它们似乎具有相同的 IP 地址10.0.2.15。我还希望能够同时使用互联网,现在这是可能的。

默认情况下,网络设置是 NAT,但由于它们具有相同的 IP,因此似乎无法内部联网。但如果我更改为,internal networking我猜我无法使用虚拟机访问互联网。

我该如何在虚拟访客之间建立网络并让他们访问互联网?

答案1

你试过这个吗虚拟网络指南

虚拟机从 VirtualBox 中集成的 DHCP 服务器接收其在专用网络上的网络地址和配置。分配给虚拟机的 IP 地址通常与主机位于完全不同的网络上。由于虚拟机的多个卡可以设置为使用 NAT,因此第一张卡连接到专用网络 10.0.2.0,第二张卡连接到网络 10.0.3.0,依此类推。

我认为你要找的是“内部网络",将内部虚拟机相互连接。

您可以在 VirtualBox 图形用户界面中使用虚拟机的“设置”对话框。在设置对话框的“网络”类别中,从网络模式下拉列表中选择“内部网​​络”。现在从下面的下拉列表中选择现有内部网络的名称或在输入字段中输入新名称。

答案2

我找到了适合我的环境的以下解决方案:

  • 第一个具有内部网络的适配器来访问其他虚拟机
  • 第二个适配器使用 NAT 来访问互联网。

这些设置可以通过 GUI Oracle VM VirtualBox Manager 完成。最初我遇到了与 Jonas 相同的问题,我错过了 DHCP。最后我找到了本文(存档副本,原文链接已经死了)并且我用过:

VBoxManage dhcpserver add --netname intnet --ip 10.13.13.100 --netmask 255.255.255.0 --lowerip 10.13.13.101 --upperip 10.13.13.254 --enable

从命令行。之后它工作正常。

我敢说手册是一种贫乏的资源,因为 Windows 主机上 VirtualBox 的大多数配置都可以通过 GUI 完成,而无法使用 GUI 配置 DHCP 则会带来严重的不便。

我的环境:我在 Windows 7 64 位上运行便携式 VirtualBox 4.1.2r73507。目前主机专用和桥接模式不起作用,因为缺少主机专用适配器。我遇到了与德语中描述的问题类似的问题Virtual Box 论坛上的问题,我没有仅主机适配器。

答案3

这是我仅在 NAT 模式下连接 vbox 客户机的方法(在 VirtualBox 4.2.4 上测试)。

只需使用网关 IP 从一个客户机转到主机即可。然后使用端口转发将主机流量“代理”到另一个客户机。

例如,如果客户机 A 想要访问监听端口 1000 的客户机 B 服务,则 A 必须使用网关 IP(对于第一个 NAT 接口,网关 IP 为 10.0.2.2)。然后,您需要在客户机 B 上配置端口转发,以便主机在端口 1000 上收到的所有流量都发送到端口 1000 上的客户机 B。

这可能不适用于每项服务,但似乎对 ssh、salt 等服务很有效。

总之,您不一定需要仅主机模式来连接多个客户机,但我并不是说仅主机模式不是您的用例的最佳选择。

答案4

(回答 bernd_k 的问题)

对于主机和客户机之间的文件共享,实际上共享的是目录而不是文件。

如果网络模式为桥接或 NAT,则主机和客户机是平等的网络伙伴。尽管整个设置都包含在一个主机中,但从网络角度来看,它们在网络上都是平等的,就像它们是物理机器一样。(NAT 有时比桥接更难使用。)

这样,任何计算机(无论是虚拟计算机还是物理计算机)中的任何共享文件夹都可供所有人使用。由于并非所有虚拟机都可能一直处于打开状态,因此将主机的一个文件夹设置为共享文件夹是有意义的。然后主机共享该文件夹,虚拟机按原样使用它或将其用作映射驱动器。

以下文章详细解释了如何在 Windows 中共享文件夹:
如何使用共享文件夹向导在 Windows 7 中共享文件夹?

相关内容