内网穿透都有哪些场景?
微信小程序或者在线支付系统等开发环境往往需要一个外网环境进行调试,不然的话,难以进行开发。
可以调试测试环境等服务器的程序(总有一些BUG本地无法复现,但是测试或者正式环境就是存在的吧…),修改一下网关重定向到代理本机,那就可以直接调试服务器的程序了,简直舒服得不行啊,省去了大量的编译打包上传的时间。
帮朋友搞点什么东西,提供外网访问,朋友直接可以看到效果,方便快捷。
本机和服务器是一家的体验
比较常见的穿透工具了解一下?
Ngrok、Natapp、小米球、Sunny-Ngrok、echosite、Ssh、autossh、Lanproxy、Spike、frp、fcn、nps、花生壳、网云穿
lanproxy
lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面…)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。
lanproxy 有基于java(netty)实现,也有基于go实现的
仓库地址:
https://gitee.com/fengfei/lanproxy
发行包下载:
https://github.com/ffay/lanproxy/releases
https://file.nioee.com/d/2e81550ebdbd416c933f/
搭建步骤
确保你有一个外网的服务器,并且有流量(我使用的是阿里云轻量级应用服务器,流量也有1000G,完全够用了)
1. 下载发行包
前往 https://file.nioee.com/d/2e81550ebdbd416c933f/ 下载对应的server & client,我这里下载server 和 windows 版本的client
解压下载好的server包,目录结构如下
|---bin
2. 配置server
修改 conf/config.properties
server.bind=0.0.0.0
3. 启动server
把server文件夹上传到外网服务器。
进入到bin目录
-
添加执行权限
chmod +x startup.sh chmod +x stop.sh
-
启动服务
sh startup.sh
-
验证服务是否正常
浏览器打开http://IP:10305进行访问,并且输入配置文件的用户名和密码进行登录
来到这里,说明你的服务端完成…
4. 添加客户端以及配置客户端
客户端管理 > 添加客户端
客户端秘钥记录下来,一会在client需要用到
配置管理 > 添加配置
5. 启动客户端
这里演示使用的是windows的.exe方式启动
解压下载好的client包是一个.exe文件,用windows的CMD窗口进入到对应目录执行下面脚本
client_windows_amd64.exe -s youPubilcServerIP -p youConfiguredPort -k youConfiguredClinetKey -ssl true
6. 验证是否成功
由于在第4步的时候配置了10309端口映射127.0.0.1:18080
因此需要保证127.0.0.1:18080能正常访问,然后使用公网访问
如:http://IP:10309
如果使用proxy-java-client-0.1.zip运行客户端,则使用下面配置
# 与在proxy-server配置后台创建客户端时填写的秘钥保持一致;
结合nginx实现转发,https等都是不错的,结合VNC使用,可以实现到桌面共享等。。。
如果本文有帮助到你,请给我点个赞呗~~不白嫖呀!!