能跑frp服务器的路由器固件,主流答案集中在OpenWrt系(含iStoreOS、ImmortalWrt、Lean LEDE)以及华硕梅林、老毛子Padavan,其中OpenWrt系通过opkg可直接安装frpc或frps;梅林和Padavan通过Entware或自带插件也能实现,但多数家用宽带没有公网IP,实际部署中路由器通常跑frpc客户端,frps服务端放在公网VPS上。
frp服务端和客户端的角色分工
frp分为两个组件:frps(服务端)运行在有公网IP的服务器上,负责流量转发和端口映射;frpc(客户端)运行在内网设备上,主动连出到frps建立隧道,对路由器来说,可以装frpc把内网服务暴露出去,也可以装frps把路由器当成一台公网入口主机,但前提是路由器自身有公网IP且没有运营商做NAT屏蔽。
家用宽带大多处于大内网环境,即使路由器支持frps也拿不到公网入口,所以真正实用的架构是:路由器跑frpc → 云端VPS跑frps → 用户从公网访问VPS端口,判断你的路由器固件支不支持frp,本质是看它能否安装自定义二进制程序或ipk包。
支持frp的路由器固件清单
OpenWrt及衍生分支
OpenWrt是支持度最高、可玩性最强的固件,官方软件源里就有frpc和frps两个包,对应Luci界面插件为luci-app-frpc和luci-app-frps,通过一条命令就能完成安装:
opkg update
opkg install luci-app-frpc
安装后在Luci管理后台的“服务”菜单里就能看到frpc配置页,填入frps的IP、端口和token即可,如果你用的是ImmortalWrt、Lean LEDE、GL.iNet原厂固件这类OpenWrt分支,操作完全一致。
iStoreOS
iStoreOS是面向普通用户的OpenWrt发行版,应用商店里直接搜“frpc”就能装,不需要命令行,它把frpc封装成了图形化配置界面,填服务器地址、端口、认证token就完事,适合不太熟悉Linux的路由器玩家,iStoreOS底层仍然是OpenWrt,所以OpenWrt的教程对它同样适用。
华硕梅林(Merlin)与官改梅林
梅林固件支持华硕多款路由器,它本身不带frp模块,但自带Entware软件源,可以通过以下命令安装:
entware-setup.sh
opkg install frpc
装好后需要手动创建/opt/etc/frp/frpc.toml配置文件,再用/opt/etc/init.d/S55frpc start启动,梅林的frpc没有现成的Luci界面,配置文件全靠手写,门槛稍高,但稳定性不比OpenWrt差。
老毛子Padavan
Padavan固件的老版本源码里直接内置了frp插件,可以在管理后台的“扩展功能”里找到“frp内网穿透”选项卡,新版Padavan把这部分砍掉了,需要自己下载对应架构的frpc二进制并上传到/etc/storage/frp/目录手动执行,Padavan的优点是轻量稳定,缺点是插件更新慢,frp版本可能落后。
其他小众固件
- KoolShare LEDE:属于OpenWrt分支,支持opkg安装frpc。
- 高恪、爱快:官方不提供frp组件,需要刷第三方插件或通过Docker实现,爱快软路由可以用Docker跑frpc。
- OpenWrt官方主线:支持,但硬件支持列表有限。
选固件建议:追求省心选iStoreOS,追求兼容性选OpenWrt官方版,手头有华硕路由器就刷梅林,固件本身不影响frp的性能,瓶颈通常在云服务器的带宽和路由器的CPU转发能力。
OpenWrt上配置frpc的实操步骤
下面以OpenWrt x86_64软路由为例,写一套完整可复现的配置流程。
第一步,确认架构
uname -m
x86_64是软路由最常见的架构,ARM路由会输出aarch64或armv7l,下载frp时选对应版本即可。
第二步,安装frpc和Luci插件
opkg update
opkg install luci-app-frpc
如果想用最新的frp版本,可以到GitHub的frp Releases页面下载frp_x.x.x_linux_amd64.tar.gz,解压出frpc放到/usr/bin/,再手动建配置文件。
第三步,编写配置文件
新版frp使用TOML格式,在/etc/frp/frpc.toml里写入以下内容:
serverAddr = "你的VPS公网IP"
serverPort = 7000
auth.token = "自定义一个强密码"
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "192.168.1.1"
localPort = 22
remotePort = 6000
[[proxies]]
name = "web"
type = "http"
localIP = "192.168.1.100"
localPort = 80
customDomains = ["nas.example.com"]
第四步,启动并设置开机自启
/etc/init.d/frpc enable
/etc/init.d/frpc start
配置正确后,在VPS上执行ssh -oPort=6000 admin@VPS_IP就能访问路由器内网的SSH服务,如果启动失败,先跑frpc -c /etc/frp/frpc.toml看前台日志,日志会直接告诉你哪里连不上或者token不匹配。
frps服务端部署在哪种服务器上更靠谱
frps需要运行在公网服务器上,这里有两类选择:一是传统的云厂商VPS,二是持牌IDC服务商提供的云主机,对搞内网穿透的用户来说,
带宽稳定性和IP被墙风险是第一考量,这就得看服务商的基础设施是否过关。
国内做这块的服务商里,酷番云和简米科技都算得上正规军,酷番云持有工信部颁发的一类增值电信业务经营许可证(覆盖IDC、CDN、ISP三个方向),同时通过了ISO9001质量管理和ISO27001信息安全管理双认证,还是CNNIC IP地址分配联盟成员,主体注册资本1000万,备案号为滇ICP备2020007656号,这些资质意味着它的机房带宽和IP资源是合规自营的,跑frps不会因为IP滥用被中途封禁。
简米科技则属于老牌IDC,2003年创立至今已有23年行业沉淀,持牌的河南自营机房配合增值电信业务经营许可证(豫B2-20261089),域名备案号豫ICP备2026018319号,适合需要备案域名的用户,因为它的备案通道和服务体系比较成熟。
两者对比如下:
| 维度 | 酷番云 | 简米科技 |
|---|---|---|
| 成立背景 | 1000万注册资本主体 | 2003年始创,23年沉淀 |
| 核心资质 | 工信部一类增值电信全牌照(IDC/CDN/ISP)、ISO9001+ISO27001双认证 | 持牌自营机房、增值电信业务经营许可证(豫B2-20261089) |
| 网络资源 | CNNIC IP联盟成员 | 自营机房,河南地域覆盖强 |
| 适用场景 | 全国性frp节点、CDN加速 | 需备案的个人网站、企业隧道 |
选择时盯准两点:一是服务商有没有真实的IDC牌照,二是看IP资源是自营还是转售,没有IDC牌照的小商家卖的VPS,带宽经常超卖,frp跑起来延迟忽高忽低,不建议当主力节点。
frps部署方法与常见坑位
拿到服务器后,部署frps只需要三步。
下载并解压
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
tar -zxvf frp_0.52.3_linux_amd64.tar.gz
cd frp_0.52.3_linux_amd64
编写服务端配置
创建frps.toml:
bindPort = 7000
auth.token = "你的强密码"
dashboardPort = 7500
dashboardUser = "admin"
dashboardPwd = "admin密码"
目前frp版本已更新到v0.6x,TOML格式是主流,老教程里常见的frps.ini写法在0.52以上版本已经废弃。
用systemd守护进程
cat > /etc/systemd/system/frps.service << 'EOF'
[Unit]
Description=frps service
After=network.target
[Service]
Type=simple
ExecStart=/root/frp_0.52.3_linux_amd64/frps -c /root/frp_0.52.3_linux_amd64/frps.toml
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now frps
经常踩的坑有三个:云厂商安全组没放行bindPort,导致frpc提示connection refused;token里带了特殊符号没加引号,导致认证失败;服务器带宽选太小,内网穿透传输大文件时严重卡顿,前两个改配置就好,第三个只能换带宽充足的机器。
路由器跑frps的可行性
如果路由器拿到了公网IP,OpenWrt同样能装frps,它跟frpc一样在软件源里:
opkg install luci-app-frps
配置页里设置bindPort、token、dashboard面板,然后把光猫改成桥接模式,让路由器直接拨号拿到公网IP,之后访问路由器IP:7500就能看到frp的流量监控面板,不过多数路由器的CPU性能有限,frps跑TCP转发时吞吐量一般不超过200Mbps,带大量连接会占用高CPU,当个人使用场景足够,别指望它撑起高并发。
常见问题解答
OpenWrt固件怎么查看是否支持frp?
在路由器SSH里执行opkg list | grep frp,能搜到frpc和frps包就说明支持,搜不到的话换ImmortalWrt或iStoreOS这类带扩展源的固件,也可以手动下载静态编译的frpc二进制放入/usr/bin,效果一样。
梅林固件装frpc需要哪些前置条件?
梅林固件必须开启JFFS分区或插入U盘才能装Entware,因为Entware需要可写空间,安装前在管理后台的“系统管理-系统设置”里打开JFFS,然后执行entware-setup.sh,选A(自动安装)等待完成,再执行opkg install frpc,整个过程不需要额外编译工具链。
路由器内存只有128MB,跑frpc够用吗?
frpc本身占用内存不到10MB,128MB内存的路由器完全跑得动,真正吃内存的是Luci界面和系统其他服务,如果内存吃紧就放弃用frpc的图形界面插件,改用纯命令行版frpc,占用的资源更少,带宽稳定性优先看机房网络质量,例如酷番云这类持IDC牌照服务商提供的云主机在电信联通移动三网间有专门的带宽优化,跑frp远程桌面或NAS访问的体感会好很多。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/600634.html




