[本文自2024年此博客英文版翻译而来]

FRP 是一款高性能反向代理解决方案,旨在让那些原本被 NAT 或防火墙遮蔽的本地服务器,能够通过互联网被访问。它同时支持 TCP 和 UDP,以及 HTTP 和 HTTPS 协议,从而将基于域名的请求转发至内部服务。

还在为家里的服务器没有固定公网 IPv4 地址而烦恼吗?Fatedier 的 FRP 项目或许正是你需要的解决方案。

部署

1. 下载

https://github.com/fatedier/frp/releases 下载对应服务器系统的 FRP 套件,解压后放到任意目录即可。

2. 安装 Systemd(可选)

"systemd是Linux电脑操作系统之下的一套中央化系统及设定管理程序(init),包括有守护进程、函数库以及应用软件。"

它用于管理 FRPS 服务的启动、自启、重载、关闭等流程。如果你不需要这些,可以跳过本节。

# 通过 yum 安装 systemd (CentOS/RHEL) 
yum install systemd 

# 通过 apt 安装 systemd (Debian/Ubuntu) 
apt install systemd

3. 创建 frps.service 文件(需配合第2步)

使用文本编辑器(如 vim)在 /etc/systemd/system 目录下创建名为 frps.service 的文件,用于配置 frps 服务。

写入以下内容:

[Unit]
# 可自定义服务名称
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动命令,需修改为你的 frps 实际安装路径。
ExecStart = /path/to/frps -c /path/to/frps.toml

[Install]
WantedBy = multi-user.target

4. 修改 frps.toml 文件

# 可改为任意端口,并在服务器防火墙中放行该端口。
bindPort = 7000

# 如需为 FRPS 启用 Web 管理界面,请添加以下配置;默认监听 127.0.0.1,如需公网访问请改为 0.0.0.0
webServer.addr = "0.0.0.0"
webServer.port = 7001
# 控制面板用户名和密码,选填
webServer.user = "username"
webServer.password = "password"

# 如需客户端与服务端之间进行身份验证,请添加以下配置
auth.method = "token"
auth.token = "password"

FRPS Web 管理界面

启动服务

1. 使用 Systemd

# 使用 systemd 命令管理 FRPS 服务:
# 启动 FRPS
sudo systemctl start frps
# 停止 FRPS
sudo systemctl stop frps
# 重启 FRPS
sudo systemctl restart frps
# 查看 FRPS 状态
sudo systemctl status frps
# 设置 FRPS 开机自启:
sudo systemctl enable frps

2. 不使用 Systemd

# 进入 FRPS 所在目录
./frps -c ./frps.toml

配置客户端的 frpc.toml 文件

serverAddr = "x.x.x.x"
# FRP 与服务端的通信端口,需与服务端配置文件中的端口设置保持一致。
serverPort = 7000

# (可选)输入与服务端相同的密码
auth.method = "token"
auth.token = "password"

# (可选)Web 控制台
webServer.addr = "127.0.0.1"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"

[[proxies]]
name = "tcp"
# 协议类型,更多信息请参考 GitHub 页面。
type = "tcp"
# 本地 IP(需要被反向代理的 IP)
localIP = "127.0.0.1"
localPort = xxxx
# 访问服务端的以下端口,会将流量转发到上述本地 IP 端口:
remotePort = xxxx

以下模板供参考:

启动 FRP 客户端

./frpc -c ./frpc.toml

# Windows 命令行下请使用:
frpc -c ./frpc.toml

至此配置完成,应该会看到类似以下的信息:


There are phalanges that can truly revere and believe.