使用 VMWare 进行端口转发的正确方法是什么?

11

我创建了一个虚拟机,其中运行着一个位于localhost:8675/的服务器,我想连接到与其相同端口的宿主机以便更容易地理解。 我正在按照以下文档进行操作:

当我在我的VMWare工作站中时,我点击了我的虚拟机,然后执行了:编辑 > 虚拟网络编辑器。此后,启用了更改设置,重新启动了管理员模式下的窗口。 我点击了类型为NAT和外部连接NAT的行,在带有NAT单选按钮的VMNet信息中,我点击了NAT设置按钮。

我说:添加... 然后执行了:

Host: 8675
Type: TCP
VMIP: 127.0.0.1:8675
Description:  Port Foward of 8675 from Host to VM.

看起来一切都很好。我连续说了OkApply。似乎它关掉了nat并重新启动了一些服务。

我在虚拟机中确认127.0.0.1:8675是正确的。 在主机上,我尝试去这里:http://localhost:8675/,但它显示:ERR_CONNECTION_REFUSED

我想这可能是我需要做的全部了。

我查找了一些额外的信息,注意到有些人不得不配置防火墙。我不确定是否需要,因为我认为主机和虚拟机都在同一台实际机器上,可能完全是自包含的。

我是否漏掉了关键任务?


127.0.0.1 作为虚拟机 IP,这让我笑翻了。 - mootmoot
哈哈,是的,我很快就把它删掉了。当我查看VMIP时,我想让它显示本地主机,所以我认为127.0.0.1对我来说是有意义的。 - Fallenreaper
不,你不能使用127.0.0.1或localhost。@Giuseppe Gorgoglione给了你提示。哦等等...我最好提供一些可视化。 - mootmoot
3
好的,我刚刚阅读了Vmware和Virtualbox。答案很简单:Vmware和Virtualbox的做法不同。端口转发方法是不可互换的。Vmware“更喜欢”桥接方式,Virtualbox只允许您在NAT设置中进行。 - mootmoot
3个回答

2
当您使用NAT时,主机系统和客户端系统在其虚拟子网上具有完全不同的IP地址,因此我猜测,当您从主机系统尝试连接到localhost:8675时,您实际上是在尝试连接到主机而不是客户端的8675端口。因此,请勿使用localhost或127.0.0.1语法,而是发现客户端的真实IP地址并使用它。 如果您的客户端是Windows,请使用ipconfig命令;如果是Linux,请使用ifconfig命令。
可能还需要配置客户端防火墙。
编辑: 对于“NAT:用于共享主机的IP地址”的评论:它可能指的是您在主机上拥有的实际以太网适配器的IP地址,并且主机和客户端共享该地址以访问互联网。这与主机和客户端之间通信的方式无关。例如,我使用VMware Workstation在Windows中运行虚拟Linux客户端。选择NAT后,VMware创建了一个名为VMnet8的虚拟子网。在此子网中,虚拟路由器具有地址192.168.120.0,我的Windows主机被分配了一个带有地址192.168.120.1的虚拟以太网适配器,而我的Linux客户端则具有地址192.168.120.128。因此,当我想要从Windows访问Samba共享文件夹时,我在Windows命令提示符中输入“net use * \ 192.168.120.128”。当我想要从Linux访问Windows共享文件夹时,我输入“sudo mount.cifs //192.168.120.1/path_to_shared_folder target_folder”。

1
NAT:用于共享主机的IP地址。桥接将客户端放置在同一网络中,并分配新的IP地址,可以通过访问ipconfig并获取IPv4地址,并使用端口访问它。 - Fallenreaper
你从哪里引用了这句话?我认为你理解错了。这个解释太长了,不适合在评论中阐述,请查看我的编辑后的答案。 - Giuseppe Gorgoglione
这句话来自VMware Workstation。我右键单击我的实例>设置>网络适配器。对于网络连接子部分:“Nat:用于共享主机的IP地址。” - Fallenreaper

2

你应该将你的问题改为“在Vmware中配置端口转发的正确方法是什么”。 - mootmoot
我会修改它。 - Fallenreaper

2

我相信你实际上已经正确回答了你的问题,因为我一直在关注并实现了所需的结果。

依我之见,错误:ERR_CONNECTION_REFUSED 表示您的主机操作系统或虚拟机的防火墙,或两者都不允许通过给定端口进行通信。

最简单的方法是尝试禁用主机和虚拟机上的防火墙。

不确定您使用的操作系统是什么,但这里有一个很好的Ubuntu防火墙规则设置指南


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接