先画拓扑:主路由、旁路由与 AP 桥接,谁发 DHCP
在动手装插件之前,先用一张纸把谁负责拨号、谁给终端发 IP、默认网关指向谁写清楚。OpenWrt 软路由常见有三种形态:主路由(光猫桥接,由 OpenWrt 拨号,全屋终端的网关就是这台 OpenWrt);旁路由(上级仍是运营商或第三方主路由拨号,OpenWrt 接在 LAN 里,终端若要把流量交给 OpenWrt 上的 OpenClash,必须把默认网关改成旁路由地址,或由 DHCP Option 下发);纯 AP / 交换机模式(OpenWrt 关闭 NAT,仅当无线接入点,此时网关与 DNS 通常仍在上级路由,OpenClash 若跑在这台「桥接」设备上,往往无法接管全屋流量,除非你把上级 DHCP 关掉并改由 OpenWrt 承担——这又回到「谁是主路由」的问题)。
一句话:透明代理要生效,终端的默认网关必须是「能执行 iptables/nft 重定向到 Clash 的那台」。旁路由场景里,只把「DNS 指到旁路由」而网关仍指主路由,常常出现「部分 App 走了代理、部分直连混乱」的半吊子状态。先统一拓扑,再谈规则与节点,能少掉一半玄学排障。
OpenWrt 上安装 OpenClash:常见路径与版本注意
OpenClash是跑在 OpenWrt 上的 LuCI 插件,底层使用 Clash 系核心(常见为 Mihomo / Clash Meta 分支)。现实世界里,安装入口因固件而异:有的发行版通过软件包源直接搜索 luci-app-openclash;有的社区固件把插件与依赖预集成在应用商店里一键安装;也有用户自行上传 ipk 并在 Luci 中启用服务。无论哪种方式,请始终核对内核架构(x86_64、aarch64 等)、OpenWrt 主版本与libc是否匹配,避免「装得上却起不来」的二进制不兼容。
安装完成后,先在服务页确认守护进程能启动、配置文件路径可读、订阅或本地配置已导入(具体导入方式随你的机场与合规要求而定)。若 Web 界面提示核心下载失败,多半是路由器自身访问上游受阻或 TLS 校验问题,应先解决「路由器本机出网」再谈全屋透明代理。核心版本与规则格式会随 Meta 演进,遇到不认识的字段时,可对照站内 规则分流最佳实践理清匹配顺序。
网关与 DHCP:默认网关必须指向跑 Clash 的那一跳
旁路由场景下,最常见错误是:手机/电脑从主路由拿到 IP,默认网关仍是主路由,仅把 DNS 改成了旁路由地址。此时大量 TCP 连接根本不会经过OpenClash 的 redirect/tproxy 链,表现为「规则怎么改都不生效」。正确做法二选一:在 DHCP 里把网关 Option(常见为 Option 3)下发为旁路由 LAN 地址,并确保旁路由到主路由的回程可达;或关闭主路由 DHCP,改由 OpenWrt 统一分配地址与网关(此时 OpenWrt 通常已是事实上的主路由)。
若 OpenWrt 工作在纯 AP / 桥接、自身不承担三层转发,则它往往无法对无线客户端做全局透明代理——除非你把上游 DHCP 的网关改到另一台旁路由,或调整成由 OpenWrt 负责 NAT。本文读者若发现「只有接在 OpenWrt LAN 口的设备才走代理」,多半就是拓扑角色没对齐。更多局域网层面的端口与隔离问题,可参考 Clash 局域网共享与防火墙中的网段与 DHCP 思路。
Sanity check on a LAN client (replace gateway IP)# Default route should point to the OpenWrt running OpenClash (example)
ip route | grep -E '^default'
DNS 重定向:从 dnsmasq 到 Clash 的解析链
透明代理要稳定,DNS 必须先被引导到 Clash,否则客户端拿到「真实 IP」直连,规则根本来不及介入。OpenWrt 默认由 dnsmasq 在 53 端口应答 LAN 查询。常见做法是:在 OpenClash 中启用「DNS 劫持」或把 dnsmasq 的上游/转发指向 Clash 监听的 DNS 端口(具体端口以你界面为准,常见为 7874 一类),并确保路由器本机与下游客户端都使用该解析路径。
Fake-IP与redir-host的选择会显著影响「局域网访问 NAS、打印机、组播发现」等行为:Fake-IP 下若未把内网域名与局域网段填入 fake-ip-filter,可能出现「内网域名被解析成 198.18.x.x」的怪现象。路由器场景下尤其建议把路由器 LAN 地址、内网段、常用本地域名纳入过滤或走直连规则。更细的 nameserver / fallback 写法见 Clash Meta 如何配置 DNS。
国内直连:GEOIP、规则顺序与「漏网」
「国内直连」在配置层面的含义是:对中国大陆目的地 IP / 域名匹配到 DIRECT 出站,而不是默认的代理策略组。常见写法包括:GEOIP CN 规则、国内域名规则集、以及针对视频/银行/政务站点的补充列表。顺序上应保证私有网络、局域网、国内常用域名在总兜底之前被匹配,否则会出现「访问本省服务却绕半个地球」的延迟。
许多订阅自带的「绕过中国大陆 IP」开关,本质是下发或启用一条或多条绕过规则;若你自定义规则,请注意与 RULE-SET、GEOIP 的优先级关系。规则写对了但节点质量差时,仍会误判为「直连没生效」——先用连接日志确认策略命中是否为 DIRECT,再谈带宽。更系统的匹配思路见 规则分流最佳实践。
# Pseudocode: LAN / private first, then CN geo / CN lists, then default group
# RULE-SET: private_ip -> DIRECT
# RULE-SET: cn_domain -> DIRECT
# GEOIP, CN -> DIRECT
# MATCH -> PROXY
透明代理与防火墙:内网绕过、IPv6 与绕过中国大陆 IP
OpenClash 在Redir 兼容、TUN、TProxy等模式之间切换时,对应的 iptables/nft 规则集不同。切换模式后若未重启防火墙或清理旧链,会出现「偶发断流」「只有部分端口走代理」。界面里若有「绕过中国大陆 IP」「仅代理常用端口」等选项,请理解其含义:前者通常基于 GEOIP 或内置列表把国内目的地从透明转发中剔除;后者则限制被劫持的端口范围,用于降低误伤游戏 UDP、语音通话的风险。
绕过局域网与绕过中国大陆 IP应协同使用:前者保护 192.168.0.0/16、10.0.0.0/8 等私网互访;后者减少国内内容二次出境。若 NAS、监控摄像头访问异常,优先检查是否被错误匹配到代理组或 DNS 被 Fake-IP 化。需要抓包级对照时,可在路由上临时对问题域名做 fake-ip-filter 或改为 redir-host 试验,再回到 Fake-IP 以兼顾性能。
排障:全家断网、国内变慢、仅部分终端异常
下面清单按「先链路、后规则」排序,适合软路由新手逐项打勾。
- 全家突然断网:先关 OpenClash 或切到「仅规则不劫持」类模式,确认基础拨号与 NAT正常,再逐项恢复 DNS 与透明代理。
- 国外站打不开、国内正常:看节点可用性与TLS 日志;若仅 HTTPS 异常,优先核对系统时间与证书,其次才是规则。
- 国内网站变慢或偶发失败:在连接日志中确认是否误走代理;检查 GEOIP 数据库是否过期,并核对「绕过中国大陆 IP」是否生效。
- 仅某一设备异常:核对该设备是否使用静态 IP绕过了 DHCP 网关、是否手动指定了 DoH/DoT 绕过路由器 DNS、或开启了私人中继/随机 MAC导致频繁换网段。
- IPv6 行为怪异:在 WAN/LAN 与 OpenClash 中统一策略,必要时先以 IPv4 为主排障;更多通用问答见 常见问题。
若你已在终端侧验证过节点与订阅,而一到路由器就「全乱」,十有八九是网关、DNS、防火墙三层里有一层没对齐,而不是 Clash 核心本身损坏。
结语:路由器层先把链路跑通,再谈节点
在 OpenWrt 上跑 OpenClash,本质是做一个可控的家庭网关:默认网关指向谁、DNS 查询先进谁、国内流量是否稳定走 DIRECT,三件事对了,透明代理才有可预测的行为。桥接或 AP 模式下更要先想清DHCP 与 NAT 归属,否则再好的规则集也只能在局部设备上生效。
相比只在单台电脑上开客户端,路由器方案对全家设备更省事,但也更考验网络基础。把 Meta 系 DNS、Fake-IP 与规则顺序吃透,再配合清晰的连接日志,排障会快很多。
在桌面与移动场景,一款把策略编辑、日志与内核特性放在同一视线里的 Clash 系客户端,能帮你先在单机上验证订阅与规则,再上软路由放大到全屋;相比界面含糊或停更的工具,可维护性通常更好。
→ 立即免费下载 Clash,开启流畅上网新体验,在路由器侧用 OpenClash 稳住网关与 DNS 的同时,用现代客户端完成规则试验与版本对齐,让「软路由 + Clash」真正成为可长期维护的方案。