如何在Linux系统上搭建自己的FRP内网穿透

news2024/10/7 16:23:22

前言

我有一个1核1G的服务器有公网IP但是这个1核1G的服务器太垃圾了,几乎什么都跑不起来,不过网速还行,那我本地还有一个物理主机是一个4核4G的,那我就可以把这台主机安装上linux系统当成一个服务器来使用,然后把网络代理到公网IP上.使用内网穿透这篇文章也就出现了.

FRP简介

FRP官网:https://gofrp.org/
frp(Fast Reverse Proxy)是一个高性能的反向代理工具,它可以帮助用户在内网穿透的过程中实现对外网的访问。通过frp,用户可以将内网的服务暴露到外网,实现内网穿透,方便远程访问和管理。

frp采用客户端-服务端架构,用户需要在内网和外网分别部署frp客户端和frp服务端。客户端负责将内网的服务请求转发到服务端,服务端则将请求转发给真正的目标服务。这样,即使目标服务在内网中,用户也可以通过外网访问到它。

frp支持多种协议,包括TCP、UDP和HTTP等。用户可以根据自己的需求配置frp,实现不同协议的转发。同时,frp还支持自定义域名和端口映射,用户可以通过配置文件灵活地设置转发规则。
除了内网穿透功能,frp还提供了一些其他的特性,如流量加密、身份验证和流量限制等。这些特性可以增强网络安全性,保护用户的数据和服务。

frp是一个功能强大、易于使用的反向代理工具,它可以帮助用户实现内网穿透,方便远程访问和管理内网服务。无论是个人用户还是企业用户,都可以从frp的便利性和安全性中受益。

正文一[服务器端]

首先去frp官网FRP官网:https://gofrp.org/

1.再去点击起步,打开这个起步会看到下面这个图片起步

2.点击安装安装

3.点击下载FPR这个点击下载比较慢,因为是github有条件的可以挂梯子下载

4.下载你需要的版本,我这里是在Linux上面安装所以下载下面图片标注的最新版本最新版的linux压缩包
5.下载好后解压这个压缩包你会看到下面这些.其中红色圈起来的是需要在客户端运行所需要的配置文件,黄色圈起来的是在服务器端运行所需要的配置文件,最后在相应的frp.ini后面都有一个带有下划线_full的这样的ini配置文件,里面是官方给的案例,里面有所有你可能会用到的参数服务器端,客户端

6.查看full服务器端的内容,里面有很多我就不多解释了,我只说我们需要的几个参数
7.服务器端需要配置的配置文件配置文件的右边的值都是可以随意配置的,注释里面都有相应的解释

[common]
# 服务端连接监听端口(从客户端想连上服务器端,就得连接这个端口)
bind_port = 7000
# 用于防止任何人都能连接这个服务器,来设置的一层密码(需要客户端也对应,如果没有设置这个其他人可以随意连接)
#token = 12345678
# 请求监听端口(用于监听接收到的请求)(这两个参数可以不要不影响内网穿透)
#vhost_http_port = 80
#vhost_https_port = 443

# 面板端口,账号密码(frp的可视化面板)(如果没有就没有可视化面板)
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

8.在服务器根目录新建/frps文件夹并且设置权限为777,并且把两个文件都放进去设置权限
9.把两个文件都放进去上传文件
10.运行命令先CD进入frps这个文件夹再执行这个命令./frps -c ./frps.ini出现下面这些说明已经成功了成功启动服务器端

正文二[客户端]

1.先配置frpc.ini,下面是配置内容(我就不说明了,前两行就是frp服务器地址和端口,后面的就是本地端口和远程开放端口)

[common]
server_addr = xxx.xxx.xxx.xxx
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[宝塔面板]
type = tcp
local_ip = 127.0.0.1
local_port = 7777
remote_port = 6001

2.在本地物理服务器根目录新建文件夹/frpc

3.把这两个文件都上传到这个文件夹里面上传文件
4.设置/frpc文件夹权限为777设置权限
5.启动先cd进入这个文件夹然后输入启动命令./frpc -c ./frpc.ini启动成功
6.先去公网IP那台服务器访问一下控制面板ip:7500,这就已经启动成功了启动成功

后记

1.上面这个方法启动如果关闭窗口就断开了是不是很不方便,下面还有让后台处理的方式
2.首先下载systemd

# yum
yum install systemd
# apt
apt install systemd

3.分别创建fprc.service和fprs.service,内容分别是下面这个

[Unit]
# 服务名称,可自定义(frps)
Description = frps server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /frps/frps -c /frps/frps.ini

[Install]
WantedBy = multi-user.target
[Unit]
# 服务名称,可自定义(frpc)
Description = frpc server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /frpc/frpc -c /frpc/frpc.ini

[Install]
WantedBy = multi-user.target

4.两个文件都分别放置到两个服务器的/etc/systemd/system下面

5.systemd命令

# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
# 配置frps服务开机自启动
systemctl enable frps
# 配置frpc服务开机自启动
systemctl enable frpc
# 重新加载
systemctl daemon-reload

6.通过上面您就能很方便的进行部署服务器了

7.如果我的博客帮助到了您,您可以到我的博客https://blog.csdn.net/weixin_57228276或者微信公众号搜索幸识SQ,在那里可以找到我,里面也有更多的优秀文章

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

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

相关文章

服务器CPU飚高排查

排查思路 当正在运行的Java服务导致服务器的CPU突然飙高时,我们该如何排查定位到哪个接口的哪行代码导致CPU飙高的问题呢?我主要提供两个方案: jstackarthas 准备工作 代码准备 现在需要准备一段可以让服务器CPU飙高的代码以及把代码部署…

鑫达惠购系统APP开发的功能架构介绍

鑫达惠购是一款新电商模式的购物分销系统,基于分销裂变的商业价值行为,快速地分享邀请用户注册。这个系统的模式有个特别的亮点,基于全网公排的模式快速推动用户在商城上的购买活动。 鑫达惠购客户端系统功能 包含的功能有:商城模…

memset の 那些事儿 (C++)

如果你在编程时开了一个数组 int a[100010] 这是后你想把他全部赋值为一个很大的值&#xff08;可能你用它来取min&#xff09; 这时候&#xff0c;应该这样写 for (int i 0; i < 100010; i ) a[i] 0x3f3f3f3f //0x3f3f3f3f 是一个比较接近int_max的一个数&#xff0…

机器学习笔记 - 使用VGG16深度学习模型进行图像相似度比较

一、简述 VGG16 是一个强大的预训练模型,可用于识别图像之间的相似性。通过使用该模型,我们可以从不同图像中提取高级特征并进行比较以识别相似性。该技术具有广泛的应用,从图像搜索和推荐系统到安全和监控。 在本文中,将利用该模型来查找两个图像之间的相似性。 …

Win11游戏高性能模式怎么开

1、点击桌面任务栏上的“开始”图标&#xff0c;在打开的应用中&#xff0c;点击“设置”&#xff1b; 2、“设置”窗口&#xff0c;左侧找到“游戏”选项&#xff0c;在右侧的选项中&#xff0c;找到并点击打开“游戏模式”&#xff1b; 3、打开的“游戏模式”中&#xff0c;找…

【汇编语言】栈及栈操作的实现

文章目录 栈结构栈操作栈的小结 栈结构 栈是一种只能在一端插入或删除的数据结构&#xff1b;栈有两个基本的操作&#xff1a;入栈和出栈&#xff1b; 入栈&#xff1a;将一个新的元素放到栈顶&#xff1b;出栈&#xff1a;从栈顶取出一个元素&#xff1b; 栈的操作规则&#…

单晶高温合金收获阶段性应用成果,科研人员已开展定向凝固实验

根据央视报道&#xff0c;中国科学院金属研究所的科研人员对从太空带回的铝硅合金样品进行了初步的解剖分析工作&#xff0c;并计划用不同的实验方法和合金材料继续开展相关实验工作&#xff0c;以进一步探索重力在单晶高温合金凝固过程中的具体作用及相关机理。 值得关注的是&…

ORB-SLAM2学习笔记9之图像帧Frame

先占坑&#xff0c;明天再完善… 文章目录 0 引言1 Frame类1.1 成员函数1.2 成员变量 2 Frame类的用途 0 引言 ORB-SLAM2学习笔记8详细了解了图像特征点提取和描述子的生成&#xff0c;本文在此基础上&#xff0c;继续学习ORB-SLAM2中的图像帧&#xff0c;也就是Frame类&#…

自我管理篇--工作做完了,我能不能到点就下班

以上简历模板资源的排版可能不是最优&#xff0c;但工作经历可以借鉴 工作做完了&#xff0c;我能不能到点就下班&#xff1f; 答案&#xff1a;是&#xff0c;每个人都是自由的 ​ 工作完了&#xff0c;我能不能准点下班&#xff0c;背后真正的问题是:你有没有找到那件让你愿意…

【算法——双指针】LeetCode 11 盛最多水的容器

题目描述&#xff1a; 解题思路&#xff1a; 如图所示&#xff1a; 1、我们考虑相距最远的两个柱子所能容纳水的面积。宽度是两根柱子之间的距离8&#xff1b;高度取决于两根柱子之间较短的那个&#xff0c;即左边柱子的高度3。水的面积就是3824。 2、如果选择固定一根柱子&…

【Linux】传输层协议:UDP和TCP

争做西格玛男人 文章目录 一、UDP协议1.端口号2.理解UDP报头3.UDP的特点&#xff08;面向数据报&#xff0c;全双工&#xff09; 二、TCP协议1.理解TCP报头某些TCP的策略1.1 TCP报头字段&#xff08;TCP的黏包问题&#xff09;1.2 网络协议栈和linux系统的联系&#xff08;以p…

SpringBoot + MyBatis-Plus构建树形结构的几种方式

1. 树形结构 树形结构&#xff0c;是指&#xff1a;数据元素之间的关系像一颗树的数据结构。由树根延伸出多个树杈 它具有以下特点&#xff1a; 每个节点都只有有限个子节点或无子节点&#xff1b;没有父节点的节点称为根节点&#xff1b;每一个非根节点有且只有一个父节点&a…

2023国赛数学建模A题思路模型代码汇总 高教社杯

本次比赛我们将会全程更新思路模型及代码&#xff0c;大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社…

econml介绍

EconML简介 EconML: A Python Package for ML-Based Heterogeneous Treatment Effects Estimation EconML是一个通过机器学习方法从观察数据中估计heterogeneous treatment effects的Python包。该软件包是微软研究院ALICE项目的一部分&#xff0c;目的是将最新的机器学习方法…

8.5.tensorRT高级(3)封装系列-基于生产者消费者实现的yolov5封装

目录 前言1. yolov5封装总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习 tensorRT 高级-基于生产者消费者实现的yolov5封装…

日撸java_day63-65

文章目录 Booster代码运行截图 Booster 代码 package machineLearning.adaboosting;import weka.core.Instances;import java.io.FileReader; import java.util.Arrays;/*** ClassName: WeightedInstances* Package: machineLearning.adaboosting* Description:Weighted inst…

计算机提示mfc120u.dll缺失(找不到)怎么解决

在计算机领域&#xff0c;mfc120u.dll是一个重要的动态链接库文件。它包含了Microsoft Foundation Class (MFC) 库的特定版本&#xff0c;用于支持Windows操作系统中的应用程序开发。修复mfc120u.dll可能涉及到解决与该库相关的问题或错误。这可能包括程序崩溃、运行时错误或其…

DAY23

题目一 给定一个全是小写字母的字符串str.删除多余字符&#xff0c;使得每种字符只保留一个&#xff0c;并让最终结果字符串的字典序最小 str "acbc"&#xff0c; 删掉第一个c&#xff0c; 得到"abc", 是所有结果字符串中字典序最小的。str "dbcacbc…

Python入门教程 | Python简介和环境搭建

Python 简介 Python是一种高级编程语言&#xff0c;由荷兰人Guido van Rossum于1991年创建。它以其简单易学、可读性强和丰富的生态系统而受到广泛喜爱。它被广泛应用于各个领域&#xff0c;包括Web开发、科学计算、数据分析、人工智能等。 Python的特点 简洁易读&#xff1a…