使用具有单个公共IP的硬件计算机连接两个VirtualBox VM


2

我有一台运行Ubuntu 12.04的硬件机器和一台通过公共IP连接到互联网的Selenium服务器集线器。在那台机器上,我正在运行两个运行Selenium服务器节点和Web服务器的VirtualBox VM。集线器和节点之间的通信需要是双向的,因此VM需要将网络连接设置为桥接。但这不起作用,因为我只有一个公共IP。

有没有办法在虚拟机和硬件机器之间建立虚拟局域网,以便从硬件机器访问虚拟化Web服务器和Selenium服务器?

Answers:


1

就在这里。均田。它比VMWare简单一点,但确实如此。

我不确定你是否希望两位客人能够互相交谈。如果你这样做,你会发现 这里 实现这一目标的良好指南。此外,要访问您的VM,您必须在主机上启用端口转发。再一次,你会发现 这里 相关指南。一旦你知道要寻找什么,你会发现这些只是你可以找到的很多优秀指南中的两个。


谢谢!现在我有另一个问题。我可以选择 Host-only Adapter 但是 Name: 选择框中没有任何值。而且我似乎需要选择要附加的接口。
lucassp

没关系,发现它。
lucassp

@lucassp此外,您应该记住,您可以通过“反向ssh隧道”始终到达NAT后面的机器。 Google上有很多关于如何操作的指南。我的额外建议是使用一个名为autossh的实用程序,如果连接中断,它会自动重启。服务器和客户端上的配置是两个单行,非常简单。
MariusMatutiae

我似乎还有另一个问题:Selenium服务器节点正确连接到主机上的Selenium服务器中心,但Selenium服务器中心总是尝试使用NAT IP 10.0.0.x检查节点的可用性,但它失败了, 当然。如果我禁用NAT,一切都很好,但我的VM上没有互联网了。有关如何解决它的任何想法?
lucassp

添加另一个适配器到VM?一个与Nat,一个没有?
MariusMatutiae

1

您现在遇到的错误是,Guest可以与主机通话,但是正在为回调注册错误的IP地址。通过使用localhost / 127.0.0.1,您可以告诉Selenium节点和网格实例依赖本地端口转发。

配置来宾VM以使用NAT网络,并为端口5555和端口4444添加端口转发,将两个IP地址留空或设置为0.0.0.0您可能还想转发端口80,以便主机可以看到来宾网络服务器。使用NAT时,在Guest计算机中,ip地址10.0.2.2是与主机通信的IP地址。以下是命令:

主机,作为集线器

java -jar selenium-server-standalone.jar -role hub -port 4444

Guest Machine,作为Node

java -jar selenium-server-standalone.jar -role node -host 127.0.0.1 -port 5555 -hub http://10.0.2.2:4444/grid/register

如果您希望多个VM计算机相互通信,请使用辅助网络连接设置每个VM计算机,设置为“内部网络”,名为“vboxnet0”或类似名称。然后给每个人一个静态IP地址,例如:192.168.1.10(机器1)和192.168.1.11(机器2)。

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.