Clash Verge 规则配置:写了规则却不生效怎么排查
规则明明写上去了,流量还是走错路径。这篇讲清 Clash 规则不生效的几个真实原因:匹配顺序被前面的规则截胡、MATCH 兜底吃掉后续、域名规则遇上直连 IP、规则集覆盖了自定义规则,以及每种情况怎么验证。
本文目录(8 节 · 约 2 分钟) +
- 01 先确认一件事:你在规则模式吗
- 02 原因一:被前面的规则截胡了
- 03 原因二:MATCH 后面的规则永远不会执行
- 04 原因三:域名规则拦不住直接用 IP 的请求
- 05 原因四:更新订阅把你的改动覆盖了
- 06 原因五:改了但没重新加载
- 07 通用的验证手法:看日志
- 08 还是不对的话
写规则不难,难的是写完发现没用。这篇只讲一件事:规则加上去了但流量没按预期走,怎么找出原因。
如果你还不清楚规则、规则集、策略组分别是什么,先看 分流规则入门。
先确认一件事:你在规则模式吗
全局模式下所有规则都不生效,因为全局的意思就是「不看规则,全部走代理」。同理直连模式也不看规则。
这是最常见也最容易被忽略的原因。在「代理 / Proxies」页确认当前是规则模式(Rule),再往下排查。
原因一:被前面的规则截胡了
Clash 按配置里规则的先后顺序从上往下匹配,命中第一条就停止。所以你把规则加在文件末尾,很可能永远轮不到它。
举例:配置里已经有一条覆盖面很广的规则集(比如「所有国外域名走代理」),你在它后面加一条「某个域名走直连」,那条永远不会命中——因为流量在上面那条规则集就已经被处理掉了。
验证方法:把你的规则移到规则列表的最前面,重启内核再试。如果这样就生效了,说明问题确实是顺序。
正确做法:自定义规则要放在规则集之前,而不是追加在末尾。
原因二:MATCH 后面的规则永远不会执行
规则列表最后通常有一条 MATCH,策略组 或 FINAL,策略组,意思是「以上都没命中的,全部按这个走」。
它是兜底规则,必须在最后一行。写在它后面的任何规则都是死代码——MATCH 会匹配一切,不可能漏到后面。
检查你的自定义规则是不是不小心加到了 MATCH 下面。
原因三:域名规则拦不住直接用 IP 的请求
DOMAIN-SUFFIX、DOMAIN-KEYWORD 这类规则只在流量带着域名过来时才可能命中。如果程序直接向 IP 发起连接(不做 DNS 解析),域名规则一条都匹配不上,最后落到 MATCH 兜底。
这也是为什么有些软件「明明加了域名规则还是走错」。
处理办法:改用 IP-CIDR 按 IP 段匹配,或者对该程序用 PROCESS-NAME 按进程名匹配(部分平台支持)。IP-CIDR 规则如果不希望触发 DNS 解析,注意 no-resolve 参数的位置。
原因四:更新订阅把你的改动覆盖了
这是最容易反复踩的一条。 你直接改了订阅拉下来的那份配置文件,然后点了「更新订阅」——服务商那份配置重新下载,你的改动没了。
订阅配置是服务商的文件,不是你的。要让自定义规则活下来,用客户端提供的覆写 / Merge / Script 之类的机制,把你的规则单独放一份,由客户端在每次加载时合并进去。具体入口各客户端叫法不同,Clash Verge Rev 在订阅卡片的右键菜单里。
判断是不是这个原因很简单:改完立刻生效、更新一次订阅就失效,那就是它。
原因五:改了但没重新加载
有些改动需要重启内核才会读取。改完配置后:
- 手动切换一次订阅配置,或者
- 完全退出客户端再启动
不确定的话,看客户端日志里有没有重新加载配置的记录。
通用的验证手法:看日志
上面五种情况都可以用同一个办法确认——打开客户端的日志面板,然后访问目标网站,日志会显示这条连接匹配到了哪条规则、走了哪个出站。
这比反复猜测有效得多。日志里显示的匹配规则和你期望的不一致,就能立刻定位是顺序问题还是规则类型问题。
还是不对的话
- 流量走了但特定网站打不开,可能是 DNS 层的问题,与规则无关,看 规则与策略组示例 里 DNS 那几条
- 某个软件完全不理会 Clash,那是它不读系统代理,需要 TUN 模式,见 软件不走代理
- 国内网站也变慢,多半还是模式问题,见 国内网站变慢
其余现象在 报错排查索引 里按现象归了类。
相关文章
Clash 分流规则入门:规则、全局与规则集怎么理解
为什么开了 Clash 连国内网站也变慢?这篇讲清 Clash 的分流:规则模式和全局模式的区别、规则集(rule-provider)是什么、规则匹配的先后顺序,以及日常该怎么设。
Clash Verge Rev 怎么用?从下载安装到第一次连上
第一次装 Clash Verge Rev,从去哪下载、怎么辨认官方来源,到导入订阅、选节点、开系统代理,再到确认自己真的走了代理。每一步都写清楚要点和常见卡壳的地方,看完就能自己跑通。
Clash Verge 报「platform TLS verifier failed」「webpki roots fallback failed」怎么办
这两条报错出现在客户端去拉取订阅那一步,意思是 HTTPS 握手没做成,不是你的证书坏了、也不是节点不通。常见成因是系统时间不对、订阅域名连不上、本机杀毒做了 HTTPS 中间人、或者拉订阅时还没有可用网络。逐条给排查顺序。