教程 更新日期: 2026-06-15 阅读时间: 10 分钟

Clash 规则配置入门教程 | 从理解规则到自定义分流

从零学习Clash规则配置:理解DOMAIN、IP-CIDR、GEOIP等规则类型,学会编写自定义分流规则,实现国内直连国外代理。

目录

什么是规则分流

规则分流是 Clash 的核心功能。它根据你预先定义的规则,决定每一条网络流量走哪条路径:

典型的分流策略是:国内网站直连(速度快)、国外网站走代理(绕过限制)、广告域名拒绝(净化体验)。

规则匹配原理

Clash 的规则匹配是从上到下、逐条匹配的。当一条流量进入 Clash 时:

  1. 从规则列表的第一条开始检查。
  2. 如果匹配到某条规则,立即执行该规则指定的动作(DIRECT/Proxy/REJECT),不再继续检查后续规则
  3. 如果所有规则都不匹配,流量会交给最后一条 MATCH 规则处理。
关键原则:规则的顺序很重要。更具体、优先级更高的规则应该放在前面。例如,如果你想让 google.com 走代理,但 google.cn 直连,那 google.cn 的规则应该写在 google.com 的前面。

常见规则类型详解

DOMAIN / DOMAIN-SUFFIX

按域名匹配,最常用的规则类型:

# 示例
rules:
  - DOMAIN-SUFFIX,google.com,Proxy
  - DOMAIN-SUFFIX,youtube.com,Proxy
  - DOMAIN-SUFFIX,baidu.com,DIRECT
  - DOMAIN-SUFFIX,taobao.com,DIRECT

DOMAIN-KEYWORD

按域名中包含的关键词匹配:

注意:DOMAIN-KEYWORD 匹配范围较广,可能误匹配。建议优先使用 DOMAIN-SUFFIX。

IP-CIDR / IP-CIDR6

按 IP 地址段匹配:

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

GEOIP

根据 IP 的地理位置匹配,使用 MaxMind GeoIP 数据库:

# 典型用法:中国 IP 直连,其余走代理
rules:
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

SRC-IP-CIDR

按源 IP(本机 IP)匹配,用于区分不同设备的流量:

适用于路由器部署场景,不同设备走不同策略。

PROCESS-NAME

按发起连接的进程名匹配:

# 进程分流示例
rules:
  - PROCESS-NAME,chrome.exe,Proxy
  - PROCESS-NAME,firefox.exe,Proxy
  - PROCESS-NAME,WeChat.exe,DIRECT
  - PROCESS-NAME,discord.exe,Proxy
注意:PROCESS-NAME 在 TUN 模式下最可靠。系统代理模式下,部分应用可能被系统重写为系统进程名,导致匹配失效。此外,macOS 下需要使用完整路径名。

MATCH

兜底规则,匹配所有流量。必须放在规则列表的最后一位

规则编写实战

下面是一个实用的规则配置示例,实现「国内直连 + 国外代理 + 广告屏蔽」:

rules:
  # 广告域名拒绝
  - DOMAIN-KEYWORD,admarvel,REJECT
  - DOMAIN-KEYWORD,admaster,REJECT
  - DOMAIN-KEYWORD,adsage,REJECT
  - DOMAIN-KEYWORD,adsmogo,REJECT
  - DOMAIN-KEYWORD,adsrvmedia,REJECT
  - DOMAIN-KEYWORD,adwords,REJECT
  - DOMAIN-KEYWORD,analytics,REJECT

  # 常见代理域名
  - DOMAIN-SUFFIX,google.com,Proxy
  - DOMAIN-SUFFIX,googleapis.com,Proxy
  - DOMAIN-SUFFIX,youtube.com,Proxy
  - DOMAIN-SUFFIX,github.com,Proxy
  - DOMAIN-SUFFIX,twitter.com,Proxy
  - DOMAIN-SUFFIX,facebook.com,Proxy
  - DOMAIN-SUFFIX,instagram.com,Proxy
  - DOMAIN-SUFFIX,telegram.org,Proxy
  - DOMAIN-SUFFIX,t.me,Proxy

  # 常见直连域名
  - DOMAIN-SUFFIX,cn,DIRECT
  - DOMAIN-SUFFIX,baidu.com,DIRECT
  - DOMAIN-SUFFIX,qq.com,DIRECT
  - DOMAIN-SUFFIX,weixin.qq.com,DIRECT
  - DOMAIN-SUFFIX,taobao.com,DIRECT
  - DOMAIN-SUFFIX,jd.com,DIRECT
  - DOMAIN-SUFFIX,163.com,DIRECT
  - DOMAIN-SUFFIX,bilibili.com,DIRECT

  # 局域网直连
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT

  # 中国 IP 直连
  - GEOIP,CN,DIRECT

  # 兜底:其余走代理
  - MATCH,Proxy

Rule Provider 使用方法

手动维护大量规则很繁琐。Rule Provider(规则集提供器)允许你引用外部规则文件,自动保持更新:

# 在配置文件中定义规则集提供器
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400  # 每天更新一次

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

  lan:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lan.txt"
    path: ./ruleset/lan.yaml
    interval: 86400

  cncidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
    path: ./ruleset/cncidr.yaml
    interval: 86400

# 在 rules 中引用
rules:
  - RULE-SET,reject,REJECT
  - RULE-SET,proxy,Proxy
  - RULE-SET,direct,DIRECT
  - RULE-SET,lan,DIRECT
  - RULE-SET,cncidr,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,Proxy

推荐社区规则集

以下是社区维护的高质量规则集:

项目名称特点适用场景
Loyalsoldier/clash-rules每日自动更新,覆盖广告/代理/直连/局域网等通用场景
blackmatrix7/ios_rule_script规则全面,同时支持多种客户端格式多平台用户
ACL4SSR针对中国用户优化,分流精细国内用户

规则调试技巧

当你发现某个网站没有按预期分流时,可以用以下方法排查:

  1. 查看连接日志:在 Clash Verge Rev 的「Logs」面板中,将日志级别设为 debug,观察目标域名和匹配到的规则。
  2. 查看实时连接:在「Connections」面板中,可以看到每条连接匹配了哪条规则和哪个代理组。
  3. 使用 API 查询:Clash 提供了 RESTful API,可以查询特定域名的匹配结果:
    curl -s "http://127.0.0.1:9090/rules" | python -m json.tool
  4. 测试单条规则:临时将可疑规则移到最前面,测试是否生效。
掌握规则配置后,建议结合 DNS 防污染配置 一起使用,确保域名解析也不泄漏。完整安装配置可参考 Windows 安装指南