如何在VirtualBox中的虚拟机之间建立网络?


91

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

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

如何在虚拟访客之间建立网络并可以访问它们的Internet?

Answers:


57

您是否尝试过此虚拟网络指南

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

我认为您正在寻找的是“ Internal Networking ”,将内部VM彼此连接。

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


1
谢谢,是的。内部网络正常工作,但DHCP不附带,因此我尝试了桥接解决方案,并且工作正常。谢谢。
乔纳斯(Jonas)2010年


3
@Joe Internet,您的链接是可以的,但我只有在阅读blog.techprognosis.com/2011/02/28/…后才能理解。就是说,我已经运行了内部网络。由于缺少合适的适配器,我无法选择仅主机模式或桥接模式。
bernd_k

1
上一条评论中的链接对我不起作用,这似乎是正确的链接:blog.techprognosis.com/how-to-enable-dhcp-in-virtualbox-4
Nicola Musatti

在我将其设置为静态IP之前,这对我不起作用。
VaTo

31

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

  • 具有内部网络的第一个适配器访问其他VM
  • 第二个具有NAT的适配器以访问Internet。

这些设置可以通过GUI Oracle VM VirtualBox Manager进行。最初,我和乔纳斯有同样的问题,我错过了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论坛上的德语问题中描述的问题类似的问题,我没有仅主机的适配器。


我已经有一个intnet dhcpserver,它在安装virtualbox 4.3.x时默认以某种方式出现,但是当我使用nat时它无法连接到Internet。
2017年

11

这就是我仅以NAT模式连接vbox guest虚拟机的方式(在VirtualBox 4.2.4上测试)。

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

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

这可能不适用于所有服务,但似乎对ssh,salt,...都适用

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


1
这对于我的用例来说是完美的(在连接到Linux guest虚拟机中的服务器的xp guest虚拟机上测试ie8)。
Ted

为简单起见,+ 1非常简单!
EmreSevinç15年

9

您需要客户机上的主机连接LAN类型(类似于英语版本)和主机上的网桥连接。


3

(由bernd_k回答的问题)

为了在主机和来宾之间共享文件,实际上是共享目录而不是文件。

如果网络模式是桥接模式或NAT,则主机和来宾都是平等的网络伙伴。尽管整个设置都包含在一个主机中,但是从网络角度来看,它们在网络上都是相同的,就好像它们是物理计算机一样。(NAT有时使用起来比桥接问题要多。)

这样,任何人都可以使用虚拟或物理计算机上的任何共享文件夹。由于并非所有虚拟机都可以一直打开,因此将主机的一个文件夹设置为共享文件夹很有意义。然后,主机共享该文件夹,并且虚拟机按原样或将其用作映射驱动器。

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


2
您的提示在以后很有价值,但是在共享文件或文件夹之前,您必须能够ping通另一台计算机。
bernd_k 2011年

2

我的Oracle VM XP PC上有两个网卡

1st使用快速IP地址作为IM桥接,将其用作具有服务器网络配置的客户端。将默认网关更改为与网卡两个相同(Nat 2nd)

第二名Nat从Oracle VM获取IP地址

工作正常!


2

我做了以下步骤,最后(在CentOS VB上)对我来说很好用:

  • 将NAT用于主网络适配器(“设置->网络-> Adapter1“附加到NAT”)。
  • 添加另一个适配器(设置->网络->启用Adapter2“附加到仅主机适配器”)->将“混杂模式”设置为“允许所有”。
  • 启动VB。
  • 添加另一个网络接口(cp / etc / sysconfig / network-scripts / ifcfg-eth0 / etc / sysconfig / network-scripts / ifcfg-eth1)。
  • 根据Adapter2中显示的地址更改eth1的MAC地址((设置->网络->)。
  • 重新启动网络“服务网络重新启动”

然后,该VB应该可以访问Internet,并且可以从其他VB和本地计算机进行访问。

注意:

NAT适配器将用于访问Internet,而Host-Only适配器将用于在任何其他VB与本地计算机之间进行网络访问。


0

我不知道它是否会起作用,但是我的想法是:

  1. 在仅一台虚拟机中(在NAT模式下)将IP更改为差异号。

  2. 将其他虚拟机更改为桥接。

  3. 将两个系统上的设置都设置为机器可以互相找到。重新启动所有内容。

如果1 + 3或1 + 2 + 3不起作用,请尝试以下操作:在主机上创建一个共享文件夹,然后在virtualbox设置上将该文件夹共享到2个virtualbox机器上。重新启动并瞧瞧?

我知道第二个选择是一种解决方法。


0

在“设置”下的“网络”中更改连接到桥接适配器的网络。

而已; 它可以连接两台虚拟PC。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.