服务器FRP配置从零开始:完整操作与避坑指南
为什么需要服务器FRP配置
FRP 是一款开源的内网穿透工具,能让没有公网 IP 的内网设备(如家里的 NAS、开发服务器)通过一台公网 VPS 暴露给外网访问。
服务器FRP配置指的是在公网服务器上部署 frps(FRP 服务端),这是整个穿透链路的“桥头堡”,配置好之后客户端才能注册上来并提供服务。
准备工作:服务器与软件下载
首先你要有一台公网服务器,建议系统是 Ubuntu 22.04 或 CentOS 7+,内存 512MB 以上就足够。
登录服务器后,先更新软件包:
sudo apt update && sudo apt upgrade -y # Debian/Ubuntu
# 或者
sudo yum update -y # CentOS/RHEL
然后从 FRP 的 GitHub Releases 页面下载最新版。
这里用命令行直接拉取(以 v0.58.0 为例):
wget https://github.com/fatedier/frp/releases/download/v0.58.0/frp_0.58.0_linux_amd64.tar.gz
解压并进入目录:
tar -xzf frp_0.58.0_linux_amd64.tar.gz
cd frp_0.58.0_linux_amd64
编写 frps.toml 配置文件
新版 FRP 使用 TOML 格式,服务器端只需关注 frps.toml。
用 vim 或 nano 编辑:
nano frps.toml
写入以下基础配置:
bindPort = 7000 # 服务端监听端口,客户端连接用
auth.method = "token"
auth.token = "你的随机密钥" # 换成强密码,避免被他人连入
dashboard.bindPort = 7500 # 管理面板端口
dashboard.user = "admin"
dashboard.password = "你的密码"
webServer.bindPort = 7500 # 新版 dashboard 也在这声明
注意:新版 FRP 中dashboard和webServer字段可能合并,具体以你下载版本的文档为准。如果启动报错,可只保留bindPort、auth.token和dashboard部分。
保存退出后,在服务器防火墙放行相应端口(7000 和 7500)。
例如用 ufw:
sudo ufw allow 7000/tcp
sudo ufw allow 7500/tcp
启动 frps 并设为开机自启
当前目录下直接运行测试:
./frps -c frps.toml
看到输出包含 service start success 即启动成功。
使用 Ctrl+C 停止,然后配置 systemd 服务让其后台常驻。
新建服务文件:
sudo nano /etc/systemd/system/frps.service
内容如下:
[Unit]
Description=FRP Server Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/path/to/frps -c /path/to/frps.toml
[Install]
WantedBy=multi-user.target
注意替换 /path/to/ 为实际绝对路径。
然后加载并启用:
sudo systemctl daemon-reload
sudo systemctl enable frps
sudo systemctl start frps
用 sudo systemctl status frps 查看是否正常运行。
常见问题与避坑指南
问题 1:frps 启动提示 "port already in use"
检查是否有其他服务占用 7000 或 7500 端口,换个端口或停掉冲突进程。
问题 2:客户端连接不上
先确认服务器防火墙是否放行对应端口,再检查客户端配置文件中的 serverAddr 和 serverPort 是否正确。此外,如果云服务器厂商有安全组策略,也需要在控制台开放端口。
问题 3:dashboard 页面打不开
确保 dashboard.bindPort 未被防火墙拦截,并且访问时使用 http://服务器IP:7500。如果使用了 token 认证,dashboard 登录也需要填写正确的用户名密码。
避坑提醒:
- 务必修改默认的
auth.token,否则任何人都可以连接你的 frps。 bindPort不要使用 22、80、443 等常用端口,以免冲突。- 定期检查 FRP 版本更新,旧版可能存在安全漏洞。
效果验证:确认服务器FRP配置成功
打开浏览器访问 http://服务器IP:7500,输入你设置的用户名密码,进入 dashboard 页面。
如果看到在线客户端数量,说明 frps 正常工作。
你也可以在客户端上启动 frpc,观察 dashboard 中是否新增连接。
至此,服务器FRP配置就全部完成了。
后续只需在客户端配置好隧道规则,内网服务就能通过公网访问。
建议遇到异常时先回看本文的避坑部分,大部分问题都能自行解决。