lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议,可用作访问内网网站、本地支付接口调试、SSH访问、远程桌面等等,而且带Web在线管理面板,添加端口配置十分简单。
二、相关链接主页地址:https://nat.io2c.com/
Github地址:https://github.com/ffay/lanproxy https://gitee.com/fnw/lanproxy
发布包下载:https://seafile.cdjxt.net/d/2e81550ebdbd416c933f/
编译生成运行包
拉取源码,运行 mvn clean install ,打包后的资源放在distribution目录中,包括 proxy-client-0.1 和 proxy-server-0.1 两个目录
java版本至少为1.7,查看命令为java -version,我这里安装了JAVA1.8。
2、lanproxy服务端的安装将上述编译好的 proxy-server-0.1 目录放入一个带有公网服务器地址的一台服务器上,然后编辑配置文件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=admin3、修改 proxy-server-0.1/bin/startup.sh 启动文件,并启动服务
将启动文件中的 JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true " 改成 JAVA_OPTS=" -Djava.awt.headless=true -Xms1g -Xmx1g -Djava.net.preferIPv4Stack=true -Djdk.tls.rejectClientInitiatedRenegotiation=true" ###启动服务 cd proxy-server-0.1/bin/ chmod 755 startup.sh sh startup.sh4、WEB界面管理
① 代理配置,打开地址 http://公网ip:8090 ,使用上面配置中配置的用户名密码(admin/admin)登录,进入如下代理配置界面,添加客户端
② 配置管理–>第一步创建客户端的名称(我这里是client)–>添加配置
截图的配置意思是将内网的 3306 端口映射到服务器的 13306 端口,也就是访问 服务器ip:13306 等于访问 内网ip:3306 。
六、客户端配置(一般放在内网环境的服务器或者本地的PC)一个server可以支持多个客户端连接 配置数据存放在 ~/.lanproxy/config.json 文件中
前提:安装JAVA
1、将 proxy-client-0.1 目录拷贝到内网的服务器上,修改配置 conf/config.properties#与在proxy-server配置后台创建客户端时填写的秘钥保持一致; client.key=client ##这个是在WEB界面管理自定义的秘钥 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=49932、启动客户端
将启动文件 proxy-client-0.1/bin/startup.sh 中的 JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true " 改成 JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Xms512m -Xmx512m " ###启动客户端 cd proxy-client-0.1/bin/ chmod 755 startup.sh sh startup.sh3、最后客户端运行后,服务端Web界面的配置状态显示在线即连接成功。 4、客户端扩展知识:非JAVA客户端使用
该方法可以不用安装java即可在客户端运行lanproxy,首先下载对应版本的JAVA客户端,然后解压出来,再运行以下命令:
#以下需要使用的参数是服务端IP,服务端端口,客户端密匙 1、普通端口连接 #mac 64位 nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY & #linux 64位 nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY & #windows 64 位 ./client_windows_amd64.exe -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY 2、SSL端口连接 #mac 64位 nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true & #linux 64位 nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true & #windows 64 位 client_windows_amd64.exe -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true
这里单独说下Windows电脑使用方法,首先按住Win+R,输入cmd进入命令窗口。
#如果你将客户端exe文件解压到了D盘的RATS文件夹,则使用命令进入RATS文件夹 cd /d d:RATS #如果你是SSL端口连接,先替换自己的IP,端口,CLIENT_KEY后运行,普通端口命令参考上面 client_windows_amd64.exe -s SERVER_IP -p SERVER_SSL_PORT -k CLIENT_KEY -ssl true



