搭建frp

news2024/11/18 11:34:18

1.frp 是什么?

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

2.为什么使用 frp

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

  • 客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议。
  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源。
  • 多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转换,HTTP、SOCK5 代理等),便于独立使用 frp
    客户端完成某些工作。
  • 高度扩展性的服务端插件系统,易于结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。

FRP(Fast Reverse Proxy)是一个高性能的反向代理应用,主要用于内网穿透。它可以将内网中的TCP、UDP、HTTP、HTTPS等协议类型的服务发布到公网,并支持Web服务根据域名进行路由转发。FRP因其小巧方便和部署简单的特点而受到欢迎。

3.FRP搭建准备工作

搭建FRP的准备工作主要包括以下几点:

  • 准备一台云服务器或有公网IP的机器作为外网服务器,用于部署FRP服务端。
  • 准备一台内网服务器,用于部署需要穿透的内网服务。
  • 下载FRP的脚本部署文件,这些文件包括FRP服务端和客户端的可执行文件。
  • 熟悉基本的Linux操作命令,因为FRP通常在Linux环境下部署和运行。
    请注意,进行内网穿透和搭建FRP时应确保网络安全,避免未经授权的访问和数据泄露。如果对网络配置和安全设置不熟悉,建议咨询专业人士或参考官方文档进行操作。

4.安装(参考官方文档)

官方文档地址: https://gofrp.org/zh-cn/docs/setup/

1.从 GitHub 的 Release 页面中下载最新版本的客户端和服务器

下载地址: https://github.com/fatedier/frp/releases

wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz

在这里插入图片描述

2.解压

tar -zxvf frp_0.54.0_linux_amd64.tar.gz

在这里插入图片描述

3.进入目录配置文件:

服务端

//编辑frps.toml
vi frps.toml 

//增加下面内容
indPort = 7000               # 服务运行端口号
auth.method = "token"         # 认证方式
auth.token = "xxxx"       # 认证密钥
webServer.addr = "0.0.0.0"    # 不限制IP访问
webServer.port = 7500         # dashboard端口
webServer.user = "xxx"      # dashboard登录账号
webServer.password = "xxxx"  # dashboard登录密码

在这里插入图片描述

客户端(我的客户端是window系统)

解压客户端压缩包

//编辑frpc.toml
serverAddr = "118.xx.xx.xx"
serverPort = 7000
auth.method = "token"         # 认证方式
auth.token = "xxxx"       # 认证密钥
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3306
remotePort = 3306

在这里插入图片描述

4. 防火墙 放行7000、7500等你需要映射的端口段

firewall-cmd --zone=public --add-port=7000/tcp --permanent  
firewall-cmd --zone=public --add-port=7500/tcp --permanent  
firewall-cmd --zone=public --add-port=3306/tcp --permanent  

5.后端服务运行

方式1:

systemd方式参考: https://gofrp.org/zh-cn/docs/setup/systemd/

方式2:

./frps -c frps.ini &

6.客户端运行

frpc程序不能直接双击运行!

//进入文件目录执行命令
frpc.exe -c ./frpc.toml

在这里插入图片描述

访问: http://服务器ip:7500/static/#/proxies/tcp

输入用户名:xx 密码:xx
在这里插入图片描述

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

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

相关文章

【Mysql】事务的隔离级别与 MVCC

事务隔离级别 我们知道 MySQL 是一个 C/S 架构的服务,对于同一个服务器来说,可以有多个客户端与之连接,每个客户端与服务器连接上之后,就是一个会话( Session )。每个客户端都可以在自己的会话中向服务器发…

pytorch创建tensor

目录 1. 从numpy创建2. 从list创建3. 创建未初始化tensor4. 设置默认tensor创建类型5. rand/rand_like, randint6. randn生成正态分布随机数7. full8. arange/range9. linspace/logspace10. Ones/zeros/eye11. randperm 1. 从numpy创建 2. 从list创建 3. 创建未初始化tensor T…

LabVIEW核能设施监测

LabVIEW核能设施监测 在核能领域,确保设施运行的安全性和效率至关重要。LabVIEW通过与硬件的紧密集成,为高温气冷堆燃料装卸计数系统以及脉冲堆辐射剂量监测与数据管理系统提供了解决方案。这些系统不仅提高了监测和管理的精确度,也保证了核…

C++弹球游戏:Jump Ball Game

一、下载压缩包 请查看网站C弹球游戏:Jump Ball Game并且下载,可以看到如下界面: 二、匹配图标 把压缩包解压了: 右键点击Jump Ball Game.lnk,点击“属性”它将会是我们要运行的文件。 点击“更改图标”,选…

构建用于预警大型语言模型辅助生物威胁创建的系统

深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/ 。 Op…

【Docker篇】Linux安装Docker、docker安装mysql、redis、rabbitmq

1.Linux安装docker 官方帮助文档:Install Docker Engine on CentOS | Docker Docs 1.1安装命令 # 1. 卸载之前的dockersudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate…

基于Python的招聘网站爬虫及可视化的设计与实现

摘要:现在,随着互联网网络的飞速发展,人们获取信息的最重要来源也由报纸、电视转变为了互联网。互联网的广泛应用使网络的数据量呈指数增长,让人们得到了更新、更完整的海量信息的同时,也使得人们在提取自己最想要的信…

Web3生态系统:构建去中心化的数字社会

随着科技的飞速发展,我们正处在迈向数字未来的道路上,而Web3生态系统则成为这一变革的中心。不仅仅是技术的演进,Web3代表着对传统互联网体系的颠覆,致力于构建一个去中心化的数字社会。本文将深入探讨Web3的核心特征、对金融、社…

澄清TypeScript中的 `satisfies` 操作符

TypeScript 的 satisfies 运算符已经推出一段时间了,但它似乎仍然是一个可以用来澄清的混乱来源。 可以把 satisfies 看作是将类型赋给值的另一种方式。 在我们深入研究之前,让我们回顾一下如何赋值类型。 首先,有一个不起眼的“冒号注解”…

用python实现pdf按页切割,以及将pdf转成图片

我们经常遇到需要切割pdf的时候,但是常规手段很难做到 我们可以利用python脚本来实现 需要安装几个库 tk PyPDF2 PyMuPDF pyinstaller 上图! 查看结果 切割pdf转存成图像 那我们来详细说一下使用方法 1.输入PDF位置:这里没什么好说的&#xff0c…

基于SpringBoot开发的校刊投稿系统[附源码]

基于SpringBoot开发的校刊投稿系统[附源码] 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制系统 &#x1f…

【Springcloud篇】学习笔记十(十七章):Sentinel实现熔断与限流——Hystrix升级

第十七章_Sentinel实现熔断与限流 1.Sentinel介绍 1.1是什么 随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 用来代替Hystrix Sentinel 具有…

[word] word大小写快捷键是什么? #知识分享#学习方法#笔记

word大小写快捷键是什么? word转换大小写的快捷方式是按“ShiftF3”。设置方法如下: 1、在电脑桌面找到需要转换大小写的文档,右键单击打开它。 2、打开文档之后,在文档里面选中需要转换的段落。 3、选中了之后在键盘里面找到“…

Java:你还在想着考虑使用 tess4j 做文字识别吗?给你看看我的一点实践

需求:删除带有图片水印的图片 语言也设置为中文了,最后给我识别的文字是这样的 | AT V ! w{)" . ) ,/ R Ko 87 ’ 我能理解,毕竟图片很大张,不过不用担心,因为这个水印很有规律,就在右下方裁剪出宽 1…

python 蓝桥杯处理各种输入的数据

文章目录 空格间隔提取数字 空格间隔提取数字 对于以空格间隔的数字,由于输入的形式是字符串,那么就可以使用split 函数进行对输入的一个分隔,然后利用split 函数返回的是分隔之后的一个列表,再利用下标对于每一个部分进行相对应的…

c++ STL less 的视角

c less 函数在不同的地方感觉所起的作用是不一样的, 这中间原因是 less 的视角不一样, 下面尝试给出解释下, 方便记忆 1、 左右视角 符合 排序sort less(value, element) less 表示一种 “符合关系“, 表示sort 后…

Git 实战场景过程(工作总结篇)

目录 前言1. Git远程仓库建立分支,本地未显示1.1 问题所示1.2 知识补充 2. Git暂存内容切换分支2.1 问题所示2.2 知识补充 3. Git放弃修改数据3.1 问题所示3.2 知识补充 4. git merge合并查看差异 前言 主要总结工作中的疑惑点,如果你也有相应的场景&am…

1、安全开发-Python爬虫EDUSRC目标FOFA资产Web爬虫解析库

用途:个人学习笔记,有所借鉴,欢迎指正 前言: 主要包含对requests库和Web爬虫解析库的使用,python爬虫自动化,批量信息收集 Python开发工具:PyCharm 2022.1 激活破解码_安装教程 (2022年8月25日…

25.泛型

泛型 1.泛型1.1 概述1.2 代码示例 2. 泛型类2.1 概述2.2 代码示例 3. 泛型方法3.1 概述3.2 代码示例 4. 泛型接口4.1 概述4.2 代码示例 5. 泛型特点5.1 概述5.2 代码示例 6. 泛型通配符6.1 概述6.2 代码示例 7. 综合案例8. 注意事项 1.泛型 泛型是Java编程语言的一项重要功能&…

Redis核心技术与实战【学习笔记】 - 15.Redis 缓存的淘汰策略

前言 Redis 缓存使用内存来保存数据,避免业务应用直接从数据库读取数据,可以提升应用的访问速度。但是,我们又没有办法做到把所有的数据都放入缓存,因为这样做的性价比不高,而且缓存也存不下数据库中的所有数据。 例…