Linux 下的内网穿透工具,实现在没有公网出口环境下的内网设备远程。
前言
lanproxy是一个内网穿透工具。支持TCP流量转发。用于替代第三方付费工具,比如anydesk、teamview、花生壳等。这些第三方工具在个人使用上存在各种各样的限制,有的时候还非常不便,所以为了顺手,就有了自己搭内网穿透的想法。在内网穿透有选择上,选择了lanproxy。工具主页请戳。
准备工作
- 一台公网服务器(运行lanproxy server)
- 一台内网PC或服务器(lanproxy client测试)
服务端配置
lanproxy 后端依赖 JAVA。需要选安装jdk,再安装lanproxy。操作如下:
java安装
操作系统环境如下:
1 2
| uname -a Linux vultr_vps_server 4.15.0-47-generic
|
直接通过apt源安装openjdk。
1
| sudo apt install openjdk-11-jdk
|
查看JAVA环境:
1 2 3 4
| java -version openjdk version "11.0.2" 2019-01-15 OpenJDK Runtime Environment (build 11.0.2+9-Ubuntu-3ubuntu118.04.3) OpenJDK 64-Bit Server VM (build 11.0.2+9-Ubuntu-3ubuntu118.04.3, mixed mode, sharing)
|
lanproxy server安装
下载地址请戳,选择server的程序包。下载后上传到服务器上。
解压缩程序包至需要安装的目录,比如本文示例/usr/bin/proxy-server/
配置文件在程序目录下的conf目录下,名称:config.properties。编辑配置文件,更改登录的用户名和密码。
配置文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| server.bind=0.0.0.0
server.port=4900
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
config.server.bind=0.0.0.0 config.server.port=8090 config.admin.username=admin config.admin.password=admin
|
启动服务
在程序目录下的bin目录有服务启动脚本,添加执行权限后,直接运行启动服务。
1 2 3
| /usr/bin/proxy-server/bin chmod +x startup.sh ./startup.sh
|
对于8090端口和ip访问的方式,可以配置nginx代理,使用域名访问。
登录配置
浏览器打开http://ip:8090,使用配置文件中的用户名和密码登录,至此服务端配置结束。
代理配置
在客户端管理页添加客户端,添加后会自动生成客户端密钥。
添加代理端口配置,添加的名称和公网端口,公网端口在防火墙上放通。配置后端IP和端口即为要转发的内网服务器IP和端口。
客户端配置
CentOS和Windows各测试一个,CentOS使用JAV客户端,Windows直接使用发布包程序。
CentOS客户端配置
安装JAVA环境:
1
| yum install java-11-openjdk.x86_64 java-11-openjdk-devel.x86_64
|
下载程序包,解压至安装目录,如/usr/share/proxy-java-client/
同样,配置文件在安装目录下的conf目录中。配置文件名称:config.properties。
1 2 3 4 5 6 7 8 9
| client.key=客户端KEY ssl.enable=false ssl.jksPath=test.jks ssl.keyStorePassword=123456
server.host=服务端IP
server.port=4900
|
配置文件结束,返回到上级目录下的bin文件。运行startup.sh。客户端程序启动,在服务端的管理页面中,可以看到已添加的设备在线了。
Windows客户端的配置
下载客户端程序,解压后直接放到C盘目录下,连接操作如下:
1 2 3 4 5 6 7 8
| nohup ./client_darwin_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &
nohup ./client_linux_amd64 -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY &
./client_windows_amd64.exe -s SERVER_IP -p SERVER_PORT -k CLIENT_KEY
|
查看服务端管理页面,可以看到添加的代理服务器上线。
配置结束。