内网映射3种方法

时间:2024-02-20 22:38:03

转发,原文链接:https://developer.huawei.com/ict/forum/forum.php?mod=viewthread&tid=47023

最近在学习IoT平台北向应用开发,在使用订阅接口时,需要给IoT平台暴露一个公共IP/Url地址,由于调试过程中,都是在内网进行,需要想办法进行端口映射,百度了半天,总结了3种方法,分享给大家。

 

1、路由器DDNS映射+NAT

 
目前大多是路由器都支持DDNS,牛B些的可以自带域名注册(比如华硕路由器),但绝大多数都是支持花生壳这类产品的。如下图华为荣耀路由器就可以直接使用花生壳账号,登录花生壳官网,注册一个免费域名,然后将域名,用户名,密码填写上去,确认后“连接状态”显示“已连接”,说明DDNS已经启用。
 
 
接着在浏览器中使用这个域名进行范围,默认当然是80端口,可以访问到路由器的登录页面。
 
 
这个时候,还是无法访问到内网PC上的服务器,就必须设置NAT转发了。我的Web端默认为8080,那么就可以在NAT建立如下的映射关系。内部端口8080,外部端口80。
 
 
保存后,重新访问在花生壳上注册的域名,可以看到正常访问到自己的Web服务器了。
 
 

2、花生壳内网映射

 
上面的办法比较麻烦,而且当你换一个内网环境后,可能无法访问到路由器(比如,在公司或者免费WiFi环境下),那就可以使用花生壳客户端软件了。(注,尽管说是免费,要使用内网穿透还是需要缴纳6元的开通费的,商业版就更贵了。)
 
使用花生壳网站的账号登录,点击“内网穿透”,会弹出花生壳的内网穿透配置页面,点击右上角的添加映射,可以设置内网访问地址。此时花生壳会自动帮你设置一个随机端口(也可以使用80端口或者购买个固定端口号进行绑定)
 
 
配置好就OK了,需要等待一段时间(大概几分钟)。访问生成的外网访问地址就OK了,是不是很简单。
 
 
备注:
  1. 这个方法有一些限制,默认6块钱的测试功能,每月流量只有1G
  2. 另外,只支持2个映射数,超过就得另外付费了。
  3. 还有就是,设置好后,需要等待的时间有些长,不是立即生效,不像方法1那么快
 

3、Ngrox内网转发

 
最后一种方法,也是目前我所推荐给大家的。免费,使用简单,立即生效。
 
登录:https://ngrok.cc/
 
下载对应的客户端软件(我这里使用的是Win10 64位家庭版)
 

 
注册一个账号,并登录到后台。根据需要购买一个服务器,可以使用Ngrox免费服务器。此时,会生成一个隧道id。
 
 
 
将隧道id复制下来,双击之前下载的客户端中“Sunny-Ngrok启动工具.bat”,把拷贝的隧道id粘贴进去即可。访问生成的域名地址,就可以看到我们的Web服务了。
 
 
 
总结
 
3种方法都可以成功访问内网的web server,目前我使用的http接口,如何使用https还需要再研究一番。成功尝试的朋友,可以分享经验。

4、经验分享

我之前用过花生壳的内网映射,也就是此文中提到的6元付费版,挺好用,可以设置两条内网映射