为什么网站命中了错误的 DIRECT 或 PROXY 规则?

Clash 规则按顺序从上到下匹配,前面的规则一旦命中,后面的规则不会继续判断。应从连接记录找到实际命中项,再调整具体规则与 MATCH 的先后位置。

  • 规则分流
  • 故障排查
简要回答

Clash 规则按顺序从上到下匹配,前面的规则一旦命中,后面的规则不会继续判断。应从连接记录找到实际命中项,再调整具体规则与 MATCH 的先后位置。 把精确的 DOMAIN 或 DOMAIN-SUFFIX 移到通用规则前,重新加载后用同一请求验证,不一次调整整份规则表。

连接详情显示命中了哪条规则

在连接详情记录域名、目标 IP、命中的规则和最终策略,随后在配置中找到这条规则前面的更宽匹配。

  • 连接列表里显示的命中规则是什么
  • 域名规则是否写在 IP 规则之后
  • 是否被 PROCESS-NAME、DOMAIN-SUFFIX 或 GEOIP 提前命中
  • 最后的 MATCH 是否指向预期策略

把精确域名规则放到通用规则之前

  1. 在连接列表中找到目标域名和命中的规则
  2. 把更具体的 DOMAIN 或 DOMAIN-SUFFIX 放在通用规则前面
  3. 调整规则后重新加载配置
  4. 对 CDN 或多域名服务,需要同时处理主域名和资源域名

规则命中错误不一定是节点问题

IP-CIDR 规则依赖解析结果,和 DNS 配置有关(参见 DNS FAQ

规则越多越需要控制顺序和命名(参见 规则配置