OpenWrt 是一个基于 Linux 的开源路由器操作系统,核心用途是替代原厂固件以获取更高性能、插件扩展及网络控制能力。在 OpenWrt 上安装 Frp(Fast Reverse Proxy)主要用于实现内网穿透,让外网访问家庭局域网内的服务(如 NAS、摄像头)。
1 r7 c& ?, h) \ K8 ~6 c! B5 l9 [
以下是精简的操作指南:
% P/ H3 }1 X( `0 W
, b! J0 n3 z e2 Q& G% b一、OpenWrt 基础使用准备/ S+ q0 z. P$ [% s' o- I
连接与登录:电脑连接路由器 Wi-Fi 或 LAN 口,浏览器访问 192.168.1.1(默认 IP),输入账号密码登录后台 。
9 R: ~5 z% |7 y7 B) R开启 SSH:进入“系统” -> “管理权”,启用 SSH 访问,记录 root 密码,以便后续命令行操作 。
3 P- T8 }" L8 z" B6 U$ i' f更新源:建议在“系统” -> “软件包”中点击“更新列表”,若官方源慢,可修改 /etc/opkg.conf 替换为国内镜像(如清华源) 。" i+ I! [$ H8 y2 |: a
二、安装 Frp 客户端 (frpc)
1 q% a& m0 ]7 hOpenWrt 资源有限,通常只需安装客户端 (frpc),服务端 (frps) 需部署在拥有公网 IP 的云服务器上。) ?) P& V0 z1 L- R, x
# P- n" ~6 W1 t
方法 A:通过 LuCI 图形界面安装(推荐,需插件源支持)4 `1 y! A9 v( K
进入“系统” -> “软件包”,刷新列表后搜索 luci-app-frpc。8 Y# P' n+ J1 ]/ a& t
依次安装 luci-app-frpc 及其依赖(如 frpc 二进制包、libopenssl 等)。
: p# P) z' Z! j% V安装完成后,侧边栏会出现“服务” -> “Frp Client”菜单,可直接图形化配置 。
+ R$ w( i# z2 ] e4 {方法 B:通过 SSH 命令行手动安装(通用)& K, _+ _& i0 k/ {; W9 K) z
若软件源无插件,需手动上传二进制文件:- C. q$ O: X1 w
- ]' i- C4 J l4 h下载对应架构版本:在 Frp GitHub Releases 下载 linux_arm 或 linux_mipsle 等匹配路由器 CPU 架构的 frpc 单文件 。% n: |% f$ q1 B d
上传文件:使用 SCP 工具将 frpc 上传至路由器 /usr/bin/ 目录,并赋予执行权限:
& h( Y' D" `* p+ V( X1 r7 Fbash6 e/ p( K* r, n- {% ]5 u
chmod +x /usr/bin/frpc! f8 J, U5 N4 r
创建配置文件:在 /etc/frp/ 目录下创建 frpc.toml(新版)或 frpc.ini(旧版),填入服务端信息 。5 r0 m# n% N0 g) n! s5 z- {
三、配置与启动 Frp
# ^8 l, j, c% Y3 j' P无论哪种安装方式,核心配置逻辑一致:
# C6 r! T4 k* q
# x" j6 n1 |& R) S8 M7 Q$ s q编辑配置文件 (/etc/frp/frpc.toml):
& T6 F' k: o- b+ [+ a2 n
; S1 C! S: j1 K1 H) k) t& |0 mtoml/ q( L, C: F% G, r1 ^# l
serverAddr = "你的云服务器公网IP"
6 ]! ~! v: K' V' t. dserverPort = 7000 # 服务端监听端口$ B1 w2 B( x @3 n& L
auth.token = "你的认证令牌"
% A% P! w ^* |( ~8 P. u7 U) c$ C
5 X& ~! ]2 P, T- ^- {( a# |! M7 F[[proxies]]
1 P2 E6 w- {, M* j8 a, ]name = "web-service"
" z5 V& k1 c& A8 s" C) C$ Jtype = "http"
) o5 T8 {( h; J. Y: p* i# F: C% SlocalIP = "192.168.1.100" # 内网设备 IP
+ j B2 }8 [/ [5 L' b( u, U; {localPort = 80 # 内网服务端口; ^% E1 G7 e( w5 w" k" r# g; P9 e1 W
customDomains = ["your-domain.com"] # 可选域名# M* M% `6 ?/ z9 |: I' I0 m7 U
注:新版 Frp (v0.52+) 默认使用 .toml 格式,旧版使用 .ini,请根据版本调整 。
' e/ m8 d0 e' r3 R0 P( |$ f* E
' e4 f. h: u% A8 ^设置开机自启:. J+ T0 P" Y: m9 s' k3 r+ m
) D6 A7 t1 ]4 G" ~$ a: G. x若安装了 luci-app-frpc,在“服务” -> “Frp Client”中勾选“启用”并保存应用,系统会自动管理守护进程 。
( ~- {9 w4 {6 k- `4 |若手动安装,需创建 /etc/init.d/frpc 启动脚本,或使用 procd 注册服务,确保重启后自动运行 。 |: s9 [8 k3 U' g
验证状态:: ~) ~* @4 A, g) p5 d7 t# r2 r& Z
0 |" U! `# H, k! v# a4 k; q
命令行执行 /usr/bin/frpc -c /etc/frp/frpc.toml 测试连接。
+ J: w% X$ Z( n1 T" @/ H5 F查看日志:logread | grep frpc 或登录云服务器 Frp 服务端面板查看在线状态 。
, h8 L# J- k. l% z$ O. a关键注意事项
& l# t* J& B0 e' I# F* C5 P架构匹配:务必确认路由器 CPU 架构(ARM/MIPS/x86),下载错误的二进制文件无法运行,可通过 cat /etc/os-release 查看 。
5 z$ g2 g5 k+ a/ g$ _防火墙设置:确保云服务器安全组开放 serverPort (如 7000) 及映射的业务端口 。
# R6 r' `4 T- g: D6 U9 P8 I1 {; m资源占用:Frp 在低端路由器上可能占用较多内存,建议仅开启必要隧道,避免路由器死机 。0 k# \( K0 d7 d5 F" _& R4 H! E
需要我帮你整理常见连接失败的排查步骤吗?比如端口冲突或认证错误的解决方法?
. H, e3 z, f% X$ z/ T; D& ?$ j5 a3 ?) n! C) m0 A! ^
参考 |