很多人第一次把 Clash 跑通,靠的是机场内置好的「开箱配置」:RULE(规则)模式一开,仿佛国内外网站都「刚好够用」。但一旦遇到银行站打不开、CDN 混合站点偶发变慢、或是在公司内网环境与家庭宽带之间切换时出现奇怪的路由现象,你才会发现——真正决定体验的,往往不是节点延迟,而是每一条规则从上到下如何裁决流量。本文从零梳理 Clash 规则分流的结构与常见写法,让你在「境外走代理、境内尽量直连」这条主线上少走弯路。

如果你还不太熟悉 YAML 从哪里来、订阅如何导入,可以先阅读本站《Clash 完整配置教程:从订阅链接到规则分流一步到位》把基础流程补上;本篇默认你已经能加载一份有效配置,并准备在规则层面做理解与微调。

先做选择题:RULE、GLOBAL、DIRECT 分别在干什么

配置文件里除了有 rules: 段落,还会在客户端出现一个「代理模式」或 Mode 开关。只有处于 RULE(规则)模式(或内核/界面中的等价名称)时,你精心写的 rules 才会参与决策;GLOBAL 模式通常表示「几乎全体流量直接从当前选定的策略组出站」,等价于把整个系统临时绑到某个代理节点上做排障;而 DIRECT / 直连则是在应用层跳过代理链路,常用于确认断网到底是不是代理链路本身出问题。

许多新手误以为「我只要导入订阅就会自动分流」,结果却长期停在 GLOBAL;或是移动客户端为了省电被误触成全局直连。排障时请养成习惯:先看模式,再看日志里命中的策略名。

关键机制:规则是「从上到下」第一条命中即停

Clash 家族的内核对 rules 的处理方式可以概括成一句话:从列表顶端开始逐条尝试,第一次匹配成功就采用该条目的策略,不再继续向下。因此,同一条访问请求「看起来应该直连」却在境外节点绕了一圈,往往并不是内核抽风,而是更靠前的一条规则已经把它送给了代理组。

实战含义有两条:其一,更具体、更想优先保证结果的规则应放在更靠上的位置;其二,过于宽泛的代理规则如果放在顶部,会吞掉后面所有针对国内优化的条目。你会在不少机场配置里看到数千行规则,本质就是维护者在不断调整「哪些域名必须提前点名走哪条路」。

小提示:调试时打开客户端里的连接记录或内核日志,观察每次请求对应的域名、目标 IP、命中的规则和最终策略名称,比在 YAML 里盲改要快得多。

常见规则类型速查:DOMAIN、IP 与 GEOIP

下面这些类型在 Mihomo(原 Clash Meta)与原 Clash 系内核里都极为常见(具体是否支持某项扩展请以你所用内核文档为准):

  • DOMAIN:精确匹配单个主机名,例如只允许 www.example.com,不会因为多一个子域就误伤。
  • DOMAIN-SUFFIX:匹配「以某一后缀结尾」的域名树,常用于一次性覆盖某厂整套业务域。
  • DOMAIN-KEYWORD:主机名中包含某关键字即命中,粒度粗,容易误匹配,只适合临时救火。
  • IP-CIDR / IP-CIDR6:按前缀匹配 IPv4 / IPv6 段,常用于指定机房、CDN 固定出口或对既知 IP 做硬指派。
  • GEOIP:把目标解析得到的 IP(或等价信息)与国家地区库比对,例如 GEOIP,CN,DIRECT 在大陆场景里承担大量「兜底直连」的活。
  • PROCESS-NAME / PROCESS-PATH(视内核与平台):按发起进程决定是否走代理;适合把下载器、脚本工具单拎出来。
  • MATCH:字面意思是「剩下的全归我」,必须放在 rules 列表末尾,写法通常是 MATCH,<某个代理组>

DIRECT 本身就是一个合法「策略」(表示不经由远程代理出站),它和代理组并列出现在规则末尾;不要被名字误导——写 DIRECT 仍然是完整命中结果,同样需要你在 proxy-groups 或其它策略体系里能理解其含义。

规则和策略组:为什么规则末尾总写着一长串英文

每一条规则形如 RULETYPE,PARAM,POLICY,最后一位 POLICY 在多数配置里会看到 🔰 节点选择PROXYFALLBACK 之类名字。这些名字必须与你的 proxy-groups 里定义的组名完全一致(包括中英文与 emoji)。如果你在 UI 改名了但未同步远端订阅,轻则规则指向不存在的组导致启动失败,重则静默回落到意想不到的默认出站。

机场常见的策略组语义包括:延迟测速自动选路(类似 url-test)、主备 failover手动点选某一个节点。理解了「规则只负责把人领到门口,而真正走哪条线由策略组和节点.health 决定」,你会更容易读懂一份他人写好的 YAML。

中国大陆用户最关心的:怎样让「国内更像国内」

「国内外流量各走各路」在大陆网络环境下,九成场景可以概括为三层逻辑:

  1. 点对点照顾:把明确该直连或该走代理的业务域写到列表前部——例如局域网、网银、校内系统、公司内部域名等常见需要直连的网站;对必须穿透审查或访问受限服务的域名则指向代理组。
  2. GEOIP 批量裁决:在靠前的专项规则之后,追加 GEOIP,CN,DIRECT,让被判为中国大陆的 IP尽量不落代理链路,减少绕路。
  3. 兜底:最后一行 MATCH 决定「没被前面任何条目点名的访客」何去何从;许多模板把它指向代理组,意味着「未知的境外流量默认走出去」。如果你发现大量国内长尾站点被误送走,往往不是 MATCH 有错,而是 GEOIP / 前置域名规则不够用或 DNS 信息干扰了路由判断。
# Pseudo-example: illustrative only — replace group names with yours
rules:
  - DOMAIN-SUFFIX,cn,DIRECT
  - DOMAIN-SUFFIX,steamcontent.com,DIRECT
  - DOMAIN-SUFFIX,google.com,🚀 节点选择
  - GEOIP,CN,DIRECT
  - MATCH,🚀 节点选择

上面是一段极度简化的示意请勿照抄为你的生产配置的唯一依据。真实环境里你会遇到 CDN 境内外混合解析、Quic、HTTP3、拆分隧道与多端 DNS 等多重变量,请以现场日志为准逐步收紧。

注意GEOIP,CN,DIRECT 依赖 GeoIP(或等价)数据集。内核若提示数据库缺失或过旧,请先更新二进制附带的 geo 文件或通过客户端提供的更新入口同步,否则「国内 IP 批量直连」不会发生。

DNS 与规则:看起来像路由问题,其实是解析先行

Clash 系客户端常常在配置里单列 DNS 段落,并支持 fake-ip 与若干增强模式。同一域名,解析得到不同 IP,会彻底改变后续 GEOIP 与大陆直连策略是否命中。如果你看到浏览器「能开」而某些 App 不行,或同一 Wi‑Fi 下手机与电脑行为不一致,先把 DNS 模式、是否启用 redir-host / fake-ip、以及系统是否强制 DoH/私人 DNS 这几项列进检查表。

一条务实建议:先把规则与模式调顺,再动 DNS 高级选项。否则你会在「规则明明写了直连」与「解析结果其实落在境外」之间反复横跳。

维护成本太高?认识规则集与工作流(可选进阶)

手工维护成千上万行 DOMAIN-SUFFIX 不现实——社区与机场大量使用 外链规则集(在 Meta / Mihomo 系里常与 rule-providers 绑定),周期性拉取、本地缓存并与主配置拼接。对你来说,先要建立心智模型:规则集不是魔法,只是把「他人维护好的前缀列表」自动展开进你的匹配管线。若你的客户端支持图形化勾选不同规则包,本质是帮你改写了这一部分 YAML。

典型症状对照:你的分流可能哪里松了螺丝

  • 国内视频站缓冲但测速不慢:可能是流量误走跨境出口,CDN 将你调度到较远节点——对照日志是否为 DIRECT。
  • 境外站间歇性打不开:检查代理组里是单节点还是 failover;若只有你一个人出问题,多数是节点 ICMP 看起来好但 TCP 不稳。
  • 只有个别 App 异常:考虑分应用代理、进程名规则、或该 App 自带证书钉扎 / 不受系统代理约束。
  • 规则改完似乎没生效:确认已重载配置、模式确为 RULE,且没有其它本地覆写层(例如企业 MDM 策略)抢在 Clash 之前接管。

常见问题简答

可以把「所有未识别流量」默认直连吗? 可以,把最后一行 MATCH 指到 DIRECT 即可,但代价是大量长尾境外站点不会自动走代理,适合你明确自己只在少数域名上需要代理的高级用户。

规则写错会不会把电脑搞断网? 典型后果是启动校验失败或启动后大量连接超时,很少出现「永久损坏系统网络栈」这种戏剧化结果。仍建议改动前备份整份 YAML。

手机与桌面可以共用一套分流思想吗? 可以,策略组命名与规则结构可以高度一致;差异主要在系统权限、VPN 接口与厂商省电策略,具体可见本站其他平台专文。

为什么复杂分流场景仍值得放在 Clash 体系里做

不少「一键连接」类工具把规则与出口藏在黑盒里,短期省心,却让你在「为什么只有这个 App 慢」「为什么同一 Wi‑Fi 下表现忽好忽坏」时完全失去抓手;还有一些闭源客户端长期不跟进新协议或 Geo 数据,外在表现就是「配置看着对,实际命中全乱套」。相比之下,仍在积极维护的 Clash 系路线把模式、策略组、规则与 DNS拆成可读层次,配合连接日志,你能快速判断问题属于「规则顺序」「解析结果」还是「节点本身」,而不必在界面里反复试错。

如果你已经读到这里,说明你需要的不只是「能连上」,而是把国内外流量真正分开治理——这正是规则分流的长期价值。接下来不妨从一份可信渠道提供的现成配置出发,用日志验证命中,再按自己的上网习惯逐步前移或增补规则;需要换用支持新内核与更完善规则能力的客户端时,可以直接从本站下载页获取当前维护线版本,与本文思路无缝衔接。

立即免费下载 Clash,开启流畅上网新体验 →