lanproxy搭建内网穿透
Posted 穷少年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lanproxy搭建内网穿透相关的知识,希望对你有一定的参考价值。
1.什么是内网穿透?
- 内网穿透也叫做内网映射,也叫“NAT穿透”
- 一句话来说就是,让外网能访问你的内网;把自己的内网(主机)当成服务器,让外网能访问
- 原理图解如下:
使用lanproxy来搭建内网穿透
lanyproxy
lanproxy 是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持 tcp 流量转发,可支持任何 tcp 上层协议(访问内网网站、本地支付接口调试、ssh 访问、远程桌面…)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud 等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。https://lanproxy.io2c.com
搭建
硬件与环境要求
- 一台公网服务器(Centos 7.6),只要有一台公网的ip的电脑即可,window或者linux都行
- 安装了java运行环境 (因为lanproxy是由java写的程序,所以公网电脑必须有java运行环境)
- 安装了git(我们通过git拉去lanproxy项目)
- 安装了maven(通过maven打包生成可执行软件(server,client))
- 一台内网电脑(运行一个http服务器在内网电脑上,以便后序看结果)
服务端
服务端必须要搭建在公网ip上,因为我们要透过公网的lanproxy服务端来帮助我们进行内网穿透
下载搭建
- 拉取github上的lanproxy项目
git clone https://github.com/ffay/lanproxy.git
- 通过mvn来打包拉取下来的lanproxy项目
cd lanproxy
mvn package
mvn完成之后项目里面会多一个distribution
文件夹
配置
distribution
文件夹下有两个文件夹
- proxy-server-0.1:这个文件夹是服务端
- proxy-client-0.1:这个文件夹是客户端
服务端相关配置都在文件夹proxy-server-0.1/conf/config.properties
文件内(我们一般就使用默认,不用修改)
server.bind=0.0.0.0
#与代理客户端通信端口
server.port=4900 # 这里并不是server项目的启动端口,而是.......
# 比如说你的一个部署在内网服务器上的项目占用端口4900 ,而你想通过公网ip访问内网中
# 这个4900端口下的项目,这个server.port就等于4900
#ssl相关配置 如果不适用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 # 这里是server项目启动和访问端口
# 用户名和密码
config.admin.username=admin
config.admin.password=admin
启动
启动和停止程序都在proxy-server-0.1/bin
下(如果是在window系统下,直接点击startup.bat即可启动)
# 赋予可执行权限
chmod 777 ./startup.sh
chmod 777 ./stop.sh
# 启动
./startup.sh
# 停止
./stop.sh
启动之后我们可以访问lanproxy提供的可视化网站来配置 默认地址:http://[你的公网ip]:8090
密码账户取决你的配置文件
- account:admin
- password:admin
添加内网用户
添加成功后,就会在客户端管理里有一条记录
添加内网映射端口
添加完成
客户端
客户端我们需要搭建在需要被内网穿透的内网ip电脑上,例如在我的个人电脑上
下载安装
客户端程序就在lanproxy项目的
distribution
文件内,与服务端程序放在一起
所以,我们只需要在自己电脑上将项目拉去下来,mvn打包,程序与服务端下载搭建基本一模一样
客户端配置
客户端的配置与服务端的配置文件都是在conf文件夹下,
# 这里是在lanproxy后台配置的密钥
client.key=e6a49a19b8024652ab4ff2210abf2c6a
# 配置ssl信息,根据服务端的配置填写(enable = false 就不需要配置)
ssl.enable=false
ssl.jksPath=test.jks
ssl.keyStorePassword=123456
# 服务器的ip
server.host=120.92.10.120
#proxy-server ssl默认端口4993,默认普通端口4900
#ssl.enable=true时这里填写ssl端口,ssl.enable=false时这里填写普通端口
server.port=4900
启动客户端
启动程序也是放在bin文件夹下,在window系统上我们直接点击(startup.bat)启动即可
测试
我们在自己的内网电脑上开启一个http服务器,例如tomcat,将发布端口改为80端口
我们内网电脑上已经开启了客户端,并且连接到了公网上的lanproxy服务器端,所以我们可以直接访问公网电脑的80端口,来访问本地电脑上的http服务器
至此,大功告成
以上是关于lanproxy搭建内网穿透的主要内容,如果未能解决你的问题,请参考以下文章