当前位置: 首页 > news >正文

FRP内网穿透0.61.1新版教程

在上一篇zerotier讲述了如何实现虚拟局域网搭建,这篇会讲述FRP内网穿透的使用教程

那么frp与zerotier的区别是什么呢?(说人话)

FRP 主要用于内网服务向外网的单向暴露。
ZeroTier 用于构建一个虚拟的私有网络,实现多点对多点的互联。

  • 如果你有需要向公网暴漏端口的需求,比如搭建了个人网站,总不可能要求所有用户都下载一下zerotier客户端,替换planet,再申请加入网络,不现实
  • 这时候就需要用到frp,将本地的个人网站端口映射到云服务器端口上,并将对应端口打开

既然要用到云服务器,为什么我不直接发布到云服务器上呢?

个人网站只是一个简单的例子,一般占用资源较少,只需要低配置的云服务器即可,那么如果是高资源消耗的程序呢?比如SD绘图,这种高性能的云服务器过于昂贵。这时候选择安装在个人电脑上或许是一个更经济的选择;
但是如果追求稳定性,安全性,商业化,这边建议还是选择云服务器更好

声明:本教程依据frp官方文档书写,只提供较为基本和常用的配置方案,系统学习建议参考官方文档

有时间会单开一篇文章写一套高定制化的配置方案示例
frp整体的使用难度较低,建议还是直接去官网查询自己需要的配置方式,基本都是无脑复制粘贴改改

一. 所需资源

  1. 具有公网ip的云服务器
  2. 无公网ip的个人电脑

二. 服务端安装以及配置

tips: 安装包内包含服务端与客户端所需的所有文件

frps 服务端启动器
frps.homl 服务端配置文件
frpc 客户端启动器
frpc.homl 客户端配置文件

1.安装包的选择
依据公式我需要下载frp_0.61.1_linux_amd64.tar.gz
下载后上传到服务器

  1. 解压压缩包到指定目录
# tar -zxvf 压缩包 -C 指定目录
tar -zxvf frp_0.61.1_linux_amd64.tar.gz -C /usr/local/
# 进入指定目录
cd /usr/local
# 修改文件夹名
mv frp_0.61.1_linux_amd64 frp
# 进入frp 准备下一步
cd frp
  1. 修改服务端配置
# 修改服务端配置文件
vi frps.homl

把下面代码粘贴进去并修改

bindPort = 7000
# 接收http请求
vhostHTTPPort = 7001
# 客户端需要配置对应的token才允许映射
auth.token = "myfrptoken"#仅允许服务器上的指定端口/端口范围 避免滥用端口
allowPorts = [# 范围指定{ start = 5000, end = 5500},# 单独指定# { single = 5501},
]# 仪表盘配置
# The default value is 127.0.0.1. Change it to 0.0.0.0 when you want to access it from a public network.
webServer.addr = "0.0.0.0"
webServer.port = 7002
# dashboard's username and password are both optional
webServer.user = "admin"
webServer.password = "admin"
  1. frp服务端启动
./frps -c ./frps.toml

在这里插入图片描述

  1. 开机自启(明天补充)
  2. 端口放开 7000 7001 7002 以及允许映射的范围端口 5000-5500

7000 7001 7002必须放开
5000-5500建议也直接放开,当然可以暂时不放开,后续客户端用到哪个再放开哪个
在这里插入图片描述
7.可进入仪表盘查看详细情况
http://ip:7002
在这里插入图片描述

三. 客户端安装以及配置(centos)

  1. 安装客户端
    安装包下载
    安装包的选择
    依据公式我需要下载frp_0.61.1_linux_amd64.tar.gz
  2. 进入解压目录,并修改frpc.toml
    将以下配置粘贴并修改

serverAddr = “你的服务器ip”
serverPort = 7000
auth.token = “myfrptoken”

[[proxies]]
name = “这个端口用来干嘛的,起一个见名知意的名字”
type = “tcp”
localIP = “0.0.0.0”
#本机需要映射的端口
localPort = 5000
#映射到云服务器的哪个端口
remotePort = 5000

  1. 启动客户端

#cd到frp目录下
./frpc -c ./frpc.toml

  1. 关闭客户端防火墙(略)
  2. frp客户端开机自启 :点击查看
  3. 可浏览器访问对应端口验证

http://云服务器ip:remotePort

四. 客户端安装以及配置(windows)

  1. 安装windows客户端
    安装包下载
    安装包的选择
    依据公式我需要下载frp_0.61.1_windows_amd64.zip
  2. 解压windows压缩包
  3. 进入解压目录,并修改frpc.toml
    将以下配置粘贴并修改

serverAddr = “你的服务器ip”
serverPort = 7000
auth.token = “myfrptoken”

[[proxies]]
name = “这个端口用来干嘛的,起一个见名知意的名字”
type = “tcp”
localIP = “0.0.0.0”
#本机需要映射的端口
localPort = 5000
#映射到云服务器的哪个端口
remotePort = 5000

  1. 启动客户端

#cmd到frp目录下
frpc.exe -c frpc.toml
在这里插入图片描述

  1. 进入仪表盘查看
    在这里插入图片描述
    6.可浏览器访问对应端口验证

http://云服务器ip:remotePort

  1. 开机自启请查看:点击

五. 安装包选择技巧

  • 安装包选择与下载

下面是一个常见架构名称的等价关系清单:
ARMv8 = ARM64 = AArch64
ARMv7 = armv7l = ARM
x86_64 = x64 = amd64
x86 = x86_32

安装包下载
在这里插入图片描述
如何选择适合自己的安装包:

  • linux
#查看cpu架构
lscpu

在这里插入图片描述

  • windows

Win + R 并输入 msinfo32
在这里插入图片描述
在这里插入图片描述

六. centos设置开机自启

已迁移至单独的文章:点击跳转

七. windows设置开机自启

已迁移至单独的文章:点击跳转

相关文章:

FRP内网穿透0.61.1新版教程

在上一篇zerotier讲述了如何实现虚拟局域网搭建,这篇会讲述FRP内网穿透的使用教程 那么frp与zerotier的区别是什么呢?(说人话) FRP 主要用于内网服务向外网的单向暴露。 ZeroTier 用于构建一个虚拟的私有网络,实现多点…...

亲测解决`data_array` is not of type `MetaTensor, assuming affine to be identity

这个问题是由于orientation的数据增强在scaling之后导致的,解决方法是将这两个数据增强的顺序调换。 问题原文 lib/python3.10/site-packages/monai/transforms/spatial/array.py:623: UserWarning: `data_array` is...

python+pygame+pytmx+map editor开发一个tiled游戏demo 05使用object层初始化player位置

代码 import mathimport pygame# 限制物体在屏幕内 import pytmxdef limit_position_to_screen(x, y, width, height):"""限制物体在屏幕内"""x max(0, min(x, SCREEN_WIDTH - width)) # 限制x坐标y max(0, min(y, SCREEN_HEIGHT - height))…...

Git实用指南:忽略文件、命令别名、版本控制、撤销修改与标签管理

目录 1.忽略特殊文件 1.1.那如何配置我们需要忽略的文件的呢? 1.2.如何检验效果? 2.给命令配置别名 3.基本操作之版本回退 3.1.使用场景: 3.2.使用方法: 4.撤销修改 情况一:对于工作区的代码,还没…...

wordpress安装完后台无格式解决方法(样式加载不出来)

刚安装的wordpress,进入后台后,没有样式。 1.如果ip进入,可能一切正常 2.域名进入,遇到这种情况概率大(经过了nginx代理) 正常访问文章的话是没问题的,只是管理后台存在这样的代码,样式没加载出来。 美国随机地址生成器:美国随机地址生成器(随机地址生成器 - 生成全…...

数据库管理-第285期 Oracle 23ai:深入浅出向量索引(20250117)

数据库管理285期 20245-01-17 数据库管理-第285期 Oracle 23ai:深入浅出向量索引(20250117)1 HNSW事务支持解读 2 IVF分区支持解读 3 混合向量索引何时选择混合向量索引为何选择混合向量索引 总结 数据库管理-第285期 Oracle 23ai&#xff1a…...

日志(elk stack)基础语法学习,零基础学习

ELK Stack 是一组开源的日志管理工具,包括 Elasticsearch、Logstash 和 Kibana。Elasticsearch 用于存储和搜索日志数据,Logstash 用于收集和处理日志数据,而 Kibana 提供了一个强大的可视化界面来分析和监控这些数据。以下是 ELK Stack 的基…...

Mysql InnoDB B+Tree是什么?

“mysql中常用的数据库搜索引擎InnoDB,其索引通过BTree的方式进行构建。” 实在想不起来BTree是怎么一回事了。以点带线,将涉及到的数据结构一起复习一下。 文章目录 数据结构定义红黑树定义使命 BTree定义使命 BTree定义 InnoDB BTree 旋转与调整二叉排序树插入删…...

Java基础(二)

提示:这部分内容对逆向重要,需重点掌握。 1.常见数据类型 1.1 List系列 类似于Python中的列表 List是一个接口,接口下面有两个常见的类型(目的是可以存放动态的多个数据) ArrayList,连续的内存地址存储(内部自动扩容) -> Python列表的特点LinkedList,底层基于链表…...

【网络协议】【http】【https】TLS1.3

【网络协议】【http】【https】TLS1.3 TLS1.3它的签名算法和密钥交换算法,默认情况下是被固定了下来的,他的加密套件里面呢,只包含了对称加密算法和摘要算法 客户端和服务器第一次连接 仍然需要1RTT ,不能0-RTT 第一次连接 1.客…...

K8S中Pod控制器之Job控制器

Job,主要用于负责批量处理(一次要处理指定数量任务)短暂的一次性(每个任务仅运行一次就结束)任务。 一次性任务:Job 用于运行那些只需要执行一次的任务,如数据分析、图像渲染或批量处理。 成功终止:Job 会跟踪其创建的 Pod 的成功…...

macOS安装Gradle环境

文章目录 说明安装JDK安装Gradle 说明 gradle8.5最高支持jdk21,如果使用jdk22建议使用gradle8.8以上版本 安装JDK mac系统安装最新(截止2024.9.13)Oracle JDK操作记录 安装Gradle 下载Gradle,解压将其存放到资源java/env目录…...

2024年美赛C题评委文章及O奖论文解读 | AI工具如何影响数学建模?从评委和O奖论文出发-O奖论文做对了什么?

模型假设仅仅是简单陈述吗?允许AI的使用是否降低了比赛难度?还在依赖机器学习的模型吗?处理题目的方法有哪些?O奖论文的优点在哪里? 本文调研了当年赛题的评委文章和O奖论文,这些问题都会在文章中一一解答…...

LDD3学习9--数据类型和定时器

这部分对应的是第七章和第十一章,因为内容也不是很多,就一起写了。里面的内容基本上就是一个个的点,所以也就一个个点简单总结一下。 1 数据类型 1.1 数据长度 不同操作系统类型长度可能不一样,看图的话最好用u8,u16&…...

一文夯实垃圾收集的理论基础

如何判断一个引用是否存活 引用计数法 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1;当引用失效,计数器就减 1;任何时候计数器为 0 的对象就是不可能再被使用的。 优点:可即刻回收垃圾&a…...

OpenWRT Conserver 共享串口服务实现

安装驱动 查看当前可在线安装的USB驱动 opkg update 查看安装的USB驱动 opkg list-installed *usb-serial* 查看所有的USB串口驱动 opkg list *usb-serial* 确认console线的芯片厂商 kmod-usb-serial-pl2303 - 5.15.167-1 - Kernel support for Prolific PL2303 USB-to…...

第12章:Python TDD完善货币加法运算(一)

写在前面 这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许…...

Springboot项目Jackson支持多种接收多种时间格式

前言 在springboot项目中经常会使用Jackson框架,当前端给后端传输时间类型时,我们一般需要先配置好时间格式,否则后端无法接收。以下是一些配置方法 统一配置 spring:jackson:time-zone: GMT+8date-format: yyyy-MM-dd HH:mm:ss这种配置就是要求前端统一传输的格式是yyyy-…...

两台电脑互PING不通的解决办法

当两台电脑无法通过网络Ping通时,可以按照以下步骤进行排查和解决: 一. 检查网络连接 确保两台电脑连接到同一个局域网。 如果是通过网线连接,检查网线是否松动或损坏。 如果是无线连接,确保Wi-Fi信号正常。 二. 检查IP配置 确…...

No. 34 笔记 | Python知识架构与数据类型相关内容 | 实操

在今天的Python学习中,我对Python的知识架构有了更深入的理解,同时也对Python的数据类型及其操作有了全面的认识和实践。 一、Python知识架构理解 Python是一门功能强大且应用广泛的编程语言,其知识架构可以从多个层面来理解。 从整体结构上…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

今日科技热点速览

🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

【Veristand】Veristand环境安装教程-Linux RT / Windows

首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类,直接把源文件拖进VS的项目里,然后VS卡住十秒,然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分,导致编译的时候找不到了。因…...