VMware 端口转发和 NAT。如何将主机的 IP 作为虚拟机中的主机名?

VMware 端口转发和 NAT。如何将主机的 IP 作为虚拟机中的主机名?

我正尝试在本地网络上公开一个在 Linux 上运行的非常简单的 Ruby 服务器。

server = TCPServer.new(hostname, port)

我的 Linux VM 在 NAT 虚拟网络上运行192.168.73.X。我使用的端口是1564,因此我使用 VMware 中的“虚拟网络编辑器”对其进行了转发。

然后我在我的 ruby​​ 代码中使用它192.168.73.133hostname

这非常有效,如果我尝试从主机连接到我的服务器(包括使用我的主机的 IP)192.168.1.118

问题是我无法从网络上的其他计算机访问它。

我猜主机名需要更改,但我不知道该放什么(除了主机的 IP,但这样做时 ruby​​ 会崩溃)。我还读到我需要在我的 Linux 中创建一条路由,但我不知道该放哪一条...

所以我认为我的问题是:为了能够将主机的 IP 地址放入主机名中,我应该在我的 Linux 中添加什么路由?

感谢您的帮助。

答案1

好吧,我对自己很生气...这是一个简单的 Windows 防火墙问题(NAT 配置良好,我不需要添加路由)。

要禁用防火墙:

  1. 开始
  2. 控制面板(小图标)
  3. Windows 防火墙
  4. 打开或关闭 Windows 防火墙(左栏)

感谢大家的帮助。

答案2

如果您的虚拟机已进行 NAT,则您必须连接到主机。主机会将流量重定向到客户机。无需路由、无需防火墙设置,仅此而已。您有一个 vmare 守护程序可以完成这项工作。

如果连接失败,这是因为您的主机没有重定向流量。
查看netstat -anlptuvmvare 守护程序是否绑定到 1564 端口。如果没有,则说明您的 vmware NAT 配置存在错误。

SpacemanSpiff 让我想到了另一个问题:如果你的客用电脑有多个网卡,那么你存在路由问题。不是在主机内部,而是在客户机内部。
确保您的客户机可以访问本地网络上的计算机。使用 traceroute。
要么将默认路由设置为 NATed NIC,要么通过 NATed NIC 添加到本地网络的路由。

相关内容