Centos使用lanproxy,搭建一个属于自己的内网穿透服务器(附转发失败解决方法),小白向

news2024/12/27 13:24:57

目录

前言

准备工作

搭建与使用

1. 安装git工具

2. 安装java环境

3. 安装maven工具

4. 搭建Lanproxy

5. 启动内网穿透服务 

6. 设置开机自启

转发失败解决方法


前言

最近白嫖了7个月阿里云的服务器,顺带研究了一下,发现有挺多有趣又好玩的东西,比如搭建博客、网站呀,还有搭建内网穿透服务器和socket5、http代理服务器等等。因为刚开始不太懂,搭建的时候出了点问题,本文就简单记录一下搭建过程和转发失败解法思路,希望对萌新有所帮助吧

工具github地址: https://github.com/ffay/lanproxy

工具gitee地址  : https://gitee.com/fengfei/lanproxy

准备工作

1. 服务端,一台公网服务器(这里我用的是阿里云的,目前学生活动可以白嫖7个月)

2. 客户端,能联网的机器linux或windows都行(这里用kali)

3. 爱动手和爱思考的你

搭建与使用

1. 安装git工具

许多系统都默认安装有这个工具,Centos安装命令

yum install git

2. 安装java环境

这里我选用的是OpenJDK 8的环境,Centos系统可以用yum快速安装

先搜索一下包名

yum search java-1.8.0

这里安装java的运行环境和开发环境

yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

3. 安装maven工具

maven工具用于构建项目,直接用yum安装

yum -y install maven

4. 搭建Lanproxy

先用git下载Lanproxy包(包含服务端和客户端),Github用不了可以用Gitee

git clone https://gitee.com/fengfei/lanproxy.git    (推荐)

或

git clone https://github.com/ffay/lanproxy.git    (不推荐)

 接着cd过去

cd lanproxy/

然后用maven拉取源码构建项目

mvn package

完成之后,多了个distribution目录

接着cd过去服务端

cd distribution/proxy-server-0.1/

 编辑一下配置文件

vim conf/config.properties

按i键进入插入模式,要修改的,基本上只有web端口号、登入账号和密码,其他可以不改,附上github对参数的解释

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=123456
server.ssl.keyManagerPassword=123456

#这个配置可以忽略
server.ssl.needsClientAuth=false

#WEB在线配置管理相关信息
config.server.bind=0.0.0.0
config.server.port=8090                   (web页面端口)
config.admin.username=admin        (登入账号)
config.admin.password=admin         (登入密码)

建议账号密码改复杂点,这里我就不改了,因为只有这样,才知道你用的是lanproxy

保存完配置文件退出vim编辑器,接着启动lanproxy

cd bin/

chmod 777 startup.sh

sh startup.sh

浏览器访问

http://[服务器IP地址]:8090/

输入刚刚设置的账号密码登入

5. 启动内网穿透服务 

首先是服务端设置,我们进入lanproxy的web管理页面后,点击添加客户端

 

 可以看到是离线状态,接着我们去设置客户端转发端口和服务端的出口

再点击添加配置

点击提交完成设置

然后是客户端设置

因为下载的lanproxy是客户端和服务端一体的,可以跟服务端一样操作下载,也可以将服务端的

distribution文件拖到客户端,我这里用FinalShell下载到本地,然后再拖去kali的 

进入该目录进行设置,在proxy-client-0.1里

编辑配置文件

填入服务器IP地址和客户端密钥,其他不动,保存退出

接着打开终端,启动一下Nginx服务进行内网穿透测试

systemctl start nginx

本机访问

80端口是打开web页面完成了,然后我们启动lanproxy的服务

启动文件在/distribution/proxy-client-0.1/bin目录里

 启动完成之后回到服务端lanproxy

访问刚刚设置的转发端口9876

内网转发成功,没成功的可以看看解决方法

6. 设置开机自启

每次服务器重启的话,就要手动启动就有点麻烦,可以利用crontab设置开启自启

我们先找绝对路径的启动命令,先来到服务端启动目录

 cd lanproxy/distribution/proxy-server-0.1/bin/

然后查看绝对路径 

pwd

我lanproxy服务启动命令是 

sh /root/lanproxy/distribution/proxy-server-0.1/bin/startup.sh 

 只要设置定时任务,每次开机的时候都执行这个命令,就达到我们的目的了,接着

crontab -e

在里面添加,

@reboot [lanproxy服务启动命令]

比如我是

@reboot sh /root/lanproxy/distribution/proxy-server-0.1/bin/startup.sh

添加完成后,跟vim编辑器一样,点击Esc,再点击:,然后输入wq回车保存退出,这样每次重启机器的时候就会执行这条命令了

转发失败解决方法

要是搭建步骤都没出现问题的话,问题基本上都是由防火墙没有开放端口产生的,只要围绕着这个就不难解决问题了,用到哪个端口就得开放哪个端口,不仅仅是系统自带的防火墙,云服务器控制安全组也有防火墙,安装的面板等也可能带有防火墙(比如宝塔)

首先是,云服务器控制板。我这里用的是阿里云服务器,在服务器ECS安全组里

出方向和入方向添加分别添加用到的端口,懒得看就直接全部添加

然后是,系统自带的防火墙。什么系统版本就百度搜索对应的防火墙,相关端口设置操作修改,开放要用的端口,我这里懒得整,直接关掉系统防火墙了

最后是,面板带的防火墙。比如我这里安装了宝塔面板

不想设置的话,可以直接关掉防火墙

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/187141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Acwing---1096. 地牢大师

地牢大师1.题目2.基本思想3.代码实现1.题目 你现在被困在一个三维地牢中,需要找到最快脱离的出路! 地牢由若干个单位立方体组成,其中部分不含岩石障碍可以直接通过,部分包含岩石障碍无法通过。 向北,向南&#xff0…

Redis基于docker跨服务器的一主两从三哨兵集群模式搭建

文章目录1 整体拓扑图2 redis与哨兵配置文件2.1 主节点配置文件2.1.1 主节点redis.conf配置文件2.1.2 主节点哨兵配置文件2.2 从节点配置文件2.1.1 从节点redis.conf配置文件2.1.2 从节点哨兵配置文件3 docke-compose编排文件4 启动并测试查看哨兵日志查看集群状态测试集群是否…

Spring源码分析 (Spring启动过程之容器对象的创建) (十五)

点进去 1.this() 2.注册配置类 3.refresh() Spring会将所有交由Spring管理的类,扫描其class文件,将其解析成BeanDefinition,在BeanDefinition中会描述类的信息,例如:这个类是否是单例的,Bean的类型,是否是懒…

导向滤波算法——OpenGL实现

导向滤波 一、介绍 导向滤波又称引导滤波,通过一张引导图片反映边缘、物体等信息,对输入图像进行滤波处理,使输出图像的内容由输入图像决定,但纹理与引导图片相似。 导向滤波的原理是局部线性模型,在保持双边滤波的优…

【学习笔记】多线程

1、线程基础 1.1 创建线程的几种方式 继承Thread 类,覆盖run方法实现Runable接口。实现run方法。然后 通过Thread类构造方法获取Thread对象。实现Callable接口。实现call方法。 call方法可以抛出异常。也可以有返回值。 run与start 调用run方法任然是主线程在执行。…

这个 Python 游戏库,打开就能玩一天

会 Python 的小伙伴,选择用 Python 让“大风车”吱呦呦地转!还有的小伙伴,选择用 Turtle 库绘制童年的卡通人物 我们其实还可以选择用 Python 开发小游戏,回忆童年的美好时光。 “凹凸版”吃豆子 这次并非用pygame制作的&#…

MyBatis超详细学习笔记(黑马)

目录 一、MyBatis快速入门 (一)打开MyBatis中文官网 (二)在工程中(pom.xml)导入MyBatis依赖 (三)编写MyBatis核心配置文件——替换连接信息,解决硬编码问题 &#x…

关于加强网络舆情监测的几点建议,TOOM强化舆情监控有方法

网络舆情监测是一项旨在通过监测网络上的舆情信息,了解社会舆论和网络话语状况,分析舆情动态,预测舆情走向,并进行舆情管控的工作。主要通过计算机技术和信息科学手段对网络信息进行收集、整理、分析和报告,以便于管理…

Golang - 操作Redis

Golang - 操作Redis go-redis是Golang语言连接、操作Redis服务的客户端,几乎包含了对Redis的所有操作,具体如下: 简单易用 兼容多种Redis部署架构,可用于Redis服务器、Redis群集、Redis Sentinel,甚至Redis服务器环go-redis 支持…

配置TF-A源码

配置TF-A源码 1.对tf-a源码进行解压 $> tar xfz tf-a-stm32mp-2.2.r2-r0.tar.gz 2.打补丁 进入/home/ubuntu/FSMP1A/tf-a-stm32mp-2.2.r2-r0/tf-a-stm32mp-2.2.r2目录 执行 for p in ls -1 ../*.patch; do patch -p1 < $p; done 3.配置工具链 1)进入/home/ubuntu/FS…

05 CSS-CSS语法【尚硅谷JavaWeb教程】

05 CSS-CSS语法【尚硅谷JavaWeb教程】 JAVAWEB的学习笔记 学习视频来自&#xff1a;https://www.bilibili.com/video/BV1AS4y177xJ/?vd_source75dce036dc8244310435eaf03de4e330 为什么需要CSS 传统的园区网络采用设备和链路冗余来保证高可靠性&#xff0c;但其链路利用率低、…

Task7:动态函数

目录注意一 Filter函数二 Subtotal函数注意 filter&#xff0c;目前只有office365支持 一 Filter函数 作用&#xff1a;需要根据指定的条件&#xff0c;将符合条件的所有记录从数据源表格式查找过来之前方法&#xff1a; 用高级筛选&#xff08;缺点&#xff1a;在查询下一个…

SAP ADM100-Unit4 数据库工作原理:中央数据库管理与DBA Cockpit

概览 本节介绍DBA Cockpit,介绍SAP环境下数据库管理和监控的要点。 使用DBA Cockpit计划日历去计划数据和日志信息的周期性备份。 课程目标 备份数据库内容 检查数据库备份是否成功被执行。 1、DBA Cockpit总览 为了最少的系统停机时间和更高的系统性能,必须计划定期的…

云计算|OpenStack|社区版OpenStack安装部署文档(一 --- 前期硬件准备和部署规划)

前言&#xff1a; 社区版OpenStack是比较难以安装部署的&#xff0c;本文将就安装部署做一个详细的说明。 首先&#xff0c;OpenStack社区版本众多&#xff0c;如何选择一个合适的版本是第一个要解决的问题&#xff08;这里的合适是指的OpenStack版本和操作系统的版本合适&am…

MATLAB-自动控制原理-时域分析

目录 step函数&#xff08;求阶跃响应&#xff09;: impulse函数&#xff08;求脉冲响应&#xff09;: lsim函数&#xff08;求输出&#xff09;: 1&#xff0c;求二阶系统不同阻尼比条件下的阶跃响应曲线 2&#xff0c;求二阶负反馈系统的动态性能指标 利用MATLAB可以方…

五、好友关注,feed流推送

文章目录关注和取消关注&#xff0c;共同关注Feed流推送Feed介绍Timeline推模式Feed流滚动分页滚动分页查询收邮箱官方命令文档&#xff1a;https://redis.io/commands/ 关注和取消关注&#xff0c;共同关注 需求&#xff1a; 可以对一个用户进行关注和取消关注查询和一个用…

深刻理解状态机设计需要避免的冒险;处理单元里的control和datapath;时序电路可能存在essential hazard;竞争冒险【SV】【VLSI】

深刻理解状态机设计需要避免的冒险&#xff1b;处理单元里的control和datapath&#xff1b;时序电路可能存在essential hazard&#xff1b;竞争冒险【SV】【VLSI】0. 前言&#xff1a;时序电路可能存在essential hazard1. 理解control和datapath1.1 Datapath control2. 硬件电路…

JavaScript XHR、Fetch

前后端分离的优势 ◼ 早期的网页都是通过后端渲染来完成的&#xff1a;服务器端渲染&#xff08;SSR&#xff0c;server side render&#xff09;&#xff1a; \qquad 客户端发出请求-> 服务端接收请求并返回相应HTML文档-> 页面刷新&#xff0c;客户端加载新的HTML文…

如何采用conda配置python虚拟环境

文章目录一、创建python虚拟环境二、配置刚创建的虚拟环境三、将虚拟环境配置到相应项目一、创建python虚拟环境 首先选中要配置环境的文件 如下&#xff1a; 在此处输入cmd按回车 此处我创建一个环境名为hands3dtext&#xff0c;环境版本为3.7.2的初始环境 conda create -n…

Visual Studio 2015配置OpenCV4.5.3(c++版)

学习目标学会在Visual Studio 2015部署Opencv一个简单的C Opencv实例一、 Visual Studio 2015配置Opencv4.5.31.1 Visual Studio 2015网上关于Visual Studio 2015的下载&#xff0c;也有很多介绍。大家自行搜索安装。1.2 OpenCVOpenCV大家根据需求下载相应版本&#xff0c;官网…