Clash规则集rule-set使用教程,3步实现智能分流

本文详解Clash规则集配置方法,涵盖代理组类型选择、TUN模式与系统代理区别、分流规则语法,并通过实际YAML示例演示完整配置流程,帮助用户快速掌握智能流量分配。

什么是Clash规则集

规则集(rule-set)是Clash配置中用于声明式定义分流逻辑的核心机制,相比传统rules逐条书写,rule-set支持引用外部规则文件,实现配置模块化和实时更新,掌握规则集写法,是进阶Clash使用的关键。

1 规则集文件格式

Clash规则集采用YAML或JSON格式存储,常见结构如下:

payload:
  - DOMAIN-SUFFIX,example.com,Proxy
  - DOMAIN-KEYWORD,google,Proxy
  - IP-CIDR,8.8.8.8/32,Proxy,no-resolve
  - GEOIP,CN,Direct

2 获取规则集途径

  • 开源项目:Loyalsoldier/clash-rules、ACL4SSR等提供维护良好的规则集
  • 自建规则:根据业务需求自定义规则文件,托管于GitHub或私有服务器

规则集配置步骤

准备规则集文件

下载或创建规则集YAML文件,确保payload字段格式正确,建议使用开源规则集并定期同步更新。

在配置中声明rule-set-provider

rule-set-providers:
  adblock:
    type: file
    behavior: domain
    path: ./rules/adblock.yaml
  direct:
    type: http
    behavior: ipcidr
    url: https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Direct.list
    interval: 86400

在rules中引用规则集

rules:
  - RULE-SET,adblock,REJECT
  - RULE-SET,direct,Direct
  - MATCH,Proxy

代理组类型选择

Clash代理组决定节点选择策略,需根据使用场景选择:

类型 语法 适用场景
select type: select 手动指定节点,适合高级用户
url-test type: url-test 自动测速选择延迟最低节点
fallback type: fallback 优先使用首个可用节点,故障自动切换
proxy-groups:
  - name: Auto-Group
    type: url-test
    proxies:
      - Node1
      - Node2
      - Node3
    url: http://www.gstatic.com/generate_204
    interval: 300

TUN模式与系统代理区别

  • 系统代理:仅接管HTTP/HTTPS流量,配置简单,适合浏览器访问
  • TUN模式:通过虚拟网卡接管所有流量(包括UDP、游戏),需在内核配置中启用
dns:
  enable: true
  listen: 0.0.0.0:53
tun:
  enable: true
  stack: system
  dns-hijack:
    - 8.8.8.8
  auto-route: true

跨境办公需求场景下,TUN模式能更好满足全流量代理需求。

分流规则语法

常见规则类型

  • DOMAIN:精确域名匹配
  • DOMAIN-SUFFIX:域名后缀匹配
  • DOMAIN-KEYWORD:域名关键词匹配
  • IP-CIDR:IP段匹配
  • GEOIP:IP地理位置匹配

规则优先级

规则自上而下匹配,命中后立即执行,建议将精确规则置于通用规则前。

FAQ

现象:节点正常但无法访问特定网站

原因:规则配置错误或规则集未更新

解决方法:检查rules中规则顺序,确认规则集payload格式正确,尝试更新规则集文件


掌握规则集配置后,可根据不同节点类型(直播/游戏/办公)灵活调整分流策略,建议定期维护规则集,确保跨境访问体验持续优化。

您可以还会对下面的文章感兴趣: