软路由全屋翻墙教程:OpenWrt + OpenClash 安装与旁路由配置
软路由方案的价值在于:电视、游戏机、智能音箱、鸿蒙 NEXT 手机这些装不了客户端的设备,连上 Wi-Fi 就能科学上网,家里人也不用学配置。代价是前期折腾一两个小时,以及一台几百元的小主机。本文以 OpenWrt(或 ImmortalWrt)+ OpenClash 为主线,这是目前教程最多、规则生态最成熟的组合;内存紧张的设备可以换 sing-box 插件。
硬件怎么选
| 方案 | 代表设备 | 价格 | 适合 |
|---|---|---|---|
| x86 软路由 | N100 / J4125 小主机 | 500–1000 元 | 全屋、带宽 500M 以上、想顺便跑 NAS |
| ARM 盒子 | 树莓派 4、R2S / R4S | 200–500 元 | 百兆到千兆、预算有限 |
| 支持 OpenWrt 的硬路由 | 部分小米、Redmi AX 系列 | 200–400 元 | 不想多一台设备,见 路由器翻墙教程 |
| 虚拟机 | NAS 或 PVE 里跑 OpenWrt | 0 | 已有 NAS 的人 |
内存至少 1GB,OpenClash 加载规则集吃内存;x86 建议 4GB 起。网口至少两个(主路由方案)或一个(旁路由方案)。
刷机:分步骤
- 下载固件:x86 设备下载 ImmortalWrt 或 OpenWrt 的
x86-64 generic-ext4-combined-efi.img.gz;ARM 盒子下载对应型号固件;虚拟机用 img 转成磁盘镜像。 - 写入:x86 用 U 盘启动一个 Linux 后
dd到硬盘,或者直接用 balenaEtcher 写到硬盘;ARM 写入 TF 卡。 - 首次进入:网线接 LAN 口,电脑浏览器打开 192.168.1.1。预期:看到 LuCI 登录页,默认无密码或 root / password。
- 基础设置:「系统 → 管理权」改密码;「网络 → 接口 → LAN」改成你家网段里不冲突的地址(旁路由方案例如 192.168.1.2);主路由方案在 WAN 口设 PPPoE 拨号。
- 「系统 → 软件包 → 更新列表」能成功,说明路由器已经能上网。
安装 OpenClash:分步骤
- 「系统 → 软件包」安装依赖:
luci-compat、kmod-tun、ca-bundle、curl,以及dnsmasq-full(需先卸载dnsmasq;ImmortalWrt 默认已是 full 版)。新内核用 nftables,旧内核需iptables-mod-tproxy、iptables-mod-extra。 - 从 GitHub
vernesong/OpenClash的 Releases 下载luci-app-openclash_x.x.x_all.ipk,「软件包 → 上传软件包」安装。预期:「服务」菜单下出现 OpenClash。 - 打开 OpenClash,「插件设置 → 版本更新」下载 Meta 内核。下载不动就手动从 mihomo 的 Releases 下载
linux-amd64版,解压后改名clash_meta放到/etc/openclash/core/,chmod +x。 - 「配置订阅 → 添加」粘贴机场的 Clash 订阅链接,「订阅转换」关闭(直接用机场配置),保存并更新配置。预期:「配置文件管理」里出现 YAML 文件。
- 「运行状态 → 启动 OpenClash」。预期:状态显示运行中,内核版本和流量数字开始跳动。
- 打开「控制面板」(Yacd / metacubexd)选节点。连 Wi-Fi 的手机不开客户端打开 Google 验证。
没有订阅先看 机场推荐排行榜。订阅格式必须是 Clash,通用订阅要用 订阅转换。
设置项逐项说明
「插件设置」里最重要的几项:
- 运行模式:Fake-IP(TUN)混合模式最省事,兼容性好;Redir-Host 模式对 DNS 要求高。旁路由用 Fake-IP TUN 混合。
- DNS 设置 → 本地 DNS 劫持:打开,强制所有设备的 DNS 查询经过 OpenClash,防止设备自带 DoH 绕过规则。
- DNS 设置 → 自定义上游 DNS:国内 DNS 填 223.5.5.5,国外填
https://1.1.1.1/dns-query。 - 流量控制 → 绕过中国大陆 IP:打开,国内流量不进内核,减轻负担。
- 流量控制 → 访问控制:按 IP 或 MAC 指定哪些设备绕过代理(游戏机、NAS)。
- 配置订阅 → 自动更新:开启,间隔 24 小时。
- 覆写设置:在不改订阅的前提下叠加自己的规则、策略组、DNS,订阅更新不丢。写法见 Clash 规则进阶。
- 游戏模式 / UDP:游戏机需要 UDP 转发时开启,见 UDP 与 NAT 类型。
主路由还是旁路由
主路由:OpenWrt 直接拨号或接光猫,所有设备自动走它。配置最简单,但软路由挂了全家断网。
旁路由:原路由器不动,OpenWrt 接在 LAN 口,IP 设为同网段(如 192.168.1.2),「网络 → 接口 → LAN」里关闭 DHCP,网关和 DNS 填主路由。需要代理的设备把网关和 DNS 手动指向 192.168.1.2,或者在主路由 DHCP 里把默认网关和 DNS 改成旁路由。稳定性更好,排障时直接把网关改回去就行。
旁路由模式下「网络 → 防火墙」要开「IP 动态伪装」,否则设备的回包找不到路。
机场怎么选
软路由对机场的要求:提供 Clash 订阅、节点数够、设备数规则宽松,因为全屋流量都从一个出口走。设备数规则见 多设备共用说明。流量按全家用量算,电视 4K 每小时 7GB,套餐选 150GB 以上,参考 大流量机场推荐。品牌资料标注 IEPL 专线的晚高峰更稳,见 IEPL 专线机场推荐。
常见报错表
| 症状 | 原因 | 处理 |
|---|---|---|
| 启动后全家断网 | dnsmasq 冲突或防火墙 | 停 OpenClash 看是否恢复;确认 dnsmasq-full;检查动态伪装 |
| 内核下载失败 | 路由器本身连不上 GitHub | 手动下载内核放入目录 |
| 订阅更新失败 | 链接错、格式不对、域名被封 | 核对链接;换 Clash 格式;先用电脑把 YAML 下载好再上传 |
| 节点延迟正常但网页打不开 | DNS | 开本地 DNS 劫持;改 Fake-IP 模式 |
| 国内网站也走代理 | 未开绕过大陆 IP 或规则缺失 | 开流量控制里的绕过;检查订阅规则 |
| 旁路由下部分设备不走代理 | 设备网关没指向旁路由 | 手动设网关 / DNS |
| 内存占用过高重启 | 规则集太多 | 精简规则集或换 sing-box |
| 游戏机 NAT 严格 | TUN 影响 UDP | 访问控制里让游戏机绕过 |
常见问题
电视能看 Netflix 吗?
取决于机场节点能否解锁,与软路由无关。见 Netflix 机场怎么选。
速度上不去?
x86 软路由千兆没问题,ARM 盒子加密吞吐有上限。确认不是机场线路问题,见 晚高峰慢怎么办。
手机出门还要装客户端吗?
要,见 手机如何翻墙。
OpenClash 和 PassWall 选哪个?
OpenClash 用 Clash 订阅和规则生态,适合有 Clash 经验的人;PassWall 用通用订阅,界面简单。两者别同时开。
不想刷机有替代吗?
见 路由器翻墙教程 里的梅林和 iStoreOS 方案,或 Apple TV 教程 的单设备方案。
固件要更新吗?
安全起见半年更新一次,更新前备份 /etc/openclash 目录。
软路由安全吗?
后台密码改强,不要把 LuCI 暴露到公网,SSH 只允许内网。流量隐私层面和手机客户端一样取决于机场,见 机场安全吗。