mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
1720 字
5 分钟
Frp 0.52及以上版本的全系统保姆级教程
2026-02-24

在当下的环境中,家宽公网 IPv4 不是每家每户都有的,但是是谁都想搭建个网站玩玩。或者受不了各大云盘厂商的收费方式和手段想搭个私有云以解决自己高要求的存储需求。虽然有 IPv6 等手段解决,但是受限于路由器防火墙和国内 IPv6 普及率问题。目前的 IPv6 在国内更像是 IPv4 的一种补充手段,并没有实现真正意义上的替代。(毕竟没听过纯 IPv6 网站)

这时候我们就需要使用 Frp 之类的内网穿透软件来实现在无公网 IPv4 的情况下实现外网访问。

注意:

  • 本篇不涉及对应系统的安装,只涉及 frpc 和 frps 的搭建和使用。
  • 本篇所演示的 frps/frpc 版本均为 0.53.0 版本(文章都写一半了来了个大版本更新…),过大的版本差距会导致无法连接等 bug。

首先我们要搞清楚 Frp 可以用来干什么,可以用在什么地方?(以下只列举部分常用情景)

  • 家用领域:文件共享,远程监控,远程私有云等
  • 游戏领域:我的世界联机/服务器,泰拉瑞亚联机/服务器等可以对局域网开放的联机游戏
  • 建站领域:个人主页搭建,博客搭建,反向代理等
  • 专业领域:RDP/SSH 远程连接,Docker 外网访问等

frps 为服务端,frpc 为客户端。

搞清楚 Frp 可以干什么后,我们正式开始实操!


1. frps 的搭建与配置#

1-1. frps 常用配置文件介绍#

因 frp 0.52.0 版本后支持 TOML、YAML 和 JSON 配置文件,并弃用 INI 配置文件,将在未来版本中删除对 INI 的支持(GitHub公告)。所以可能互联网上 0.52.0 版本以前的教程将在未来全部失效(如果你就用老版本当我没说)。为了稳定与新功能,本篇的 frps/frpc 将全部采用 TOML 配置文件演示。

frps 是一个轻量级的反向代理客户端,可以实现内网穿透的功能。frps 需要配合 frpc 客户端使用,frps 需要部署在具有公网 IP 的机器上,frpc 部署在需要穿透的内网服务所在的机器上。

# 服务端连接端口(必填)
bindPort = 7000 #服务端监听端口,默认7000
# 服务端身份认证及密码(可选,推荐) (OIDC身份认证可参考gofrp文档 咱这只讲最常用的token)
auth.method = "token" #服务端连接身份认证,默认token
auth.token = "test123" #服务端token密码
# 服务端TLS连接加密(可选)
transport.tls.force = false #是否只接受启用了TLS的客户端连接
# 服务端Web界面(可选) (如果不配置WebSSL,网页将以http方式呈现)
webServer.port = 7001 #Web页面端口号
webServer.user = "mint" #(可选)Web页面账号
webServer.password = "mintdesu" #(可选)Web页面密码
webServer.tls.certFile = "server.pem" #(可选)WebSSL证书
webServer.tls.keyFile = "server.key" #(可选)WebSSL私钥
# 服务端HTTP(s)监听端口(可选) (一般都是80和443,如果被nginx什么的占用了那只能填别的)
vhostHTTPPort = 80
vhostHTTPSPort = 443
# 服务端端口限制(可选)
allowPorts = [
{ start = 10000, end = 15000 }, #端口范围设置为10000-15000可用
{ start = 30000, end = 40000 }, #同理,可设置多个端口范围开放
{ single = 25565 }, #单端口设置,指定25565端口可用
{ single = 25566 } #同理,可以设置多个单端口开放
]
# 服务端连接数限制(可选)
transport.maxPoolCount = 50 #每条隧道可以有多少IP连接
transport.maxPortsPerClient = 30 #每个客户端可以创建多少隧道

更多常用配置文件请前往 gofrp 查阅。

1-2. 在 Windows 中搭建 frps 并配置#

1-2-1. 准备资源#

前往 GitHub 下载 frps,arm/arm64 对应 arm 架构,amd64 对应 x86 架构。

1-2-2. 配置 toml 文件#

以下配置文件只是示例,要根据自己的实际情况进行适当的删改。

bindPort = 7000 #服务端监听端口
auth.method = "token" #服务端连接身份认证,默认token
auth.token = "mint" #服务端token密码
vhostHTTPPort = 80
vhostHTTPSPort = 443
transport.tls.force = false #是否只接受启用了TLS的客户端连接
transport.maxPortsPerClient = 20 #每个客户端可以创建多少隧道
allowPorts = [
{ start = 10000, end = 15000 }, #端口范围设置为10000-15000可用
{ start = 30000, end = 40000 }, #同理,可设置多个端口范围开放
{ single = 25565 }, #单端口设置,指定25565端口可用
{ single = 25566 } #同理,可以设置多个单端口开放
]

配置参数参考 1-1。

1-2-3. 配置启动文件#

这里有两种方法:

第一种 (简单直接): 在 frps 目录下新建 xxx.bat 文件,把下方内容填进去:

Terminal window
frps -c frps.toml

右键创建快捷方式后将快捷方式扔进 C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ 目录即可。如果之后要更新 frps.toml 配置文件,把 cmd 窗口关闭重启 xxx.bat 即可。

第二种 (推荐,系统服务): 使用 nssm.exe 配置 frps 为系统服务,无需登录用户账号即可后台运行。

  1. 打开 nssm 官网下载 nssm.exe
  2. 解压后在 win64/32 找到 nssm.exe,打开 cmd 后 cd 到该目录下。
  3. 运行 nssm install frps
  4. 在弹出的窗口中填写 Path(frps.exe路径)和 Arguments(-c frps.toml),点击 Install service。
  5. 在任务管理器 -> 服务中找到 frpc 服务后右键开始。

1-3. 在 Linux 中搭建 frps 并配置#

1-3-1. 准备资源#

前往 GitHub 下载 frps(amd64 对应 x86 架构)。或者直接 wget:

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

解压并移动:

tar -zxvf frp_0.53.0_linux_amd64.tar.gz
mv frp_0.53.0_linux_amd64 /usr/local
mv /usr/local/frp_0.53.0_linux_amd64 /usr/local/frps

1-3-2. 配置 frps.toml#

安装编辑器(如果已有请忽略):

  • CentOS: sudo yum install vim
  • Ubuntu/Debian: sudo apt update && sudo apt install vim

编辑配置文件:

cd /usr/local/frps
vim frps.toml

填入配置(参数参考 1-1):

bindPort = 7000
auth.method = "token"
auth.token = "mint"
vhostHTTPPort = 80
vhostHTTPSPort = 443
transport.tls.force = false
transport.maxPortsPerClient = 20
allowPorts = [
{ start = 10000, end = 15000 },
{ start = 30000, end = 40000 },
{ single = 25565 },
{ single = 25566 }
]

保存退出 (:wq)。

1-3-3. 设置启动方式#

手动启动:

/usr/local/frps/frps -c /usr/local/frps/frps.toml

开机自启 (Systemd): 新建服务文件:

nano /etc/systemd/system/frps.service

填入内容:

[Unit]
Description=frps
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/frps/frps -c /usr/local/frps/frps.toml
Restart=always
[Install]
WantedBy=multi-user.target

保存退出后执行:

systemctl enable frps #开启开机自启
systemctl start frps #启动服务
systemctl status frps #查看状态

如果是云服务器,记得在防火墙/安全组开放对应端口。


1-4. 在 Nas 系统中搭建 frps 并配置#

以群晖为例,其他系统大同小异。

1-4-1. 使用第三方套件安装 (简单)#

  1. 添加矿神源:
    • DSM7.x: https://spk7.imnks.com/
    • DSM6.x: https://spk.imnks.com/
  2. 在社群中找到 Frps 服务端安装。
  3. 安装后填写配置文件并保存(配置参考 1-1)。

1-4-2. 使用 Docker 安装#

  1. 打开 Container Manager (Docker)。
  2. 下载镜像 snowdreamtech/frps (标签 latest 或指定版本)。
  3. 手动在 NAS 上创建 frps.toml 文件并写入配置。
  4. 新建容器,映射文件:
    • 本地路径: /volume1/docker/frps/frps.toml (示例)
    • 容器路径: /etc/frp/frps.toml
  5. 启动容器。

2. frpc 的部署与配置#

2-1. frpc 常用配置文件介绍#

frpc 是客户端,部署在内网机器上。

# 连接服务器
serverAddr = "x.x.x.x" #服务器地址
serverPort = 7000 #服务器端口
# 身份认证
auth.method = "token"
auth.token = "test123"
# TLS加密
transport.tls.enable = false
transport.tls.disableCustomTLSFirstByte = false
# 创建TCP隧道 (如远程桌面、游戏)
[[proxies]]
name = "xxx" #隧道名称,不可重复
type = "tcp"
localIP = "127.0.0.1"
localPort = 25565 #本地服务端口
remotePort = 25565 #远程映射端口
# 创建UDP隧道
[[proxies]]
name = "xxx_udp"
type = "udp"
localIP = "127.0.0.1"
localPort = 25565
remotePort = 25565
# 创建HTTP/HTTPS隧道 (Web服务)
[[proxies]]
name = "web"
type = "http" #或 https
localIP = "127.0.0.1"
localPort = 80
customDomains = ["test.hoshiroko.com"] #绑定域名
# 传输加密/压缩 (添加在隧道配置内)
transport.useEncryption = true
transport.useCompression = true

2-2. 在 Windows 中部署 frpc 并配置#

2-2-1. 准备资源#

下载 frpc (Windows amd64)。

2-2-2. 配置 toml 文件#

示例:映射远程桌面 (RDP) 端口。

serverAddr = "1.1.1.1"
serverPort = 7000
auth.method = "token"
auth.token = "test123"
transport.tls.enable = false
[[proxies]]
name = "rdp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 3389
remotePort = 23389
transport.useEncryption = true
transport.useCompression = true

2-2-3. 配置启动文件#

同 frps,可以使用 .bat 放入启动目录,或使用 nssm 注册为服务 (命令改为 nssm install frpc)。


2-3. 在 Linux 中部署 frpc 并配置#

2-3-1. 准备资源#

下载 frpc (Linux amd64),解压并移动到 /usr/local/frpc

2-3-2. 配置 frpc.toml#

cd /usr/local/frpc
vim frpc.toml

示例:映射 SSH 端口。

serverAddr = "1.1.1.1"
serverPort = 7000
auth.method = "token"
auth.token = "test123"
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 20022
transport.useEncryption = true
transport.useCompression = true

2-3-3. 设置启动方式#

Systemd 服务配置:

nano /etc/systemd/system/frpc.service

内容:

[Unit]
Description=frpc
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/local/frpc/frpc -c /usr/local/frpc/frpc.toml
Restart=always
[Install]
WantedBy=multi-user.target

启用并启动:

systemctl enable frpc
systemctl start frpc

2-4. 在 Nas 系统中部署 frpc 并配置#

2-4-1. 使用第三方套件安装#

  1. 添加矿神源 (同 frps)。

  2. 安装 Frpc 客户端。

  3. 编辑配置。

    • 示例 (DSM 端口映射):
    serverAddr = "1.1.1.1"
    serverPort = 7000
    auth.method = "token"
    auth.token = "test123"
    [[proxies]]
    name = "dsm_http"
    type = "http"
    localIP = "127.0.0.1"
    localPort = 5000
    customDomains = ["test.hoshiroko.com"]
    [[proxies]]
    name = "dsm_https"
    type = "https"
    localIP = "127.0.0.1"
    localPort = 5001
    customDomains = ["test.hoshiroko.com"]

2-4-2. 使用 Docker 安装#

  1. 下载镜像 snowdreamtech/frpc
  2. 手动创建 frpc.toml 并写入配置。
  3. 创建容器,映射路径:
    • 本地: /volume1/docker/frpc/frpc.toml (示例)
    • 容器: /etc/frp/frpc.toml

3. 公共 frp 的使用#

公共 frp 顾名思义就是面向公众开放的 frp,其中有免费使用的,也有付费使用的。

那为什么要用公共 frp 呢? 没钱、没能力、嫌麻烦、懒得维护。

维护一个 frp 服务器也是费时费力费钱的。例如想和小伙伴玩 Minecraft,为了体验好可能需要 8-10Mbps 的带宽,大厂云服务器价格昂贵,小厂虽然便宜但有跑路风险。购买和维护服务器本身就很麻烦。

具体有哪些公共 frp 这边就不推荐了,避免被说打广告。公共 frp 一般都有自己的 Docs 文档,搞明白自建了,基本上大致都能懂。

本篇内容转载自:hoshiroko.com

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Frp 0.52及以上版本的全系统保姆级教程
https://blog.bink.top/posts/frp-052及以上版本的全系统保姆级教程/
作者
发布于
2026-02-24
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00