本文详解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格式正确,尝试更新规则集文件
掌握规则集配置后,可根据不同节点类型(直播/游戏/办公)灵活调整分流策略,建议定期维护规则集,确保跨境访问体验持续优化。
