搭建lanproxy客户端与服务端实现内网穿透

news/2024/11/24 1:32:44/

一、首先要配置java环境
1.可以使用这个,或者官网下载,或者其他版本皆可。https://download.csdn.net/download/qq_44821149/87878658

2.采用jdk-8u144-linux-x64.zip压缩包。java version 为1.8.0_144。

3.具体操作为:

mkdir /usr/java
unzip -d /usr/java/ jdk-8u144-linux-x64.zip
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_144
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/binsource /etc/profile
echo $PATH
java -version

4.发现一个有趣点,就是在/etc/profile导入环境变量后,加载该文件。
echo $PATH,然后再加载文件,再echo $PATH。发现这个路径一直重复叠加。但是关了终端,再开个终端,再打印发现正常了,没有叠加。

二、配置lanproxy服务端(目录可以根据自己需要而定。)
1.下载lanproxy服务端压缩包,再传到服务器上。
https://download.csdn.net/download/qq_44821149/87878685

2.解压压缩包

unzip -d /mydata  proxy-server-20171116.zip

3.配置lanproxy服务端

cd /mydata/proxy-server-20171116/conf/
vim config.properties

下为config.properties配置文件内容:

#这个是哪些客户端主机可以使用本服务端的穿透服务
server.bind=0.0.0.0
#这个是穿透时服务端的端口(自己选择)
server.port=6666#这一块不配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#这个是哪些主机可以访问本lanproxy服务端的web界面
config.server.bind=0.0.0.0
#这个是lanproxy服务端的web界面的端口
config.server.port=xxxx
#这个是web界面登录账号和密码
config.admin.username=admin
config.admin.password=xxxxxxxxxx

三、为lanproxy服务端所在的云服务器开放所需端口:
腾讯云-总览-我的资源-云服务器-选择lanproxy服务端所在服务器-安全组-然后去添加所需开放的端口即可。
来源填:0.0.0.0/0 ,表示任何ip的主机都可以访问本服务器的该端口。
协议端口填:TCP:6666,表示开放6666端口。
如果是 多端口则填: TCP:9000-10000 ,表示对外开放9000到10000的端口。

四、配置lanproxy客户端(目录可以根据自己需要而定。)
1.下载lanproxy客户端压缩包,再传到服务器上。
https://download.csdn.net/download/qq_44821149/87881174

2.解压压缩包

unzip -d /mydata  lanproxy-java-client-20171116.zip 

3.配置lanproxy客户端

cd /mydata/lanproxy-java-client-20171116/conf/
vim config.properties

下为config.properties配置文件内容:

#在服务端web界面,生成一个随机key来绑定客户端
client.key=xxxxxxxxxxxxxxxxxxx#这一块不配ssl的可以不用管。
ssl.enable=false
ssl.jksPath=test.jks
ssl.keyStorePassword=123456#lanproxy服务端所在的云服务器的地址(如果服务端客户端在同一台服务器就填127.0.0.1,在一个局域网可以填局域网ip,都不是则填lanproxy服务端云服务器的公网ip。)
server.host=xxx.xxx.xxx.xxx
#lanproxy服务端所在的云服务器的端口(跟lanproxy服务端一致)
server.port=6666

五、lanproxy服务端web界面操作。
1.添加客户端,生成客户端密钥,该密钥填写在lanproxy客户端配置文件client.key里。
在这里插入图片描述
2.配置客户端的端口穿透:
配置后就可以使用 lanproxy服务端公网ip+配置的公网端口 来访问 该lanproxy客户端配置的 后端ip端口。
在这里插入图片描述
3.lanproxy场景分析。

场景一: 公司本地有一台Linux服务器,我在外地办公,需要使用该Linux服务器。

方案:在云服务器配置lanproxy服务端,在公司linux服务器配置lanproxy客户端,然后在lanproxy服务端的web界面进行设置:
设置-代理名称为:公司服务器ssh
设置公网端口为:xxxx(云服务器对外开放端口中选择)
设置后端IP端口为: 127.0.0.1:22
后续就可以使用: 云服务器公网IP+设置的公网端口 来ssh远程控制公司的Linux服务器了。(同理,也可以穿透3306端口,以便可以在外网访问公司内网的mysql。)

场景二: 公司在的数据库在云服务器上,但是为了安全着想,mysql的服务器没有公网ip,外网设备都不能直连mysql服务器。那该如何,在外网访问mysql云服务器。

方案:在有公网IP的云服务器配置lanproxy服务端,同时在该云服务器配置lanproxy客户端,然后在lanproxy服务端的web界面进行设置:
设置-代理名称为:云mysql
设置公网端口为:xxxx(云服务器对外开放端口中选择)
设置后端IP端口为: 10.xxx.xxx.xxx:3306 (这个是mysql云服务器在所在服务器集群的内网IP)
后续就可以使用: 云服务器公网IP+设置的公网端口 来访问没有公网IP的mysql云服务器了。


http://www.ppmy.cn/news/278337.html

相关文章

insightface 人脸检测与识别

参考:https://huaweicloud.csdn.net/638088d7dacf622b8df89c0c.html insightface模型下载可能需要连接外网,模型自动下载保存再models\buffalo_l下,人脸注册自动保存再face_db目录下 1、具体人脸录入 python face_label.py --picture 刘亦…

25款美轮美奂的壁纸改变你的心情

越是漂亮,精美的桌面壁纸,越能挑战我们的想象力和影响我们日常的心情。 在这些搜集里面,你会发现非常漂亮和高品质正好你也喜欢的壁纸。有这么多可供选择的出色桌面墙纸,您的桌面永远不会乏味和单调了。好好享受吧! …

华为路由器:ospf协议三张表及邻居建立过程

说明:本篇接上一篇继续讲解 拓扑图 为了方便,我把R1/2/3/4/5的router id改成了回环网卡的IP。 ospf协议三张表 邻居表(neighbortable) OSPF用邻居机制来发现和维持路由的存在,邻居表存储了双向通信的邻居关系OSPF路…

对象进阶、原型-原型链

工厂方法创建对象 我们之前已经学习了如何创建一个对象,那我们要是想要创建多个对象又该怎么办?聪明的同学可能会说,直接在写几个对象不就好了吗?比如下边的代码: var person1 {name: "孙悟空",age: 18,s…

qt 乱码

init() { // 根据配置加载默认语言系统 // 解决中文乱码问题 QTextCodec *codec QTextCodec::codecForName("system"); QTextCodec::setCodecForLocale(codec); } 设置 /execution-charset:utf-8

国有行面试的8种误区回答(上)

从各地区面试情况来看,国有行面试依旧是自我介绍半结构化无领导群面,辅之辩论赛等形式。 从多数地区和岗位面试情况看,我们知道自我介绍几乎是必考面试题,甚至不少地区一面只让作一次自我介绍就结束,可见自我介绍对面试…

JavaSE08_面向对象之继承

JavaSE-08 【继承】 第一章 继承 1.1 继承介绍 继承的概念: 让类与类之间产生关系(子父类关系),子类可以直接使用父类中非私有的成员继承是多态的前提,如果没有继承,就没有多态继承主要解决的问题就是共…

一颗明亮的火球从天空划过

我不知道,估计也没有几个普通人能够说清楚。但有一个真实的事件,它被普遍认为是地球存在高级文明,或者地球被外星人保护的最好证明——俄罗斯陨石被击碎事件。 2013年2月15日,俄罗斯南部的车里雅宾斯克,一颗明亮的火球…