frpc客户端未启动导致宝塔内网穿透失效,需执行systemctl status frpc确认状态,常见原因包括配置语法错误、token或地址填错、系统时间偏差超15分钟;修复须killall frpc后手动运行frpc -c frpc.ini查报错,同步更新remote_port与宝塔真实监听端口,并检查安全组及防火墙双向放行。

frpc 客户端没起来,面板地址自然连不上
宝塔内网穿透插件失效,八成不是插件坏了,而是底层 frpc 进程根本没跑起来。面板 UI 显示“已启用”,只代表配置保存了,不代表 frp 客户端真的在转发流量。
执行以下命令确认真实状态:
systemctl status frpc
若输出中显示 inactive (dead) 或 failed,说明服务未启动。常见原因包括:
-
frpc.ini配置语法错误(比如少了个=、多了一行空格) - 服务端
frps地址或token填错,导致客户端反复重连失败 - 服务器时间偏差超过 15 分钟,frp 认证直接拒绝(
time mismatch错误) - 插件修改配置后没触发重启,旧进程还卡在异常状态
修复建议:先停掉残留进程 killall frpc,再手动运行一次看报错:/www/server/panel/plugin/frp/bin/frpc -c /www/server/panel/plugin/frp/frpc.ini,终端会直接打印连接失败原因。
remote_port 和宝塔监听端口对不上
frp 要把外网请求转给宝塔面板,必须知道宝塔实际监听哪个端口。很多人改过面板端口(比如从默认 8888 改成 9200),但忘了同步更新 frpc.ini 里的 remote_port,结果所有穿透流量都打到一个不存在的服务上。
查宝塔当前监听端口:
netstat -tnlp | grep :8888
如果没返回,换这个命令找真实端口:
cat /www/server/panel/data/port.pl
确保 frpc.ini 中的 remote_port 值和上面查到的一致。注意:
- 不要只看面板设置页显示的“面板端口”,它可能没写入
port.pl -
local_port必须填127.0.0.1:端口号,不能写成0.0.0.0(frp 不支持) - 改完配置必须执行
systemctl restart frpc,否则不生效
安全组和本地防火墙拦了 frp 的通信端口
frp 是双向通信:客户端要能连上服务端(通常是公网服务器的 7000 端口),服务端也要能把请求回打到你本地的 frpc(默认 6000)。这两个链路任意一端被拦,穿透就断。
检查点分两层:
- 云平台安全组:确认出方向(Outbound)放行了目标
frps服务器的7000TCP 端口 - 本机防火墙:
firewall-cmd --list-ports(CentOS)或ufw status(Ubuntu)里必须有6000/tcp(frpc 默认管理端口)和你穿透用的端口(如8888/tcp)
特别注意:有些厂商(如腾讯云轻量)默认禁用所有出方向规则,光开入方向没用。frp 客户端连不上服务端,第一反应不是换 token,而是查出方向是否放行。
插件日志里藏着真实错误线索
别只盯着面板 UI 上那个“启用/禁用”按钮。真正有用的错误全在日志里,而且不是面板总日志,是插件专属日志:
tail -n 30 /www/server/panel/logs/plugin/frp.log
高频错误关键词直接对应问题:
-
login to server failed→server_addr或token错,或frps没在监听7000 -
dial tcp: lookup xxx: no such host→ 域名解析失败,检查/etc/resolv.conf或换 IP 直连 -
connection refused→ 服务端端口没开,或frps进程挂了 -
invalid configuration→frpc.ini格式非法,常见于缩进、引号、注释符号混用
日志路径不对?先确认插件目录存在:ls -l /www/server/panel/plugin/frp/。如果整个目录缺失,说明插件安装不完整,得重装而非修配置。











