博客 / 产品更新 / Clash 规则怎么写:域名、IP、Ge…
Clash规则分流配置文件教程

Clash 规则怎么写:
域名、IP、GeoIP 分流完全指南

一份 Clash 配置文件里,规则是最核心的部分。这篇文章从零开始讲清楚规则语法,以及怎么组合出一套实用的分流方案。

大多数用户用代理客户端的方式是:导入机场给的订阅链接,然后开始用。这没有任何问题。但如果你想真正理解配置文件在做什么,或者想自己调整分流逻辑,就需要搞清楚规则(rules)这一节。

01 为什么需要规则

代理不是一个开关。你不会希望访问百度时流量绕到海外再回来,也不会希望访问 GitHub 时走国内网络。规则就是告诉客户端:对于某类流量,走代理还是直连,或者走哪个节点。

一份合理的规则配置通常实现这样的效果:

02 规则基本语法

每条规则的格式是三段:

规则类型,匹配值,策略

例如:

rules:
  - DOMAIN,google.com,Proxy
  - DOMAIN-SUFFIX,github.com,Proxy
  - IP-CIDR,192.168.0.0/16,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

规则从上到下匹配,第一条命中的规则生效,后面的规则不再判断。MATCH 是兜底规则,没有匹配值,必须放在最后。

常用规则类型一张表速查,后面几节再逐类展开:

规则类型匹配对象示例说明
DOMAIN精确域名DOMAIN,ads.example.com,REJECT只匹配这一个域名
DOMAIN-SUFFIX域名及其子域名DOMAIN-SUFFIX,google.com,Proxy最常用
DOMAIN-KEYWORD域名含关键词DOMAIN-KEYWORD,twitter,Proxy省事但易误伤
DOMAIN-REGEX正则匹配域名DOMAIN-REGEX,^ad\..*,REJECT开销大,非必要不用
IP-CIDR / IP-CIDR6IPv4 / IPv6 地址段IP-CIDR,192.168.0.0/16,DIRECT目标是域名时才需先解析
GEOIPIP 所属国家GEOIP,CN,DIRECT一行搞定国内直连
GEOSITE域名类别集合GEOSITE,category-ads-all,REJECT部分版本可用
MATCH全部(兜底)MATCH,Proxy必须放最后一行

03 域名类规则

DOMAIN:精确匹配完整域名。

- DOMAIN,ads.example.com,REJECT

只匹配 ads.example.com,不匹配 example.com 或 sub.ads.example.com。

DOMAIN-SUFFIX:匹配域名及其所有子域名。

- DOMAIN-SUFFIX,google.com,Proxy

匹配 google.com、www.google.com、mail.google.com 等所有以 .google.com 结尾的域名。这是最常用的域名规则类型。

DOMAIN-KEYWORD:匹配域名中包含关键词的请求。

- DOMAIN-KEYWORD,twitter,Proxy

匹配任何域名中含有 twitter 的请求,包括 twitter.com、api.twitter.com、cdn.twitter.com 等。精度比前两种低,但写起来最省事。

优先用 DOMAIN-SUFFIX 而不是 DOMAIN-KEYWORD。关键词匹配可能误伤不相关的域名——比如 DOMAIN-KEYWORD,you 会同时匹配 youtube.com 和任何含有 you 的域名。

DOMAIN-REGEX:正则表达式匹配。性能开销最大,非必要不用。

04 IP 类规则

IP-CIDR:匹配 IPv4 地址段。

- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT

这三条是局域网地址,直连是标准做法。

IP-CIDR6:IPv6 版本,用法相同。

- IP-CIDR6,::1/128,DIRECT
- IP-CIDR6,fc00::/7,DIRECT

IP 规则匹配的是目标 IP:目标本来就是 IP 时直接匹配,不需要解析;请求的是域名时,内核才会先把它解析出 IP 再匹配。系统代理模式下,不读取代理设置的应用不会经过内核,规则对它们不起作用;开 TUN 模式 可以把这些流量也接管进来。TUN 和 DNS 劫持是两回事:想让 DNS 请求也交给内核处理,还要另外打开 DNS 劫持。

05 GeoIP:一行搞定国内直连

手动维护几千条国内域名和 IP 是不现实的。GEOIP 规则通过离线的 GeoIP 数据库,判断一个 IP 属于哪个国家:

- GEOIP,CN,DIRECT

这一条规则等价于几千条 IP-CIDR 规则,把所有判断为中国 IP 的请求直连。

mihomo 可以自动下载并定期更新 GeoIP 数据库(Country.mmdb / geoip.dat);在 Terraka 里这一步已经内置,不需要手动维护(为什么现在都用 mihomo 内核,见 Clash 和 Clash.Meta 的区别)。

类似地,还有 GEOSITE 规则(在部分版本中可用),用于匹配特定地区或类别的域名集合:

- GEOSITE,CN,DIRECT
- GEOSITE,category-ads-all,REJECT

06 策略组与规则的关系

规则里的第三段(策略)可以是:

例如,你在 proxy-groups 里定义了一个叫 Proxy 的自动选择组:

proxy-groups:
  - name: Proxy
    type: url-test
    proxies:
      - 香港01
      - 日本01
      - 新加坡01
    url: http://www.gstatic.com/generate_204
    interval: 300

规则里写 - DOMAIN-SUFFIX,google.com,Proxy,命中时就会自动选这个组里延迟最低的节点。

07 一份可用的最小配置结构

下面是一份精简的规则结构,覆盖了大多数使用场景:

rules:
  # 局域网直连
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,172.16.0.0/12,DIRECT

  # 常用国内服务直连
  - DOMAIN-SUFFIX,baidu.com,DIRECT
  - DOMAIN-SUFFIX,qq.com,DIRECT
  - DOMAIN-SUFFIX,wechat.com,DIRECT
  - DOMAIN-SUFFIX,taobao.com,DIRECT
  - DOMAIN-SUFFIX,jd.com,DIRECT
  - DOMAIN-SUFFIX,bilibili.com,DIRECT

  # 常见需代理的服务
  - DOMAIN-SUFFIX,google.com,Proxy
  - DOMAIN-SUFFIX,youtube.com,Proxy
  - DOMAIN-SUFFIX,twitter.com,Proxy
  - DOMAIN-SUFFIX,github.com,Proxy
  - DOMAIN-SUFFIX,openai.com,Proxy

  # GeoIP 兜底:国内 IP 直连
  - GEOIP,CN,DIRECT

  # 其余全走代理
  - MATCH,Proxy

这个结构的逻辑是:先处理明确的直连(局域网、国内常用服务),再处理明确需要代理的服务,然后用 GeoIP 兜住剩余的国内 IP,最后所有未匹配的流量走代理。

实际使用中,机场提供的订阅文件通常已经包含了一套完整的规则,你不需要从头写。但理解了这套语法,就能在遇到问题时知道该在哪里调整——比如某个网站访问慢,加一条 DOMAIN-SUFFIX 改成 DIRECT;某个服务需要特定地区的节点,创建一个新的策略组。

规则写了不生效?先查这三点

  1. 顺序错了。 规则从上到下匹配、命中即停。一条 GEOIP,CN,DIRECT 放太靠前,会把本该走代理的域名提前直连掉——具体规则要放在兜底规则之前、且比更宽的规则更靠上。
  2. 改完没重载。 手动改了配置文件后,需要在客户端里重新加载配置(或重启内核)才生效;跟随订阅更新的改动,还会被下次更新覆盖。
  3. IP 规则没走 DNS。 IP-CIDR / GEOIP 匹配的是目标 IP:请求的是域名时,内核要先解析出 IP 才能命中,目标本来就是 IP 时不需要解析。系统代理模式下,不读取代理设置的应用不会经过内核,规则对它们不起作用;开 TUN 模式可以把这些流量也接管进来。

Terraka 的 mihomo 内核支持上述所有规则类型,包括 GEOIP、GEOSITE 和正则匹配。如果你有一份现有的 Clash 配置,可以直接导入。

下载 Terraka →

JL
江流
FOUNDING ENGINEER · 内核维护

负责 Terraka 内核与协议层。前 Tower 工程师。喜欢把规则引擎写到极致,也喜欢清晨的咖啡。

把 Terraka 装上吧。

免费,无需注册。Android 和 Windows 在官网直接下载,iOS 和 Apple 芯片 Mac 经 TestFlight 安装。

下载 Terraka v3.3.1 · 2026.10.06