使用Lanproxy搭建内网穿透服务器

前言

LanProxy项目地址: https://github.com/ffay/lanproxy
当前内容参考自:https://blog.csdn.net/u012104219/article/details/85051893

材料准备

  • 一台具有公网ip的服务器
  • 服务器安装好了docker
  • 防火墙最好提前关闭下,包括服务器销售商那儿,出网入网协议端口规则

dokcer部署LanProxy

部署之前,先确定一个概念。
因为LanProxy实现内网穿透的本质,是通过监听某个宿主机的端口,当收到任意协议的请求之后,将请求再转发给客户端,即我们的内网的机器(关于LanProxy怎么和内网机器通信,后面部分会有说明)
所以为保证处于容器中的LanProxy能够监听宿主机的端口,所以你先要确定一个端口范围,这一整个端口范围在后面将会用于的“内网穿透”
当前假设,你的这个端口范围是 12000到12100 ,我开放 100 个端口号给LanProxy做内网穿透用,所以docker部署命令会是以下的内容

docker run -d --name lanproxy-server -p 8090:8090 -p 4900:4900 -p 12000-12100:12000-12100 biodwhu/lanproxy

这行命令会自动下载最新版本的镜像,8090和4900端口都是固定端口,12000-12100这个端口范围可以自由变更

进入容器内部的命令

docker exec -it lanproxy-server sh

浏览器中输入服务器的ip地址或域名,然后加端口号8090,打开这个地址后,就能进入到lanproxy的管理界面
使用账号admin,密码admin登录进去

客户端配置(即自己内网的机器)

浏览器中打开上面配置好后的lanproxy服务端管理界面,并且登录进去
自己新建一个客户端

接下来在自己内网机器做以下操作

1、下载lanproxy的客户端,地址为:https://github.com/ffay/lanproxy-go-client/releases

我自己打算的是在Windows上使用,所以我下载的是
接下来的客户端使用,也会是针对window系统环境,如果你们想知道linux的内网机器如何使用这个客户端的话,请进入作者开源地址 https://github.com/ffay/lanproxy ,其中有详细介绍

2、解压到本地,你可以找到里面有个 exe的可执行文件 ,这里最好自己改下文件夹名字和这个exe文件的名字,因为接下来要使用命令行的方式启动它


在地址栏输入 cmd ,打开命令行

按照作者给出的文档来看,启动这个工具的命令为:./client_windows_amd64.exe -s [SERVER_IP] -p [SERVER_PORT] -k [CLIENT_KEY]

  • SERVER_IP:即上面我们用docker部署的那个lanproxy-server的服务器地址
  • SERVER_PORT:docker部署lanproxy-server的时候,如果4900端口你没改的话,那就是4900,否则使用自己更改的端口
  • CLIENT_KEY:你在管理页面新建客户端时设置的那个客户端秘钥

因为我改掉了这个exe文件的文件名,所以在我这里,最终的客户端启动命令为:

./lanproxy -s tencent.shapman.cn -p 4900 -k shapman_lanproxy_key

这一句命令也是可以简化的,如果你服务端lanproxy 4900端口没有重新映射,-p 参数可以不要。同时这个exe文件的路径,你可以加到系统环境变量的Path当中,最终的客户端启动命令为

lanproxy -s tencent.shapman.cn -k shapman_lanproxy_key

添加内网穿透规则

到目前为止,服务端和客户端都已经配置完毕,并且都在运行(客户端启动后,如果要退出,请按下Ctrl+C,但是如果要保证内网穿透服务一直可用,请让他保持一直运行)
lanproxy实现内网穿透的原理在于,通过启动客户端,实现与服务端的socket连接,让服务端能将监听端口而得到的数据转发给内网机器的指定端口上。

在lanproxy的管理界面中添加配置,注意公网端口必须是在部署lanproxy-server时的那个端口范围之中。例如我这里是12000-12100,所以选择设置公网端口的时候,我就是从12000-12100这个范围选择

这时候,你就能通过访问服务器ip加公网端口号,来访问内网机器的指定端口

posted @ 2021-06-03 14:34  吕小不  阅读(1829)  评论(0编辑  收藏  举报