下面是关于“无公网IP远也能远程开发调试 VMware虚拟机端口映射3步实现”的详细攻略。
什么是端口映射
端口映射是指在NAT(网络地址转换)设备上建立内网地址和公网地址之间的端口对应关系,以便内网设备通过公网访问网络。在本文中,我们将通过端口映射来实现远程访问本地的VMware虚拟机。
为什么需要端口映射
由于大部分情况下仅有内网IP,很难便捷地进行远程调试。如果我们需要远程访问本地VMware虚拟机中的WEB项目,这时候就需要通过端口映射的方式来实现自由访问。
如何实现端口映射
下面通过三步操作来实现端口映射:
1. 获取 NAT透明代理
NAT透明代理是指在NAT设备中加入一个新模块,负责将代理地址转换成透明地址。使用NAT透明代理不会改变数据报的任何内容,以至于对端完全不会察觉到网络中存在任何中间设备。可使用ZeroTier、ngrok、frp等工具获取NAT透明代理中转。
这里以ngrok为例,假设我们需要访问的VMware虚拟机中的WEB项目的端口为8080,我们可以通过以下命令来获取ngrok的代理地址:
./ngrok http 8080
执行以上命令后,我们可以得到类似如下的代理地址:
http://xxxxxx.ngrok.io
2. 添加端口映射
我们将本地的VMware虚拟机和ngrok中转代理进行端口映射,这样我们就可以通过ngrok的代理地址来访问本地的VMware虚拟机。
在VMware虚拟机中,进入虚拟机设置、网络适配器、网络连接,在NAT连接中添加端口映射。假设我们需要将VMware虚拟机中WEB项目的8080端口映射到ngrok代理中的8080端口,可以如下操作进行:
规则名称:WEB映射
协议:TCP
主机IP:127.0.0.1
主机端口:8080
客户端IP:空
客户端端口:8080
3. 访问映射后的地址
现在,我们可以通过ngrok的代理地址来访问本地的VMware虚拟机中的WEB项目了。在浏览器中输入以下地址即可访问:
http://xxxxxx.ngrok.io
以上就是实现端口映射的整个过程。
示例
以下分别使用ZeroTier、ngrok来进行VMware端口映射的示例。
示例一:使用ZeroTier进行端口映射
获取 ZeroTier代理地址
执行以下代码获取ZeroTier代理地址:
curl -s https://install.zerotier.com/ | bash
sudo zerotier-cli join NETWORK_ID
sudo zerotier-cli listnetworks
其中NETWORK_ID需要换成你自己的ZeroTier网络ID。接下来你需要安装ZeroTier官方客户端并且激活到你加入的网络,可以使用以下命令进行:
sudo apt-get install zerotier-one
sudo service zerotier-one start
sudo zerotier-cli join NETWORK_ID
sudo zerotier-cli listnetworks
执行以上命令后,我们可以得到类似如下的代理地址:
http://10.148.231.240:8080
添加端口映射
和使用ngrok的方式一样,我们将本地的VMware虚拟机和ZeroTier中转代理进行端口映射,这样我们就可以通过ZeroTier的代理地址来访问本地的VMware虚拟机。
在VMware虚拟机中,进入虚拟机设置、网络适配器、网络连接,在NAT连接中添加端口映射。假设我们需要将VMware虚拟机中WEB项目的8080端口映射到ZeroTier代理中的8080端口,可以如下操作进行:
规则名称:WEB映射
协议:TCP
主机IP:127.0.0.1
主机端口:8080
客户端IP:空
客户端端口:8080
访问映射后的地址
现在我们可以使用ZeroTier的代理地址来访问本地的VMware虚拟机了。在浏览器中输入以下地址即可访问:
http://10.148.231.240:8080
示例二:使用ngrok进行端口映射
与示例一的ZeroTier方式不同,这里我们使用ngrok来进行VMware端口映射。同样,我们需要在终端中输入以下命令:
./ngrok http 8080
此时,我们应该可以看到类似如下的代理地址:
http://xxxxxx.ngrok.io
在VMware虚拟机中,进入虚拟机设置、网络适配器、网络连接,在NAT连接中添加端口映射。假设我们需要将VMware虚拟机中WEB项目的8080端口映射到ngrok代理中的8080端口,可以如下操作进行:
规则名称:WEB映射
协议:TCP
主机IP:127.0.0.1
主机端口:8080
客户端IP:空
客户端端口:8080
现在我们已经完成了ngrok的端口映射,可以在浏览器中输入以下地址来访问:
http://xxxxxx.ngrok.io
以上就是两个示例的完整过程,希望对你有帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:无公网IP远也能远程开发调试 VMware虚拟机端口映射3步实现 - Python技术站