我正在运行 VMware Workstation 8(内部版本 471480)。我想在虚拟服务器的桌面上设置一个小型内容服务器,主要用于存放我网站的图片等(只是为了好玩)... 我现在已在运行 Ubuntu Server 的 VMWare 虚拟机上安装了所有内容,并且已运行 Web 服务器。我已经测试过它,从主机访问时它在网络中运行良好。
我现在需要让它在公共互联网上运行,并计划使用 noip.com,就像我在许多其他场合所做的那样。
问题是我的路由器是 Linksys E2500,它只允许端口转发到其子网内的 IP(192.168.2.**)
连接到路由器的主机系统的 IP 为 192.168.2.177。VMware Workstation 8 虚拟机的网络类型为 NAT,其上的服务器 IP 为 192.168.43.130。
我已经将端口 80 和 22 转发至 192.168.2.177,但是如何让我的 Windows 7 系统将该端口转发至服务器 IP?
答案1
正如在 Root Access 聊天中所讨论的:
你不需要进行端口转发。只需使用桥接让您的客户机请求路由器自己子网上的 IP 地址,这样客户机将拥有一个类似 192.168.2.178 的 IP(例如)。建议您使用桥接,而不是试图弄清楚如何说服 VMware 的 NAT 适配器进行端口转发。
VMware Workstation 8 使用手册第 144 页(底部)和接下来的几页详细描述了如何设置桥接。
一般的想法是使用虚拟网络编辑器将连接类型更改为桥接而不是 NAT,并确保您编辑的适配器已在 VM 的设置窗格中映射到 VM。就是这样 - 如果主机端的一切都设置正确,您的客户机将在路由器上获得 IP。
答案2
实际上正确的解决方案是将端口转发给客户,而不是重新配置整个网络。
您需要将端口添加到 vmware 配置文件nat.conf
[incomingtcp]
#<external port number> = <VM's IP address>:<VM's port number>*
#(this maps guest port 80 to host port 81)
81 = 192.168.100.1:80
答案3
在 Windows 上,您可以访问虚拟网络编辑器(位于开始菜单上)。从那里,您可以选择 NAT 接口 (VMnet8),单击“NAT 设置”,然后设置到 VM 的端口转发。它的工作原理类似于典型路由器上的 NAT 端口转发设置。
桥接模式是一种简单的解决方法,但我所处的环境不希望任何人随意将虚拟机连接到网络。NAT 更适合保持隔离。
答案4
以上所有答案都是正确的,但我想为我的 VS Code 环境转发端口,我的客户机是“Ubuntu 20”,主机是“Windows 10”,在使用 SSH 远程连接时,左下角 PAN(侧 PAN)上有一个选项,名为“端口”,只需根据您的要求输入端口,如:8080 或 80。
希望这能帮助那些想要使用 vmware 和 VSCODE 的人