在 Rocky Linux 9 上部署 frp(Fast Reverse Proxy)的 server 端(即 frps)并启用 token 验证,可以按照以下步骤操作:
一、准备工作
1. 更新系统
sudo dnf update -y
2. 安装必要工具(如 wget、tar)
sudo dnf install -y wget tar
二、下载 frp
前往 frp GitHub Releases 页面 获取最新版本。以 v0.58.1 为例(请根据实际情况替换为最新版):
# 下载(适用于 x86_64 架构)
wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.58.1_linux_amd64.tar.gz
# 解压
tar -zxvf frp_0.58.1_linux_amd64.tar.gz
# 创建安装目录
sudo mkdir -p /opt/frp
sudo cp -r frp_0.58.1_linux_amd64/* /opt/frp/
# 进入目录
cd /opt/frp
三、配置 frps(服务端)
编辑 frps.toml 文件(新版 frp 使用 TOML 格式配置):
sudo vi /opt/frp/frps.toml
填入以下内容(启用 token 验证):
# frps.toml
[server]
bindPort = 7000 # frp 服务监听端口(客户端连接此端口)
bindAddr = "0.0.0.0"
# 启用 Dashboard(可选,用于 Web 监控)
dashboardPort = 7500
dashboardUser = "admin"
dashboardPwd = "your_dashboard_password"
# Token 验证(必须与客户端一致)
token = "your_secure_token_here"
# 日志设置(可选)
logFile = "/var/log/frp/frps.log"
logLevel = "info"
logMaxDays = 7
⚠️ 请将
your_secure_token_here替换为强密码(建议使用随机字符串),客户端也需配置相同 token。
四、创建日志目录
sudo mkdir -p /var/log/frp
sudo chown -R $(whoami):$(whoami) /var/log/frp
五、创建 systemd 服务(便于开机自启和管理)
sudo tee /etc/systemd/system/frps.service <<EOF
[Unit]
Description=FRP Server
After=network.target
[Service]
Type=simple
ExecStart=/opt/frp/frps -c /opt/frp/frps.toml
Restart=always
RestartSec=5
User=root
[Install]
WantedBy=multi-user.target
EOF
六、启动并启用服务
# 重载 systemd
sudo systemctl daemon-reload
# 启动 frps
sudo systemctl start frps
# 设置开机自启
sudo systemctl enable frps
# 查看状态
sudo systemctl status frps
七、开放防火墙端口
# 开放 frp 主端口(7000)和 Dashboard(7500,可选)
sudo firewall-cmd --permanent --add-port=7000/tcp
sudo firewall-cmd --permanent --add-port=7500/tcp # 如果启用了 Dashboard
sudo firewall-cmd --reload
八、验证
查看日志:
tail -f /var/log/frp/frps.log访问 Dashboard(如果启用):
http://<your_server_ip>:7500用户名/密码为配置文件中设置的
dashboardUser和dashboardPwd。
九、客户端配置提示(供参考)
客户端(frpc)的 frpc.toml 中需包含:
[client]
serverAddr = "your_server_ip"
serverPort = 7000
token = "your_secure_token_here" # 必须与服务端一致
完成以上步骤后,你的 frp 服务端就已在 Rocky Linux 9 上成功部署,并启用了 token 安全验证。
如需进一步安全加固,可考虑:
- 使用 TLS 加密(frp 支持)
- 限制 Dashboard 访问 IP
- 使用非 root 用户运行 frps