路由器方案的最大优势是覆盖全面:所有接入设备自动生效, 缺点是对硬件资源敏感,配置时需要更多取舍。
硬件与空间评估
| 项目 | 最低要求 | 建议 |
|---|---|---|
| 内存 | 128 MB | 256 MB 以上更从容 |
| Flash 可用空间 | 30 MB | 把规则与配置放外置存储 |
| CPU | 单核 580 MHz | 多核可支撑更高吞吐 |
| 架构 | mipsle / arm64 | arm64 性能明显更好 |
# 查看设备信息
cat /proc/cpuinfo | grep -E 'model|Processor'
free -m
df -h /overlay
选择内核架构
# 查看架构
uname -m
# mips → mips-softfloat
# mipsle → mipsle-softfloat
# aarch64 → arm64
# x86_64 → amd64
# 注意硬浮点与软浮点的区别,选错会直接无法运行
opkg print-architecture
最常见的启动失败原因就是架构选错。下载前先执行 opkg print-architecture,它会直接告诉你该用哪个版本。
部署与权限
# 下载并放入可执行目录
cd /tmp
wget -O clash-meta.gz https://example.com/clash-meta-linux-mipsle-softfloat.gz
gunzip clash-meta.gz
chmod +x clash-meta
mv clash-meta /usr/bin/
# 配置目录放在持久化分区
mkdir -p /etc/clash
cp config.yaml /etc/clash/
# 手动验证
clash-meta -d /etc/clash -t
配置透明代理
路由器上通常用 TUN 或 TProxy 接管流量,TProxy 在资源受限设备上表现更好。
# 路由器场景的基础配置要点
mixed-port: 7890
allow-lan: false # 路由器通常接管全部流量,不需要再开放
mode: rule
log-level: warning # 路由设备上降低日志等级
ipv6: false # 无 IPv6 环境时关闭,省资源
tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
如果使用 TProxy 方案,需要额外配置防火墙规则,把 TCP 与 UDP 流量重定向到内核监听端口。
开机自启与持久化
OpenWrt 的 /tmp 重启后会清空,因此可执行文件与配置都必须放在持久化目录。
cat > /etc/init.d/clash <<'EOF'
#!/bin/sh /etc/rc.common
START=99
STOP=10
USE_PROCD=1
start_service() {
procd_open_instance
procd_set_param command /usr/bin/clash-meta -d /etc/clash
procd_set_param respawn 3600 5 5
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param limits nofile="65536 65536"
procd_close_instance
}
EOF
chmod +x /etc/init.d/clash
/etc/init.d/clash enable
/etc/init.d/clash start
/etc/init.d/clash status
常见坑与优化
- 磁盘写满 —— 日志等级过高会持续写盘,务必设为
warning; - DNS 环路 —— 内核的上游 DNS 不要指向路由器自己,否则解析死循环;
- 重启丢配置 —— 配置文件放在
/etc/clash而不是/tmp; - 规则集过大 —— 大规则集会吃光内存,建议精简或改为线上按需加载;
- 大流量下 CPU 打满 —— 关闭不必要的解密开销,或升级到 arm64 设备。
改完防火墙或路由规则后,建议保留一条带外管理通道(如直连网线或串口),避免配置失误后无法访问路由器。
如果更希望容器化部署,见 Docker 容器化部署实践。
进阶
← 返回教程列表