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

news/2024/11/19 20:20:38/

前言

我有一个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.ppmy.cn/news/1047117.html

相关文章

第一讲:BeanFactory和ApplicationContext接口

BeanFactory和ApplicationContext接口 1. 什么是BeanFactory?2. BeanFactory能做什么?3.ApplicationContext对比BeanFactory的额外功能?3.1 MessageSource3.2 ResourcePatternResolver3.3 EnvironmentCapable3.4 ApplicationEventPublisher 4.总结 1. 什么是BeanF…

什么是cURL?

cURL无处不在。它几乎隐藏在所有设备中,例如汽车,蓝光播放器等。它通过互联网协议传输任意类型数据。 在本文中,我们将揭开cURL神秘命令行工具的面纱,解释它是如何成为一种通用代码的,并举例说明其用法。 cURL是什么意…

article-六轴机械臂(带抓手)运动学分析+轨迹规划

1正运动学分析 采用标准的D-h法进行机械腿模型分析: D-h表如下 (2)通过(1)求解出机器人各位姿变换矩阵后,求解机器人手臂变换矩阵 ** ** 。通过matlab 计算,写出机器人末端位置。 正运动学分…

安全技术和防火墙

这里写目录标题 安全技术和防火墙一.安全技术1.相关系统2.防火墙的分类 二.防火墙的基本知识1.Netfilter2.防火墙工具介绍2.1 iptables2.2 firewalld2.3 nftables 3.netfilter中五个勾子函数和报文流向 三.iptables1.iptables的组成概述2.相关操作3.添加新的防火墙规则4.查看规…

HCIP生成树STP总结

STP生成树 网桥的4个选举 根网桥: 有且仅有一台,且由BPDU中的桥ID来决定 桥ID 网桥优先级(0-65535公有) 默认32768 MAC地址(只有…

mongo的include方法踩坑

前言 又是不认识自己代码的一天 问题 Query query new Query(); if(StringUtils.isNotNull(reqVO.getFieldLimitList()) && reqVO.getFieldLimitList().size() > 0){for(String filedName : reqVO.getFieldLimitList()){query.fields().include(filedName);} }看到…

第6章 分布式文件存储

mini商城第6章 分布式文件存储 一、课题 分布式文件存储 二、回顾 1、理解Oauth2.0的功能作模式 2、实现mini商城项目的权限登录 三、目标 1、了解文件存储系统的概念 2、了解常用文件服务器的区别 3、掌握Minio的应用 四、内容 第1章 MinIO简介 官

【音视频原理】图像相关概念 ① ( 像素 | 分辨率 | 位深 )

文章目录 一、图像相关概念1、像素2、分辨率3、位深 一、图像相关概念 图像相关概念 : 像素 : 图片基本单位 ;分辨率 : 图像的像素尺寸 ;位深 : 记录每个像素点颜色时使用的位数 ;帧率 : 一秒钟传输图片的帧数 , 单位 fps , Frame Per Second ;码率 : 单位时间内视频的数据流量…