Clash规则集rule-set使用教程,配置语法与分流策略全解

本文详细讲解Clash规则集的定义、引用方式及分流优先级,结合代理组类型与TUN模式对比,帮助用户构建高效的跨境访问规则。

什么是Clash规则集

规则集(rule-set)是Clash配置中用于组织分流逻辑的外部规则文件,通过将复杂规则模块化,用户可以独立维护不同用途的规则组,提升配置可读性与复用性,规则集文件通常托管在GitHub或自建服务器,格式为YAML或自制格式。

规则集的基本语法

在Clash配置中,规则集使用rules字段下的RULE-SET类型声明:

rules:
  - RULE-SET,ads-block,REJECT
  - RULE-SET,streaming,PROXY
  - RULE-SET,cn-direct,DIRECT
  - DOMAIN-SUFFIX,google.com,PROXY
  - GEOIP,CN,DIRECT

其中ads-blockstreaming为规则集名称,REJECTPROXYDIRECT为规则动作。

代理组类型与适用场景

Clash代理组决定流量如何分配到具体节点,理解三种核心类型是配置关键:

代理组类型 语法 适用场景
select type: select 手动选择节点,需用户主动切换
url-test type: url-test 自动选择延迟最低的节点
fallback type: fallback 优先使用列表中首个可用节点

select适合对节点有明确偏好的用户;url-test适合日常上网,自动选择最优线路;fallback适合需要稳定连接的场景,如远程办公。

TUN模式与系统代理的区别

TUN模式创建虚拟网卡,直接接管设备所有流量,包括UDP数据包和游戏流量,系统代理仅处理HTTP/HTTPS请求,无法代理游戏或UDP协议的应用。

启用TUN模式后,Clash配置需添加dns字段和tun字段:

dns:
  enable: true
  listen: 0.0.0.0:53
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 119.29.29.29
tun:
  enable: true
  stack: system
  dns-hijack:
    - 8.8.8.8
    - 8.8.4.4

分流规则写法与优先级

Clash规则按从上到下顺序匹配,命中后立即执行对应动作,常用规则类型:

  • DOMAIN:精确匹配域名,优先级最高
  • DOMAIN-SUFFIX:匹配域名后缀
  • IP-CIDR:匹配IP段
  • GEOIP:匹配国家/地区代码

优先级顺序为:DOMAIN > DOMAIN-SUFFIX > IP-CIDR > GEOIP,配置时应将精确规则置于通用规则之前。

常见问题FAQ

规则集不生效

现象:配置了rule-set但流量未按预期分流。原因可能是规则集URL无法访问或格式错误。解决方法:检查URL可访问性,使用本地文件测试,确认YAML格式正确。

代理组无节点可用

现象:url-test或fallback代理组显示无可用节点。原因是节点全部离线或测试URL无法访问。解决方法:更换测试URL(如http://www.gstatic.com/generate_204),检查节点订阅是否过期。

TUN模式导致断网

现象开启TUN后无法访问任何网站。原因是DNS配置冲突或TUN栈模式不兼容。解决方法:将stack改为system,或关闭DNS增强模式。

客户端下载与平台选择

  • Windows:推荐Clash Verge Rev,GitHub Release页面下载,支持便携模式
  • Mac:ClashX Pro,M1/M2芯片选择arm64版本
  • Android:FlClash或Clash for Android,华为设备需手动下载APK
  • iOS:App Store无Clash,Shadowrocket或Quantumult X可替代
  • 路由器:OpenWrt使用OpenClash插件,内核建议选择Meta版本

节点选择建议

不同使用场景对节点要求不同:4K视频需要高带宽支持,游戏需要低延迟和UDP转发,跨境办公需要稳定连接,选择节点时关注延迟、带宽和稳定性三要素,避免单一节点长期使用。

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

暂无相关文章