在使用 Clash 系列客户端时,最核心的体验莫过于"自动化分流"。无论是访问国内网站时的丝滑直连,还是访问海外服务时的稳定加速,背后都离不开一套精心编写的代理规则(Rules)。2026 年,随着 Clash Meta (Mihomo) 内核的普及,规则语法也得到了极大的增强。本文将深入解析 Clash 的核心规则语法,重点剖析 DOMAIN-SUFFIX、IP-CIDR 以及 RULE-SET 的实战用法,助你从"伸手党"进阶为"配置高手"。
一、核心原则:规则匹配的先后顺序
在开始学习具体语法前,必须牢记 Clash 规则引擎的第一准则:从上到下执行,首次匹配即停止。
这意味着规则的排列顺序至关重要。如果你的第一条规则是 MATCH,DIRECT,那么无论后续规则如何编写,所有流量都会直连。正确的逻辑通常是:
- 广告/追踪过滤:放在最顶端(REJECT)。
- 精确域名匹配:针对特定域名的个别处理(DOMAIN)。
- 关键词匹配:处理包含特定字符的域名(DOMAIN-KEYWORD)。
- 后缀匹配:处理整个域名及其子域名(DOMAIN-SUFFIX)。
- IP 地址/地理位置匹配:作为域名的补充匹配(IP-CIDR / GEOIP)。
- 默认规则:放在最后(MATCH)。
二、域名规则详解:DOMAIN、SUFFIX 与 KEYWORD
域名匹配是 Clash 最常用的分流手段,能够最直接地根据你访问的网站决定走哪个策略组。
2.1 DOMAIN:精确匹配
- DOMAIN,www.google.com,Proxy
这条规则仅匹配 www.google.com。如果是 mail.google.com,则不会命中。这通常用于对某个特定子域进行特殊处理。
2.2 DOMAIN-SUFFIX:后缀匹配(最推荐)
- DOMAIN-SUFFIX,google.com,Proxy
这是分流配置中的"劳模"。它会匹配 google.com 及其下所有的子域名,如 www.google.com、images.google.com、drive.google.com 等。在绝大多数场景下,使用 SUFFIX 是最高效且覆盖面最广的选择。
2.3 DOMAIN-KEYWORD:关键词匹配
- DOMAIN-KEYWORD,google,Proxy
只要域名中包含 google 这个字符串(如 google.hk、googleblog.com),就会命中。注意,由于匹配范围过广,不当使用可能导致国内包含该关键字的网站也被误分流。
三、IP 规则详解:IP-CIDR 与 GEOIP
有时候,某些应用访问的是纯 IP 地址而非域名,或者某些域名未被包含在规则库中,这时就需要 IP 规则来兜底。
3.1 IP-CIDR:IP 段匹配
- IP-CIDR,1.1.1.1/32,Proxy,no-resolve
1.1.1.1/32 表示具体的 IP 地址。/24 则表示一个 C 段网段。这里的关键点在于可选参数 no-resolve。
no-resolve,Clash 则不会在匹配此规则时进行 DNS 解析。这在防止 DNS 泄漏(DNS Leak)和减少不必要的 DNS 请求方面非常有用。通常对于纯 IP 访问的流量,建议加上此参数。
3.2 GEOIP:国家/地区匹配
- GEOIP,CN,DIRECT
Clash 会查询 IP 地理位置数据库(通常是 mmdb 文件)。如果目标 IP 属于中国(CN),则走直连(DIRECT)。这是实现"国内网站直连"最有效的兜底手段。配合 no-resolve 使用可以进一步优化性能。
四、RULE-SET:外部规则集实战
手动在配置文件里写几百行 DOMAIN-SUFFIX 是不现实的。2026 年的主流做法是使用 RULE-SET(在 Meta 内核中由 rule-providers 支持)。
4.1 为什么要使用 RULE-SET?
它将成千上万条规则保存在外部文件中,Clash 启动时自动下载或按需加载。这样你的配置文件可以保持精简,且规则能够跟随维护者动态更新(比如 Loyalsoldier 的规则集)。
4.2 配置示例
首先在 rule-providers 中定义来源:
rule-providers:
proxy:
type: http
behavior: domain
url: "https://example.com/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
然后在 rules 中引用:
rules:
- RULE-SET,proxy,Proxy Group
- GEOIP,CN,DIRECT,no-resolve
- MATCH,Proxy Group
五、进阶实战:构建精准的分流体系
一个健壮的 2026 年 Clash 配置,应该如何组合这些规则?以下是一个实战模版:
rules:
# 1. 局域网绕过
- DOMAIN-SUFFIX,local,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
# 2. 外部规则集精准分流
- RULE-SET,advertising,REJECT
- RULE-SET,private,DIRECT
- RULE-SET,apple,DIRECT
- RULE-SET,google,Proxy
- RULE-SET,telegram,Proxy
# 3. 地理位置兜底
- GEOIP,CN,DIRECT,no-resolve
# 4. 全局兜底
- MATCH,Final Proxy
在这个体系中,我们先排除了局域网流量,然后通过维护良好的外部规则集处理大部分已知服务(Apple、Google、Telegram),接着利用 GEOIP 将剩余的中国区 IP 流量导向直连,最后将所有无法识别的流量全部送往代理。这种"白名单+地理位置分层"的逻辑是目前公认的最佳实践。
六、总结与建议
理解 Clash 的代理规则语法,不仅是为了解决"能不能用"的问题,更是为了解决"好不好用"的问题。通过合理配置 DOMAIN-SUFFIX 减少匹配开销,利用 IP-CIDR 的 no-resolve 防止解析延迟,再配合 RULE-SET 实现规则的自动维护,你可以获得真正无感的上网体验。
当然,如果你觉得维护复杂的 YAML 配置文件过于繁琐,或者在处理 rule-providers 的更新时经常遇到网络问题,使用一个高度集成的图形客户端会是更好的选择。我们的 Clash 客户端 不仅内置了 2026 年最先进的 Meta 内核,还预设了经过深度优化的规则分流方案,支持一键切换策略。无论你是需要极致定制的高级玩家,还是追求开箱即用的普通用户,都能在这里找到最顺手的配置方案。