分流规则是Clash最强大的功能之一,它可以根据目标网站、IP地址、进程名称等条件,自动决定流量是直连还是走代理。合理配置分流规则,不仅能节省流量,还能提升访问速度。本文将详细讲解Clash分流规则的各种类型和配置方法。

为什么需要分流规则?

如果不使用分流规则,要么全部流量走代理(浪费流量,国内网站变慢),要么全部直连(无法访问国外网站)。分流规则解决了这个痛点:

Clash规则类型详解

1. DOMAIN规则 - 精确域名匹配

语法:DOMAIN,域名,策略

示例:

DOMAIN,google.com,PROXY
DOMAIN,baidu.com,DIRECT

说明:精确匹配域名,只对完全一致的域名生效。例如DOMAIN,google.com只匹配google.com,不匹配www.google.com或mail.google.com。

适用场景:针对特定域名设置策略,通常用于特殊需求。

2. DOMAIN-SUFFIX规则 - 域名后缀匹配

语法:DOMAIN-SUFFIX,域名后缀,策略

示例:

DOMAIN-SUFFIX,google.com,PROXY
DOMAIN-SUFFIX,githubusercontent.com,PROXY
DOMAIN-SUFFIX,cn,DIRECT

说明:匹配域名及其所有子域名。DOMAIN-SUFFIX,google.com会匹配google.com、www.google.com、mail.google.com等所有子域名。

适用场景:最常用的规则类型,适合为整个网站及其子域名设置统一策略。

3. DOMAIN-KEYWORD规则 - 域名关键词匹配

语法:DOMAIN-KEYWORD,关键词,策略

示例:

DOMAIN-KEYWORD,google,PROXY
DOMAIN-KEYWORD,youtube,PROXY
DOMAIN-KEYWORD,gov,DIRECT

说明:只要域名中包含关键词就匹配。DOMAIN-KEYWORD,google会匹配google.com、google.co.jp、googlevideo.com等所有包含google的域名。

适用场景:批量匹配相关网站,但要注意可能误匹配,例如DOMAIN-KEYWORD,ad会匹配广告域名,但也会匹配loading.com。

4. GEOIP规则 - IP地理位置匹配

语法:GEOIP,国家代码,策略

示例:

GEOIP,CN,DIRECT
GEOIP,US,PROXY
GEOIP,PRIVATE,DIRECT

说明:根据目标IP的地理位置判断。GEOIP,CN表示所有中国大陆的IP地址直连。Clash内置GeoIP数据库,会自动查询IP归属地。

适用场景:作为兜底规则,处理没有被域名规则匹配的流量。配合域名规则使用效果最佳。

💡 提示:GEOIP,PRIVATE表示私有IP地址(如192.168.x.x、10.x.x.x),这些地址通常是局域网设备,应该直连。

5. IP-CIDR规则 - IP段匹配

语法:IP-CIDR,IP段,策略

示例:

IP-CIDR,192.168.0.0/16,DIRECT
IP-CIDR,10.0.0.0/8,DIRECT
IP-CIDR,8.8.8.8/32,PROXY

说明:匹配特定IP段。使用CIDR表示法,/16表示前16位是网络位,/32表示单个IP地址。

适用场景:为特定IP或IP段设置专属策略,常用于内网地址直连。

6. PROCESS-NAME规则 - 进程名匹配(仅部分客户端支持)

语法:PROCESS-NAME,进程名,策略

示例:

PROCESS-NAME,Telegram.exe,PROXY
PROCESS-NAME,WeChat.exe,DIRECT
PROCESS-NAME,chrome.exe,PROXY

说明:根据发起请求的进程名称匹配。只有Clash Premium等高级版本支持。

适用场景:为特定应用程序设置专属策略,例如让Telegram始终走代理,微信始终直连。

7. MATCH规则 - 兜底规则

语法:MATCH,策略

示例:

MATCH,PROXY
# 或
MATCH,DIRECT

说明:匹配所有未被前面规则匹配的流量,必须放在规则列表的最后。相当于默认策略。

适用场景:作为最后一条规则,处理所有遗漏的流量。

规则优先级

Clash按照配置文件中规则的从上到下的顺序匹配,一旦匹配成功就不再继续匹配。因此规则顺序非常重要:

  1. 特殊规则在前:将需要特殊处理的域名、IP放在最前面
  2. 常规规则在中:大量域名后缀、关键词规则放在中间
  3. 地理规则在后:GEOIP规则放在域名规则之后
  4. 兜底规则最后:MATCH规则必须是最后一条

GeoIP分流深度解析

GeoIP分流是Clash分流的核心,它通过查询IP地址的地理位置实现自动分流。

GeoIP工作原理

  1. 客户端发起请求到某个域名
  2. Clash的DNS解析器查询该域名的IP地址
  3. 查询GeoIP数据库,确定IP所属国家/地区
  4. 根据GEOIP规则决定该IP是直连还是代理

GeoIP数据库更新

Clash内置的GeoIP数据库会定期更新。如果发现某些IP判断不准确,可以手动更新:

GeoIP分流最佳实践

# 先匹配特殊域名
DOMAIN-SUFFIX,github.com,PROXY
DOMAIN-SUFFIX,githubusercontent.com,PROXY

# 然后是国内域名
DOMAIN-SUFFIX,cn,DIRECT
DOMAIN-SUFFIX,baidu.com,DIRECT
DOMAIN-SUFFIX,qq.com,DIRECT

# 接着用GeoIP处理IP流量
GEOIP,CN,DIRECT
GEOIP,PRIVATE,DIRECT

# 最后是兜底规则
MATCH,PROXY

实战案例:配置一套完整的分流规则

以下是一套适合大多数用户的分流规则配置:

rules:
  # 局域网地址直连
  - DOMAIN-SUFFIX,local,DIRECT
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,172.16.0.0/12,DIRECT
  - IP-CIDR,127.0.0.0/8,DIRECT

  # 常见广告域名拦截(可选)
  - DOMAIN-KEYWORD,adservice,REJECT
  - DOMAIN-SUFFIX,googleads.g.doubleclick.net,REJECT

  # 必须走代理的服务
  - DOMAIN-SUFFIX,google.com,PROXY
  - DOMAIN-SUFFIX,youtube.com,PROXY
  - DOMAIN-SUFFIX,facebook.com,PROXY
  - DOMAIN-SUFFIX,twitter.com,PROXY
  - DOMAIN-SUFFIX,instagram.com,PROXY
  - DOMAIN-SUFFIX,telegram.org,PROXY
  - DOMAIN-SUFFIX,github.com,PROXY
  - DOMAIN-SUFFIX,githubusercontent.com,PROXY

  # 流媒体服务
  - DOMAIN-SUFFIX,netflix.com,PROXY
  - DOMAIN-SUFFIX,disney.com,PROXY
  - DOMAIN-SUFFIX,hulu.com,PROXY

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

  # 中国大陆IP直连
  - GEOIP,CN,DIRECT
  - GEOIP,PRIVATE,DIRECT

  # 其他流量走代理
  - MATCH,PROXY

混合配置:多订阅源与策略组

Clash支持策略组(Proxy Groups),可以为不同类型的流量选择不同的节点组。

常见策略组类型

策略组配置示例

proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - 自动选择
      - 香港节点
      - 美国节点
      - 日本节点

  - name: 自动选择
    type: url-test
    proxies:
      - 香港-01
      - 香港-02
      - 美国-01
    url: 'http://www.gstatic.com/generate_204'
    interval: 300

  - name: 香港节点
    type: select
    filter: '香港|HK|Hong Kong'

  - name: 流媒体
    type: select
    proxies:
      - 美国节点
      - 日本节点

然后在规则中引用策略组:

rules:
  - DOMAIN-SUFFIX,netflix.com,流媒体
  - DOMAIN-SUFFIX,youtube.com,PROXY
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

常见问题与解决

1. 某网站分流不正确

排查方法:

2. GeoIP判断不准确

解决方法:

3. 规则太多导致性能下降

优化建议:

高级技巧:使用Rule Providers

Rule Providers允许你从外部文件或URL加载规则,避免配置文件过于臃肿:

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

rules:
  - RULE-SET,reject,REJECT
  - RULE-SET,proxy,PROXY
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

这样规则会自动从网络更新,无需手动维护。

总结

Clash的分流规则功能强大且灵活,掌握以下要点可以配置出高效的分流方案:

  1. 理解规则类型:域名规则处理已知网站,GeoIP规则处理IP流量
  2. 注意规则顺序:特殊规则在前,通用规则在后,兜底规则最后
  3. 合理使用策略组:为不同场景配置不同的节点组
  4. 定期维护更新:删除无效规则,更新GeoIP数据库
  5. 善用外部规则集:减少配置文件体积,实现自动更新

通过合理配置分流规则,你可以让Clash自动判断哪些流量走代理、哪些直连,既节省流量又提升速度,真正实现智能科学上网。

🚀 开始使用:访问赔钱机场官网,我们的订阅配置已内置优化的分流规则,开箱即用。