OpenWrt 是一个基于 Linux 的开源路由器操作系统,核心用途是替代原厂固件以获取更高性能、插件扩展及网络控制能力。在 OpenWrt 上安装 Frp(Fast Reverse Proxy)主要用于实现内网穿透,让外网访问家庭局域网内的服务(如 NAS、摄像头)。: z) l' T% @# e S* d+ H
9 p) \* _) ]! F. l H- q# ~以下是精简的操作指南:
' o% {( Q& y, ^+ Y0 M
7 w R/ d$ }: E一、OpenWrt 基础使用准备* t# j6 E8 u! V3 C
连接与登录:电脑连接路由器 Wi-Fi 或 LAN 口,浏览器访问 192.168.1.1(默认 IP),输入账号密码登录后台 。! i, |) r# {, _5 ?. d. I
开启 SSH:进入“系统” -> “管理权”,启用 SSH 访问,记录 root 密码,以便后续命令行操作 。
4 i Z9 f# T6 R) h6 t o更新源:建议在“系统” -> “软件包”中点击“更新列表”,若官方源慢,可修改 /etc/opkg.conf 替换为国内镜像(如清华源) 。% S4 I& b5 |( _* [4 ~; @ S
二、安装 Frp 客户端 (frpc)9 L1 N8 c. X9 ^; h0 ^* o& u3 K4 j
OpenWrt 资源有限,通常只需安装客户端 (frpc),服务端 (frps) 需部署在拥有公网 IP 的云服务器上。0 p* W% b, s! S5 z
6 c! Y4 Z9 f/ x8 ` J* b$ Z2 s方法 A:通过 LuCI 图形界面安装(推荐,需插件源支持), w" a) S9 y1 L3 F
进入“系统” -> “软件包”,刷新列表后搜索 luci-app-frpc。
2 f8 v( q9 z% l" c依次安装 luci-app-frpc 及其依赖(如 frpc 二进制包、libopenssl 等)。/ ` {; {7 {- o) }4 t
安装完成后,侧边栏会出现“服务” -> “Frp Client”菜单,可直接图形化配置 。' W; x% E8 K, Y# M0 \- s
方法 B:通过 SSH 命令行手动安装(通用)
) Q6 ?9 o4 E [' G t- P w若软件源无插件,需手动上传二进制文件:& L3 p' w i3 g7 {" H+ w! U
- Q" t: j4 s% B, D+ }下载对应架构版本:在 Frp GitHub Releases 下载 linux_arm 或 linux_mipsle 等匹配路由器 CPU 架构的 frpc 单文件 。
/ f0 S2 u% P+ @& D8 [3 W上传文件:使用 SCP 工具将 frpc 上传至路由器 /usr/bin/ 目录,并赋予执行权限:
2 X1 G3 C" a) Rbash
# O {2 Q; C% C( ^chmod +x /usr/bin/frpc! g( k; Z. g2 i9 l; D5 }
创建配置文件:在 /etc/frp/ 目录下创建 frpc.toml(新版)或 frpc.ini(旧版),填入服务端信息 。
3 ]6 k/ K; f B' {" |/ K; N三、配置与启动 Frp% g9 j2 f3 Z* D5 R! e" g3 M
无论哪种安装方式,核心配置逻辑一致:1 [; Z+ O- G$ m) @" t5 |
}# \* w& I6 }# e0 C0 H
编辑配置文件 (/etc/frp/frpc.toml):
/ ?) j x+ F4 K3 l9 f/ l4 U2 t
. ^$ I& Z; a, K& v% ^8 [7 A! [toml. L! i4 B5 d, Z( b1 j4 W. e
serverAddr = "你的云服务器公网IP"
! ?) b. a3 z( [serverPort = 7000 # 服务端监听端口
% q- h# _1 t3 C$ b- J6 dauth.token = "你的认证令牌", ^7 V* |# U8 F! B. i6 Q# U
0 }$ \, f5 k# ~
[[proxies]]
) Z; x2 F- [: z6 Y A, a Yname = "web-service"
# A: j" c( h6 o. `1 i% Etype = "http". L/ G( A& ~0 L, ^) Y8 _
localIP = "192.168.1.100" # 内网设备 IP
( g% s. A' h; g3 J, WlocalPort = 80 # 内网服务端口
* A2 @2 `, j8 C7 e- xcustomDomains = ["your-domain.com"] # 可选域名& [6 j" J' ~& `- z
注:新版 Frp (v0.52+) 默认使用 .toml 格式,旧版使用 .ini,请根据版本调整 。
" k1 l) m4 c+ {8 g! h* F k
: t. z7 m, W1 r0 O# L) h4 ]/ T设置开机自启:4 ~; ]) ^6 Q, R0 d1 @7 w
' H E8 G2 ?! Y% ~+ B# h
若安装了 luci-app-frpc,在“服务” -> “Frp Client”中勾选“启用”并保存应用,系统会自动管理守护进程 。
- f+ z }, U4 X7 C' Q若手动安装,需创建 /etc/init.d/frpc 启动脚本,或使用 procd 注册服务,确保重启后自动运行 。% j/ l' ~, [6 q: e+ r
验证状态:
7 w) n0 d2 Y6 b1 G" H: D3 H
, G5 J' r' c5 p$ d命令行执行 /usr/bin/frpc -c /etc/frp/frpc.toml 测试连接。, f3 _8 _/ C$ z6 O5 Z u( a* }
查看日志:logread | grep frpc 或登录云服务器 Frp 服务端面板查看在线状态 。
4 ?9 S: L# }, F4 s) T关键注意事项
% O6 |* } g$ ]4 J/ h架构匹配:务必确认路由器 CPU 架构(ARM/MIPS/x86),下载错误的二进制文件无法运行,可通过 cat /etc/os-release 查看 。
3 H* X$ w' {% @' o6 o防火墙设置:确保云服务器安全组开放 serverPort (如 7000) 及映射的业务端口 。
1 |' {( b; y$ c) y# ^+ `资源占用:Frp 在低端路由器上可能占用较多内存,建议仅开启必要隧道,避免路由器死机 。
: q2 \# t; }8 S$ G需要我帮你整理常见连接失败的排查步骤吗?比如端口冲突或认证错误的解决方法?
& P0 ?9 h/ [( @: h( V$ e
+ P. _$ r" `$ T& p$ O2 z参考 |