搭建内网穿透服务

搭建内网穿透服务

1.什么是内网穿透

内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。

2.什么是lanproxy

lanproxy 是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持 tcp 流量转发,可支持任何 tcp 上层协议(访问内网网站、本地支付接口调试、ssh 访问、远程桌面…)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud 等等

要搭建内网穿透,我们得完成两个任务

  1. 在客户端和服务端都需要安装JDK
  2. 在公网能访问的服务器上运行我们的内网穿透服务;
  3. 在本地电脑上面运行内网穿透客户端。

3.下载安装包

下载地址: https://github.com/ffay/lanproxy

proxy-server-0.1.zip 服务端

proxy-java-client-0.1.zip 客户端

源码地址 https://github.com/ffay/lanproxy

4.server端安装

server的配置文件放置在conf目录中,配置 config.properties

server.bind=0.0.0.0

#与代理客户端通信端口
server.port=4900

#ssl相关配置
server.ssl.enable=true
server.ssl.bind=0.0.0.0
server.ssl.port=4993
server.ssl.jksPath=test.jks
server.ssl.keyStorePassword=123456
server.ssl.keyManagerPassword=123456

#这个配置可以忽略
server.ssl.needsClientAuth=false

#WEB在线配置管理相关信息
config.server.bind=0.0.0.0
config.server.port=8090
config.admin.username=admin
config.admin.password=admin

进入bin目录启动

代理配置,打开地址 http://ip:8090 ,使用上面配置中配置的用户名密码登录

5.client端安装

Java 客户端配置

Java client的配置文件放置在conf目录中,配置 config.properties

#与在proxy-server配置后台创建客户端时填写的秘钥保持一致;
client.key=
ssl.enable=true
ssl.jksPath=test.jks
ssl.keyStorePassword=123456

#这里填写实际的proxy-server地址;没有服务器默认即可,自己有服务器的更换为自己的proxy-server(IP)地址
server.host=lp.thingsglobal.org

#proxy-server ssl默认端口4993,默认普通端口4900
#ssl.enable=true时这里填写ssl端口,ssl.enable=false时这里填写普通端口
server.port=4900

启动服务

本地服务能启动

公网IP访问

6.可用nginx反向代理

示例代码如下

 server  {
                listen 80;
                server_name  dev.qdyc.com;
                location / {
                        proxy_redirect off;
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                        proxy_pass http://127.0.0.1:800;   # 服务器端地址端口
                }
        }


参考文档:https://github.com/ffay/lanproxy

posted @ 2020-06-16 16:16  追梦nan  阅读(5512)  评论(0编辑  收藏  举报