如何从一台虚拟机访问另一台虚拟机?

如何从一台虚拟机访问另一台虚拟机?

我的机器上运行着两台虚拟机,使用的是 VmWare Player (Linux)。使用的网络配置是NAT对于每个虚拟机。这里是我使用过的 vmware player 网络配置的链接。

VM1:192.168.181.175

VM2:192.168.181.174

主机-vmnet8:192.168.181.1

VM2 上的端口 9990 上运行着一个 http 服务。

现在,以下工作...

VM2 -> Browser -> http://localhost:9990/some-path <- trying to access VM2's http service from VM2 itself, using "localhost"

但是,下面的方法不起作用。

VM1 -> Browser -> http://192.168.181.174:9990/some-path <- trying to access VM2's http service from VM1

VM2 -> Browser -> http://192.168.181.174:9990/some-path <- trying to access VM2's http service from VM2 itself, using IP address

类似地,以下是 VM1 和 VM2 的 telnet 投诉内容

telnet 192.168.181.174 9990 正在尝试 192.168.181.174... telnet:无法连接到远程主机:连接被拒绝

以下是主机的 telnet 抱怨的内容,

telnet 192.168.181.174 9990 正在尝试 192.168.181.174... telnet:无法连接到远程主机:没有到主机的路由

防火墙在所有机器(主机、VM1 和 VM2)上均处于非活动状态。

此外,从 VM1 -> VM2、VM2 -> VM1 以及主机 -> VM1 或 VM2 的 ping 操作均正常。

我希望 VM1 能够访问托管在 VM2 上的 http 服务。有人能建议如何实现吗?

注意:我主要是一名软件程序员/开发人员。我不了解防火墙等的具体配置。因此,如果提供的详细信息不够充分,请提前致歉。;)

答案1

成功了。:)

请看@以下。

$ netstat -an | grep LISTEN | grep 9990

tcp 0 0 127.0.0.1:9990 0.0.0.0:* LISTEN

意思是,VM2 上的 Web 服务未绑定到 192.168.181.174,而是绑定到默认的 127.0.0.1(localhost)。我在 Web 服务器的配置文件中做了适当的更改。重新启动 Web 服务器后,一切按预期运行。:)

相关内容