Linux系统下搭建内网穿透服务端(LanProxy server)
背景介绍
由于日常工作原因,我有许多台设备,为了能方便在各种设备之间切换,我想利用内网穿透将各个设备端口暴露在公网之中,以便能够随时远程访问。
工具介绍
硬件设备
满足以下任何一台设备即可:
- 云服务器(阿里云、腾讯云都可以,需要开启全部端口)
- 个人主机(台式机、笔记本都可以,家里需要开通电信宽带并配置DMA或者端口映射)
- 树莓派(需要开通电信宽带并配置DMA或者端口映射,这是我目前使用的方案)
系统要求
- Windows
- Linux(本文使用系统)
软件要求
安装步骤
下载软件
进入Lanproxy
发布包 下载地址 选择proxy-server-0.1.zip
,点击下载。
在Linux环境下可使用以下指令下载安装:
wget https://file.nioee.com/seafhttp/files/3cc87ff2-d6d5-4440-89c0-85e04b0b6dbb/proxy-server-0.1.zip
unzip proxy-server-0.1.zip
修改配置文件
修改 vi proxy-server-0.1/conf/config.properties
文件,为了安全,主要修改管理员账户密码,其他根据需求修改。
server.bind=0.0.0.0 #监听的IP地址(表示所有IP)
server.port=4900 #非加密客户端连接端口号(默认端口)
server.ssl.enable=true #是否开启加密连接
server.ssl.bind=0.0.0.0 #是否开启加密连接(表示所有IP)
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 #管理员账户密码
*修改程序为阻塞运行,
方便后续设置开机自启,修改文件 vi proxy-server-0.1/bin/startup.sh
第39行(倒数第5行),删除nohup
,&
修改前:
nohup java -Dapp.home=$DEPLOY_DIR $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS $APP_MAINCLASS >$STDOUT_FILE 2>&1 &
修改后:
java -Dapp.home=$DEPLOY_DIR $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS $APP_MAINCLASS >$STDOUT_FILE 2>&1
*拷贝文件(非必要,个人建议)
切换为root账户,将软件拷贝到/usr/local
目录下
sudo cp -r proxy-server-0.1 /usr/local/proxy
安装依赖
使用apt安装java运行环境,我一般选择Java Runtime Environment
(JRE)
sudo apt install default-jre
java --version
设置程序开机自启
新建文件vi /etc/systemd/system/LanProxy.service
,输入以下内容并保存:
[Unit]
Description=LanProxy daemon.
After=network.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/local/proxy/bin/startup.sh
[Install]
WantedBy=multi-user.target
运行程序:
systemctl start LanProxy
查看程序运行状态:
systemctl status LanProxy
设置开机自启:
systemctl enable LanProxy
软件使用
浏览器访问http://[ip]:8090
即可进入管理界面,添加客户端和映射端口即可