【内网穿透】FRP 跨平台内网穿透 支持windows linux x86_64 arm64 端口范围映射

AI提供的资料:

FRP(Fast Reverse Proxy)是一个专为内网穿透设计的高性能反向代理程序。以下是一些关于FRP的详细资料,帮助您更好地理解和使用这一工具:

核心特点:

  • 内网穿透:能够将位于内网的服务通过具有公网IP的服务器暴露到互联网上,使得外部网络可以访问原本隐藏在私有网络中的资源。
  • 协议支持:广泛支持TCP、UDP、HTTP、HTTPS等多种网络协议,满足不同应用场景的需求。
  • 高性能:设计初衷是提供高效的数据传输能力,适合需要低延迟和高带宽的应用场景。
  • 安全机制:支持TLS加密通信,可配置客户端和服务端的单向或双向身份验证,增强数据传输的安全性。
  • 配置灵活:通过简单的配置文件,用户可以定义各种代理规则,包括端口映射、协议选择、认证方式等。
  • 跨平台:FRP支持多种操作系统,包括但不限于Windows、Linux、macOS,便于在不同的环境部署。

安装与配置:

  1. 下载FRP:访问FRP的GitHub页面(https://github.com/fatedier/frp)获取最新版本的FRP客户端(frpc)和服务端(frps)程序。
  2. 部署服务端:在具有公网IP的服务器上安装并配置frps,设置监听端口、认证信息等。
  3. 配置客户端:在内网服务器上安装并配置frpc,定义需要穿透的服务(包括服务类型、本地监听端口、远端映射端口等)以及指向服务端的连接信息。
  4. 启动服务:分别在服务端和客户端启动FRP,即可实现内网服务的公网访问。

高级功能与技巧:

  • 动态端口映射:FRP支持动态分配端口,使得每次客户端连接时自动获取可用端口映射,适用于不确定数量的服务场景。
  • 连接池:优化性能,减少建立连接的延迟,适合频繁短连接的服务。
  • 日志与监控:FRP提供详细的日志记录和简单的监控功能,便于问题排查和性能监控。
  • P2P穿透尝试:虽然主要聚焦于中心化代理,FRP也尝试性支持点对点穿透,探索更灵活的网络穿透方式。

社区与文档:

  • 官方文档:FRP项目维护了一份详细的中文文档(http://www.frp.cool/doc/),涵盖了安装、配置、进阶使用等内容。
  • 社区支持:GitHub上活跃的Issue板块和各种技术论坛(如Stack Overflow、知乎等)是解决使用中遇到问题的好去处。
  • 第三方服务:除了自建FRP环境,还有如“清欢公益frp”这样的第三方服务,提供免费或付费的FRP服务,简化部署和运维工作。

通过上述资料,您应该能够对FRP有一个全面的了解,并着手将其应用于自己的项目中。在实施过程中,务必关注安全配置,确保内外网通讯的安全性。

加速地址下载windows平台软件包

https://dgithub.xyz/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_windows_amd64.zip

中文文档地址

frp/README_zh.md at dev · fatedier/frp · GitHub

端口范围映射文档

端口范围映射 | frp

端口范围映射

Added in v0.56.0

我们可以利用 Go template 的 range 语法结合内置的 parseNumberRangePair 函数来实现端口范围映射。

下面的示例,应用运行后会创建 8 个代理,名称为 test-6000, test-6001 ... test-6007,分别将远端的端口映射到本地。

{{- range $_, $v := parseNumberRangePair "6000-6006,6007" "6000-6006,6007" }}
[[proxies]]
name = "tcp-{{ $v.First }}"
type = "tcp"
localPort = {{ $v.First }}
remotePort = {{ $v.Second }}
{{- end }}

本地测试的完整配置

serverAddr = "127.0.0.1"
serverPort = 7000

{{- range $_, $v := parseNumberRangePair "20000-20100" "30000-30100" }}
[[proxies]]
name = "tcp-{{ $v.First }}"
type = "tcp"
localPort = {{ $v.First }}
remotePort = {{ $v.Second }}
{{- end }}
 

提前打开两个cmd,分别启动服务器端、客户端

启动服务器

frps.exe

启动客户端(-c 参数指定配置文件)

frpc.exe -c frpc.toml

查看监听的端口(windows cmd没有linux bash的管道,不方便。。。)

netstat -ano

可以看到,frps.exe启动了多个端口来转发请求。

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

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

相关文章

都2024年了,现在互联网行情怎样?

都2024年了,互联网行情是怎样的? 很直白的说,依旧是差得很,怎么说? 我刚在掘金上看到一个掘友写的文章,他是四月领了大礼包,据他的描述如下: 互联网行情依旧是差得很,很…

搜维尔科技:「研讨会」惯性动捕技术在工效学领域应用研讨会

Movella将于7月2日(周二)下午2点举行主题为惯性动捕技术在工效学领域应用的研讨会。来自Movella的伙伴赋能经理Jeffrey Muller作为嘉宾出席,届时主讲人将为大家带来Xsens惯性动捕技术在工效学领域的应用分享。同时,研讨会还邀请多…

代码随想三刷贪心篇1

代码随想三刷贪心篇1 455. 分发饼干题目代码376. 摆动序列题目代码53. 最大子数组和题目代码455. 分发饼干 题目 链接 代码 class Solution {public int findContentChildren(int[] g, int[] s) {Arrays

监控https证书的到期时间

实现该功能,不用借助第三方库,用go的标准库就足够了… 以下程序可以获取这些域名的SSL证书的到期时间,并在证书距离现在不足7天过期时打印提示: package mainimport ("crypto/tls""fmt""net""…

计算机网络基础入门

计算机网络基础入门 目录: 简介网络分层模型数据封装与解封装IP地址与子网掩码网络协议示例代码 1. 简介 计算机网络是指将地理位置不同的多台计算机及外部设备通过通信线路连接起来,实现信息资源共享和信息传递的系统。计算机网络是现代信息社会的基…

运维.云技术学习.基于应用服务网格的灰度发布(上:理论基础篇)

运维专题 基于应用服务网格的灰度发布(上:理论基础篇) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAdd…

Opencv学习项目6——pyzbar

在之前我们学习了解码图片中的二维码,这次我们开启摄像头来解码视频中二维码 开启摄像头 # 打开摄像头 cap cv2.VideoCapture(0) cap.set(3, 640) # 设置摄像头画面宽度 cap.set(4, 480) # 设置摄像头画面高度 我使用的是笔记本上的摄像头来进行的,…

openGauss学习笔记-304 openGauss AI特性-AI4DB数据库自治运维-ABO优化器-智能基数估计

文章目录 openGauss学习笔记-304 openGauss AI特性-AI4DB数据库自治运维-ABO优化器-智能基数估计304.1 概述304.2 前置条件304.3 使用指导304.4 最佳实践304.5 常见问题处理openGauss学习笔记-304 openGauss AI特性-AI4DB数据库自治运维-ABO优化器-智能基数估计 304.1 概述 智…

通过systemctl启停tomcat

目录 目的.service配置文件的结构介绍实验步骤1. 安装java2. 二进制安装tomcat3. 编写/usr/systemd/system/tomcat.service文件4. 测试启动关闭 目的 通过二进制安装的tomcat,只能通过tomcat文件目录下的.sh脚本进行启停。 而我们一般使用的服务,是通过…

《数字图像处理》实验报告四

一、实验任务与要求 对 Fig0403.tif 进行傅里叶变换并显示其频谱图像;fft2(x) 对 Fig0405.tif 图像进行填充和非填充的高斯滤波,并观察其不同;paddedsize,fft2(x,m,n) 由 sobel 空间滤波算子生成相应的频率…

多链代币开发:打造跨链互操作性的新纪元

随着区块链技术的迅猛发展,数字资产和加密货币市场也在不断扩大。各大区块链平台如以太坊、币安智能链、波卡、Solana等,均展现出其独特的优势和广泛的应用场景。然而,这些链之间的孤立性和互操作性问题,限制了数字资产的流动性和…

突破架构瓶颈:克服软件系统中的漂移和侵蚀

一种常见但不完美的比喻是将软件系统中的架构漂移和侵蚀与物理建筑的架构相比。虽然这个比喻很直观,但它存在一个根本性的误解,这也常常引发软件开发中的架构问题。 试想一下,一个设计良好的摩天大楼或房屋建成后,我们期望它基本保…

Linux下的信号使用总结

主要参考《【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.4》信号篇 发送给进程的诸多信号中,大多数都是来自于内核。 信号本质上是 int 类型的数字编号,这就好比硬件中断所对应的中断号。内核针对每个信号,都给其定义了一个唯一的整数编号…

docker 容器设置中文环境

1.容器中安装和设置 1.1.进入容器查看已有语言包 locale -a 默认情况下: 1.2 安装中文语言环境 如果没有zh_CN.utf8就安装。 方式1: #直接安装中文语言包 apt-get install -y language-pack-zh-hans 方式2: #安装中文语言环境 apt-g…

线性和二次判别分析

线性判别分析 线性判别分析(Linear Discriminant Analysis,LDA)亦称 Fisher 判别分析。其基本思想是:将训练样本投影到低维超平面上,使得同类的样例尽可能近,不同类的样例尽可能远。在对新样本进行分类时&…

达梦数据库的系统视图v$lock

达梦数据库的系统视图v$lock 在达梦数据库(DM)中,V$LOCK 系统视图用于查看当前数据库中的锁定状态。该视图提供了关于所有锁定详细信息,例如锁的内存地址、所属事务 ID,锁类型和锁模式等。这对于数据库管理员进行锁定…

国产数据库 - 内核特性 - CloudberryDB中的Runtime Filter

国产数据库 - 内核特性 - CloudberryDB中的Runtime Filter 今年5月份GreenPlum官方将GitHub仓库代码全部删除,各个分支的issues和bugs讨论等信息全部清除,仅将master分支代码进行归档。对于国内应用GPDB的用户来说,这是一个挑战性事件&#x…

开发网页版加密访问文档

开发一个支持加密访问文档的网页版应用程序涉及多个步骤,包括用户认证、文档加密和解密、文件上传和下载,以及确保整个过程中的数据安全性。下面是一个详细的步骤指南: 步骤1:设置项目环境 首先,设置一个新的项目环境…

函数调用,递归技巧之取反

递归指的是在解决问题的过程中,将问题分解为同类的子问题而解决问题的方法。在程序中通常体现为函数调用自身的方式。 比如是双方回合制对战的游戏进行结算,可以使用一个变量bool类型来完成一回合双方互相战斗并且攻击方同时会作为受攻击方的结算。在递归…

Vue跨标签页数据通信

跨标签页数据通信 在同一浏览器项目地址处于不同的标签页中,建立两个页面间的数据通信,即:B页面新增/修改数据;A页面表格自动更新数据 跨标签页通信常见方案: BroadCast Channel (广播频道) Service Worker LocalStorage Window.onstorage监听 Shared…