为什么「国内直连 + 海外代理」是主流用法?

许多用户第一次使用 Clash 时,会把「能上网」等同于「全部走代理」。这在短期内似乎省事,却会带来两个长期问题:国内网站绕路海外节点导致延迟升高、视频缓冲变慢;以及无谓消耗代理流量与节点带宽,套餐更快用尽。更合理的做法,是让访问大陆常用服务时尽量直连(DIRECT),仅在访问被墙站点、海外业务或需要特定出口时走代理策略组

Clash 系列内核(含 Mihomo / Clash Meta)通过 rules 自上而下匹配第一条命中的规则,再交给对应的策略(policy)执行。策略往往指向某个策略组(proxy-group),由你在图形界面或 YAML 里定义「手动选节点」「自动测速」「故障转移」等行为。理解这一链条,是做好分流的前提。

若你尚未导入订阅,可先完成订阅链接导入与节点拉取,再回到本文调整规则;否则只有空策略组、没有可用节点,规则写得再漂亮也无法落地。

规则匹配顺序:从上到下,第一条命中即停

这是分流里最容易被忽略、却最关键的一点:规则列表是有顺序的。内核从 rules: 的第一行开始逐条比对,一旦某条规则的条件满足,就采用该条指定的策略,不再继续向下匹配。因此,更具体、更需要优先处理的规则应写在前面;宽泛的兜底规则放在后面。

实践中推荐的思维顺序大致是:先放行局域网与本机特殊地址,避免把打印机、NAS、本机回环误送去代理;再处理明确要直连或明确要代理的域名或 IP;然后用 GEOIP 等大规则区分国内外;最后一条通常是 MATCH,指向你的默认策略组(例如「漏网之鱼」全部走代理或全部直连,取决于你的风险偏好)。

ℹ️
与 GUI 的关系:图形客户端里的「规则」页往往是对 rules 的可视化编辑。若你同时手改 YAML 与在界面里拖拽规则,注意保存时可能互相覆盖,建议固定一种主要维护方式。

策略组怎么设计:别把所有流量绑在一个「PROXY」上

常见模板里会出现名为 PROXY🚀 节点选择手动切换 等策略组,本质是一组可选节点加上选择逻辑。为了国内外分流,你至少需要:

  • 直连出口:策略为 DIRECT,表示不经代理,使用系统默认路由访问目标。
  • 代理出口:指向你的订阅节点池或嵌套的自动选择、负载均衡等子组。
  • (可选)国内专用组:有些规则集会把「国内视频、网银」等域名归到单独组,便于你在国内节点与直连之间二选一。

「最佳实践」并不是规则越多越好,而是策略语义清晰:你能一句话说清「这条规则为什么走 DIRECT、那条为什么走 PROXY」。当出现问题时,打开连接日志对照域名或 IP,也能快速判断是规则写错、DNS 解析异常,还是节点本身不可用。

域名类规则:DOMAIN、DOMAIN-SUFFIX、DOMAIN-KEYWORD

在主机名已确定的情况下,域名规则是最直观的一层。DOMAIN 精确匹配单个主机名;DOMAIN-SUFFIX 匹配后缀,适合覆盖某家服务的子域集群;DOMAIN-KEYWORD 按关键字匹配,覆盖面大但容易误伤,适合谨慎使用。

例如,你希望某海外站始终走代理,可以写 DOMAIN-SUFFIX,example.com,PROXY(具体策略名以你配置文件为准)。若某国内站点被错误送去代理,常见原因是上游规则集把它归到了「国外」或关键字规则过宽,此时可以在前部增加一条更优先的 DOMAIN 规则指向 DIRECT 进行覆盖。

注意:域名规则依赖正确的 DNS 解析结果。若本地 DNS 返回了错误或受污染的地址,规则可能在 IP 层再次与预期不符。这与 fake-ip、嗅探(sniffer)等配置有关,下文会简要提及。

IP 与地区规则:IP-CIDR、GEOIP

当连接目标已经是 IP,或你需要按网段批量分流时,会使用 IP-CIDRIP-CIDR6。典型用途包括:把局域网段、组播地址设为直连,以及为已知 CDN 网段写固定策略。

GEOIP 则根据 IP 归属地判断流量走向,常用于「中国大陆 IP 直连,其余走代理」这类粗粒度分流。使用前请确认规则文件或内核已包含对应的 GeoIP 数据库,且版本不会过旧;数据库长期不更新可能导致误判增多。

⚠️
CDN 与跨境业务:同一域名在不同地区可能解析到不同 IP。若你发现「国内 App 仍走代理」或「海外站走了直连」,先查实际解析到的 IP 与命中规则,再决定是加 DOMAIN 规则还是调整 DNS。

rule-providers:用规则集减少手写维护量

手写几百行 DOMAIN 不现实。rule-providers 允许你从远程 URL 或本地文件加载规则集,并在 rules 里以 RULE-SET 形式引用。社区维护的 ACL4SSR、各类「直连/代理」列表,本质都是把大量域名或 IP 分类打包,由你决定每一类对应 DIRECT 还是 PROXY

使用规则集时建议关注三点:来源可信度(避免引用不明第三方)、更新频率与体积(过大规则集可能影响启动与内存)、以及与自身策略命名一致(规则里写的策略组名必须在 proxy-groups 中存在)。

下面是一段仅供理解结构的示意,实际字段名请对照你所用 Mihomo 版本文档,勿盲目整段复制到生产环境。

# Example only — align with your Mihomo version
rule-providers:
  cn_direct:
    type: http
    behavior: domain
    url: "https://example.com/rules/cn.yaml"
    path: ./ruleset/cn.yaml
    interval: 86400

rules:
  - RULE-SET,cn_direct,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

DNS 与规则:分流是「域名 + IP」两条线的配合

仅写好 rules 并不等于万事大吉。DNS 模式(如 redir-hostfake-ip)会改变「何时解析、谁来解析、解析结果给谁用」。在 fake-ip 模式下,部分连接会先拿到本地虚拟 IP,再通过嗅探还原域名做规则匹配;若嗅探与规则不协调,可能出现个别站点证书报错或策略不符合预期。

实操建议是:先在你能接受的模式下跑通「国内直连、海外代理」大框架,再针对异常域名做单独 DOMAIN 规则或 DNS 微调。若你启用了 TUN 模式,DNS 与路由往往绑定更紧,更要注意避免 DNS 环路或劫持冲突。

常见误区与排查顺序

误区一:国内网站慢或打不开,却先换节点。应先确认该请求是否被错误匹配为代理,或 DNS 是否解析到了异常 IP。换节点往往解决不了规则或 DNS 层面的问题。

误区二:规则抄了很多条,但顺序反了。记住「自上而下第一条命中」,把兜底类 GEOIP、MATCH 放在后面,细粒度规则放在前面。

误区三:忽略局域网与系统更新地址。部分规则模板会包含 GEOIP,private,DIRECT 等,若缺失,可能导致内网资源异常。请结合自己的网络环境检查。

推荐的排查顺序是:在客户端连接日志中确认域名 / IP、命中规则名、所用策略组是否一致;再检查对应策略组内节点是否可用;最后才考虑协议、UDP、TUN 等进阶因素。更系统的安装与基础概念也可对照全平台安装与配置教程

写在最后

好的规则分流,本质是在可控复杂度内,让流量走最符合你使用习惯的路径:日常影音、购物、政务类站点尽量直连,减少绕路;需要稳定跨境访问的应用再走代理。随着 Mihomo 与图形客户端持续更新,规则集与策略组的维护成本已比早年纯手写 YAML 时低得多,但仍需要你理解「顺序、策略、DNS」三者的关系,才能在出问题时快速定位。

相比零散搜索过时片段,使用一体化维护良好的客户端与内核组合,能在规则兼容性与安全更新上省心不少。若你还没有合适的安装包,可从我们的客户端下载页获取当前系统对应的版本,再按本文思路逐步打磨自己的分流方案。→ 立即免费下载 Clash,开启流畅上网新体验