内网穿透工具--lanproxy

Posted 幸福丶如此

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内网穿透工具--lanproxy相关的知识,希望对你有一定的参考价值。

一、简介

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.1proxy-server-0.1 两个目录

五、服务端安装

1、安装JAVA

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=admin
3、修改 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.sh
4、WEB界面管理

① 代理配置,打开地址 http://公网ip:8090 ,使用上面配置中配置的用户名密码(admin/admin)登录,进入如下代理配置界面,添加客户端

② 配置管理–>第一步创建客户端的名称(我这里是client)–>添加配置

截图的配置意思是将内网的 3306 端口映射到服务器的 13306 端口,也就是访问 服务器ip:13306 等于访问 内网ip:3306 。

一个server可以支持多个客户端连接 配置数据存放在 ~/.lanproxy/config.json 文件中

六、客户端配置(一般放在内网环境的服务器或者本地的PC)

前提:安装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=4993
2、启动客户端
将启动文件 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.sh
3、最后客户端运行后,服务端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

以上是关于内网穿透工具--lanproxy的主要内容,如果未能解决你的问题,请参考以下文章

lanproxy搭建内网穿透

内网穿透(集合)

内网穿透(集合)

内网穿透(集合)

内网穿透(集合)

基于docker的lanproxy内网穿透服务