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

时间:2016-03-15 15:15:21

标签: port virtual-machine vmware portforwarding vmware-workstation

我创建了一个VM,其服务器运行在localhost:8675/,我想在同一端口连接到我的主机,以便于理解。我正在关注这些文件以获取信息:

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

我说:添加... ,然后做了:

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

看起来一切都很好。我连续说 Ok Apply 。看起来它关闭了nat并重新启动了一些服务。

我在VM中确认,127.0.0.1:8675是正确的。 在主机中,我尝试转到: http://localhost:8675/ ,它说: ERR_CONNECTION_REFUSED

我认为这就是我需要做的全部。

我正在查找一些其他信息,并注意到有些人不得不配置防火墙。我不确定我是否需要,因为我认为HOST和VM都在1台实际机器中,它可能完全是自包含的。

我缺少一项关键任务吗?

3 个答案:

答案 0 :(得分:2)

我相信您一直在正确地回答自己的问题,并获得了预期的结果。

恕我直言,错误:ERR_CONNECTION_REFUSED表示主机OS或来宾OS(您的VM)或两者上的防火墙不允许通过给定端口进行通信。

最简单的方法是尝试同时禁用HOST和GUEST OS上的防火墙。

不确定您的操作系统是什么,但这只是一个不错的guide for setting up firewall rules on Ubuntu

答案 1 :(得分:1)

我看过这篇文章:https://superuser.com/questions/571196/port-forwarding-to-a-vmware-workstation-virtual-machine 它告诉我只是将它调整为桥接并以这种方式使用它。这是否解决了连接HOST / VM问题的问题。

我不想说这是正确的答案,因为问题本身特别针对NAT,但这是一个有效的替代答案,确实有效。

这解决了手头的基本问题,但不是问题。

答案 2 :(得分:0)

当你使用NAT时,主机系统和访客盒在他们的虚拟子网上有完全不同的IP地址,所以我的猜测是当你从主机系统尝试连接到localhost:8675时,你实际上是在尝试连接到主机的端口8675而不是来宾。因此,请勿使用localhost或127.0.0.1语法,但要发现guest虚拟机的真实IP地址并使用它。 如果您的guest是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”。