在使用 Clash 等基于规则分流的代理软件时,我们常常会遇到一个令人困惑的问题:“明明已经开启了规则模式(Rule Mode),为什么访问某些特定网站时,流量依然没有走代理,而是直接连接(DIRECT)了?”
遇到这种情况,很多新手可能会怀疑是节点失效或是软件出现了 Bug。然而,在绝大多数情况下,这是因为 Clash 的**规则匹配机制(Rule Matching)与你的分流配置(Rules & Proxy Groups)**之间存在偏差。
本文将深入解析 Clash 规则模式的核心工作原理,带你了解从输入网址到流量最终被代理(或直连)的整个过程,并提供一套系统的排查方法,帮助你彻底解决“某网站不走代理”的问题。
一、Clash 规则模式的核心:自上而下的匹配机制 (Rule Order)
要弄清为什么一个网站没有走代理,首先必须理解 Clash 是如何处理规则的。
Clash 处理流量的核心逻辑是**“自上而下,匹配即停” (Top-Down, First-Match)**。这意味着:
- 当一个请求(如访问
www.example.com)进入 Clash 时,它会从配置文件rules:列表的第一条规则开始逐一向下检查。 - 一旦发现有任何一条规则与该请求匹配,Clash 就会立刻停止向下检查,并按照该规则指定的动作(例如走某个 Proxy Group,或是 DIRECT 直连,或是 REJECT 拒绝)来处理该请求。
- 如果前面的规则都没有匹配,请求会一直往下落,直到命中最后一条兜底规则(通常是
MATCH)。
排查重点 1:规则的顺序(Rule Order)至关重要。
如果你希望某个网站走代理,但它上面有一条更为宽泛的规则(例如将该域名或其所在 IP 设为了直连 DIRECT),那么流量就会被上面的规则“截胡”,永远无法到达你预期的代理规则。
二、认识常见的规则类型与匹配逻辑
Clash 提供了多种规则类型来精准地控制流量分流。了解它们是如何匹配的,是排查分流错误的基础。
1. DOMAIN 与 DOMAIN-SUFFIX (域名匹配)
这是最常用且最高效的匹配方式。
- DOMAIN(精确域名匹配):只有请求的域名与规则完全一致时才会命中。例如
DOMAIN,www.google.com,Proxy只匹配www.google.com,不匹配mail.google.com或google.com。 - DOMAIN-SUFFIX(域名后缀匹配):只要请求的域名以指定的后缀结尾就会命中。这是匹配网站及其所有子域名的最佳方式。例如
DOMAIN-SUFFIX,google.com,Proxy会匹配google.com、www.google.com、mail.google.com等所有相关子域名。
排查重点 2:你是否使用了正确的匹配类型?
如果你用 DOMAIN 去匹配一个主域名,可能会漏掉许多必须走代理的二级域名(如 CDN 节点域名或 API 域名),导致网页加载不全或部分不走代理。通常建议使用 DOMAIN-SUFFIX。
2. DOMAIN-KEYWORD (域名关键字)
只要域名中包含该关键字就会命中。例如 DOMAIN-KEYWORD,google,Proxy 会匹配任何带有 google 字样的域名。
注意:关键字匹配容易造成误杀(例如匹配到 xxx-google-analytics.com),除非必要,一般推荐使用 DOMAIN-SUFFIX。
3. IP-CIDR 与 GEOIP (IP 地址匹配)
当域名规则无法命中时,Clash 会尝试解析该域名的真实 IP,并使用 IP 规则进行匹配。
- IP-CIDR:匹配特定的 IP 段。例如
IP-CIDR,192.168.0.0/16,DIRECT,常用于局域网直连。 - GEOIP:根据 IP 的地理位置数据库进行粗略的分流。例如
GEOIP,CN,DIRECT表示所有解析为中国大陆 IP 的流量都直连。
排查重点 3:DNS 污染与 GEOIP 的局限性。
如果一个原本应该走代理的网站,其域名没有被 DOMAIN 规则覆盖,Clash 就会去解析它的 IP。如果本地 DNS 被污染,解析到了一个错误的国内 IP,那么 GEOIP,CN,DIRECT 就会生效,导致该网站直连失败。
4. 兜底规则:MATCH (或 FINAL)
这是规则列表的最后一条,通常写为 MATCH,Proxy 或 MATCH,DIRECT。任何没有被上方所有规则命中的流量,都会由 MATCH 规则处理。
排查重点 4:你的 MATCH 是怎么设置的?
有些用户的配置中是 MATCH,DIRECT(即白名单模式,没写在规则里的全直连)。如果你访问的网站比较小众,不在内置的代理列表中,它自然就会直连。这种情况下,你需要手动将其添加到代理规则中,或者切换为全局代理,或者将兜底规则改为 MATCH,Proxy(黑名单模式)。
三、策略组 (Proxy Group) 的影响
在规则的最后,我们会指定一个动作,通常是 DIRECT(直连)、REJECT(拒绝)或某个策略组(Proxy Group)的名字。
策略组是一个包含多个节点的集合,它可以是:
- Select(手动选择):由你手动点击选择使用哪个节点。
- URL-Test / Fallback / Load-Balance(自动选择):根据延迟、可用性或负载均衡自动选择节点。
排查重点 5:命中的策略组当前是否选择了有效的代理?
有时候,规则正确地将网站引向了名为 Proxy 的策略组,但该策略组在面板中被用户不小心选为了 DIRECT,或者当前自动选中的节点已经离线。这时候虽然规则匹配对了,但最终的表现依然是“不走代理”或“无法访问”。
四、规则集提供者 (Rule Provider) 的更新与缓存
为了避免配置文件过于庞大,现在的 Clash 配置通常使用 Rule Provider,即引用远程维护的规则集(例如 ACL4SSR 或 Loyalsoldier 的规则)。
当你发现某个新网站不走代理时,可能是因为它还没被收录到这些远程规则库中,或者是你本地的缓存没有更新。
排查重点 6:规则库过旧或覆盖不全。 你可以尝试在 Clash 客户端中点击“更新所有 Provider”或“更新订阅”。如果该网站非常小众,建议你通过用户自定义规则(例如在 Parsers 中添加,或使用客户端的自定义规则功能)手动将其设置为走代理,而不是等待上游作者更新。
五、实战:排查“某网站不走代理”的标准流程
当遇到这种问题时,不要盲目切换节点,请按照以下步骤进行科学排查:
第一步:确认 Clash 的运行模式
检查 Clash 客户端的面板,确保当前处于 “规则模式” (Rule Mode),而不是“直连模式” (Direct Mode) 或“全局模式” (Global Mode)。如果在直连模式下,所有的规则都将被无视,所有流量都会直连。第二步:查看 Clash 连接日志 (Connections Log)
这是排查问题的核心武器。 打开 Clash 客户端的“连接” (Connections) 页面,然后去浏览器中访问那个不走代理的网站。 在连接列表中找到该域名的记录,重点关注以下信息:- Rule (命中的规则):它显示的是哪个规则导致了这次分流。例如显示
DOMAIN-SUFFIX, example.com或者是GEOIP, CN。 - Chain / Destination (流量链/目标):它显示了流量最终去了哪里。是去了
DIRECT,还是去了某个具体的节点(例如HongKong 01)。
第三步:分析日志并对症下药
根据第二步查看到的日志,你可以分为以下几种情况处理:
情况 A:命中了 MATCH 规则,且去向了 DIRECT。
- 原因:你的配置文件采用的是“白名单机制”,该网站太小众,不在现有的代理规则库中。
- 解决:在你的配置上方手动添加一条自定义规则,例如:
DOMAIN-SUFFIX,该网站域名,Proxy(把 Proxy 换成你的策略组名称)。
情况 B:命中了 GEOIP, CN 规则,且去向了 DIRECT。
- 原因:该网站的域名没有被前面的 DOMAIN 规则捕获,Clash 对其进行了 DNS 解析。可能是 DNS 污染导致解析到了一个国内的假 IP,也可能该网站真的在使用国内的 CDN(但对于你的网络环境直连很慢)。
- 解决:不要依赖 IP 规则进行分流,最好的做法是直接用域名规则覆盖它。在规则靠前的位置添加
DOMAIN-SUFFIX,该网站域名,Proxy。
情况 C:命中了某条具体的 DOMAIN 规则,但去向是 DIRECT。
- 原因:由于历史原因或规则提供者的分类失误,该域名被明确指定为直连。或者该规则属于某个特殊的策略组(如
Apple Services),而你将该策略组设为了直连。 - 解决:检查客户端的策略组设置,看看对应的组是否被选成了
DIRECT。如果不是策略组的问题,那么需要利用自定义规则(在 provider 或其它规则之上)添加一条走代理的规则来“截胡”。
情况 D:命中了代理规则,但网页依然打不开。
- 原因:这不是分流问题,而是代理节点本身的问题(被墙、限速、目标网站屏蔽了该代理节点的 IP 从而返回 403 等)。
- 解决:在策略组中手动切换一个不同地区的节点,最好是原生 IP 节点重试。
结语
Clash 强大的分流能力建立在其精确的自上而下匹配机制之上。面对“规则模式下有的网站不走代理”的问题,核心的解决思路永远是:通过连接日志定位命中的规则,通过理解规则顺序(Rule Order)和匹配类型(DOMAIN/IP)来找出偏差,最后通过前置自定义规则或修改策略组来纠正流量走向。 掌握了这一套排查逻辑,你就能在面对任何分流异常时游刃干预。




