往往现在大家对于怎么把本地的服务穿透到互联网,让互联网上其他人也可以访问得到,是一个刚需。
可以实现这个的有很多技术手段,比如花生壳等,但是我用下来,还是lanproxy最稳了,接下来我就来说一下怎么搭建,也是自己搭建过程的一个总结记录。
目录
准备工作:
1、一台云服务器,用于搭建lanproxy服务端;
优惠上云,来阿里云·云小站www.aliyun.com/minisite/goods?userCode=g1kq6hlr2、一台本地的服务,用于搭建lanproxy客户端;
本教程中的系统环境:
Ubuntu 20.04 LTS
Lanproxy介绍
lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。
ffay/lanproxygithub.com/ffay/lanproxy搭建步骤:
1、安装服务端:
跑这个程序需要JAVA环境,因此先安装JAVA环境:
sudo apt install openjdk-8-jdk下载后,解压,修改配置文件
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= server.ssl.keyManagerPassword= #这个配置可以忽略 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 目录
./startup.sh启动成功,直接访问::8090,使用上面配置中配置的用户名密码登录,进入如下代理配置界面
至此,服务端搭建完毕,在管理后台添加客户端,就可以了。
2、搭建客户端
同样需要JAVA环境,直接:
sudo apt install openjdk-8-jdk下载客户端,开始配置客户端配置文件:
client的配置文件放置在conf目录中,配置 config.properties
其他啥也不用动,只需要配置client.key和server.host就行
#与在proxy-server配置后台创建客户端时填写的秘钥保持一致; client.key= ssl.enable=false ssl.jksPath=test.jks ssl.keyStorePassword= #这里填写实际的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配置好后,启动!
./startup.sh启动成功,就可以在管理后台,看到配置的客户端已经在线,说明已经成功!
3、结果验收
现在你就可以配置本地的端口映射到这台云服务器了,比如把本地22端口映射到云服务器的10022端口,你就可以直接通过云服务器远程ssh到本地服务器了!
注意事项:
1、一定要把端口都开了,切记!发现有问题,第一时间检查端口有没有开!
2、Ubuntu 20.04 LTS桌面版本默认没有装sshserver,导致我想了很久,为什么明明都通了,还不能ssh登录,直接安装:
sudo apt install openssh-server看到最后的都是想搞的!必须有Bonus Time:
如何设置客户端的开机启动,应为客户端有时候要重启是经常的事。
方法:
1、新建一个文件:/etc/rc.local
内容如下:
#!/bin/sh sh /path/to/proxy-java-client-0.1/bin/startup.sh exit 02、设置文件可执行:
sudo chmod +x /etc/rc.local设置完成,你可以手动重启一下客户端的服务器,看看是否会自动连接上服务器!