我在 VirtualBox 中有两个虚拟机。我想在它们之间建立网络连接。目前,我对它们都使用了默认配置,但它们似乎具有相同的 IP 地址10.0.2.15
。我还希望能够同时使用互联网,现在这是可能的。
默认情况下,网络设置是 NAT,但由于它们具有相同的 IP,因此似乎无法内部联网。但如果我更改为,internal networking
我猜我无法使用虚拟机访问互联网。
我该如何在虚拟访客之间建立网络并让他们访问互联网?
答案1
答案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 中共享文件夹?