克服VM上的环回设备

时间:2013-02-01 00:28:59

标签: api networking virtualbox loopback

由于各种限制,我发现自己处于以下情况:

我可以访问在计算机(127.0.0.1)的环回设备上启动服务的API。该计算机实际上是在客户端托管的VM上运行。客户端将使用相同的API进行连接(当然,它将通过环回设备连接)。

API旨在成为与主机和客户端在同一台机器上执行的服务 - 它本质上是一个通信层。这两个软件组件(即端点)是不兼容的,因此我们以这种方式配置它们:在VM上托管服务器的客户端。

VM是Virtualbox,具有桥接适配器网络设置。

他们都在运行Windows XP。

如何让他们进行交流?

编辑:我无法更改通信服务,但我可以对VM或主机进行必要的其他更改。

2 个答案:

答案 0 :(得分:1)

扩展@ EJP建议使用端口转发,User Manual§6.3.1使用NAT配置端口转发涵盖了所需的命令。假设您的service访客“VM名称”是在端口80上侦听的Web服务器。您可以将主机端口12345转发到访客端口80,如下所示:

VBoxManage modifyvm "VM name" --natpf1 "service,tcp,,12345,,80"

当您在主机上浏览http://127.0.0.1:12345时,来宾服务器将做出响应。您可以使用以下内容删除设置:

VBoxManage modifyvm "VM name" --natpf1 delete "service"

您可以使用以下内容检查设置:

VBoxManage showvminfo "VM name"

答案 1 :(得分:0)

如果可以,您将不得不将服务更改为不绑定到127.0.0.1。否则,您必须在VM中安装某种代理,或者如果可以,则组织一些端口转发。