设想下
如果有已知的公网服务器,那内网的本地服务就可以映射到外网了。
如果没有已知的公网服务器,那只能代理到外网的服务器访问即可。
ps: 公网服务器与可访问外网的服务器是有区别的。区别在于用户访问某宝服务,先是到公网服务器然后再转发的淘宝服务。所以可访问外网的服务器不等于公网服务器。
换句话说直接将服务器部署在与公网服务器相通的机器上不就可以了,我也是这样想的。所以就有生产环境与测试环境,其实内网穿透还是存在安全隐患的,内网穿透大部分应用于测试环境,比如常用的微信相关开发。
最后我们来聊聊FRP与NGROK
两者的原理都一样,通过解析过的域名做本地服务端口映射。
Ngrok相对比较简单,只需要能访问外网的机器即可。可参考 http://ngrok.cc 里面有教程, 但是唯一不足的是免费分配的域名容易被微信限制,如果不是做微信相关的服务可忽略。
接下来就是FRP,不仅仅需要能访问外网的机器,还需要一台公网服务器。如果需要做域名相关的测试,就需要申请域名解析到公网服务器。可参考 https://gofrp.org/ 里面有文档。强调下服务端必须部署在公网服务器上才行。个人感觉功能也比Ngrok强大些,稳定些。
购买一个极路由,极路由可以安装应用,而且有提供域名解析,可以被用来作为本次内网穿透的实验。
随后给路由器安装frp的应用,在有广域网IP的自己家的路由器上安装frps,在内网安装frpc。
frp的源码可以在 github 上获取,页面上有关于frp的介绍:
在服务器端设置,选择版本,服务器地址保持默认的 0.0.0.0 ,设置特权密码,用于客户端的连接,设置查询用户名和密码。
在客户端进行设置,选择与服务器对应的版本,填入服务器的域名或者IP,因为极路由自己有域名解析非常方便。添加自己设定的密码:
再加入配置文件,比如下面的内容将148和5两台主机的22端口做了分配:
运行客户端,查看运行状态:
以下通过ssh登陆到内网的树莓派上,这个板用安装了moodeaudio系统,可以看到相关的信息:
打开状态网页 http://xxxxxxxxxxxx.jios.org:7500/ ,也可以看到连接信息:
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)