本文详解Clash自定义规则添加方法,涵盖YAML配置语法、代理组策略设置及分流规则优先级,帮助用户实现精准流量分流,提升国际网络加速体验。
配置文件结构解析
Clash采用YAML格式存储配置,自定义规则主要涉及rules和proxy-groups两个核心段落,理解其层级关系是掌握Clash自定义规则添加方法的基础。
标准配置框架:
port: 7890
socks-port: 7891
mode: rule
proxy-groups:
- name: "自动选择"
type: url-test
proxies:
- 节点A
- 节点B
url: "http://www.gstatic.com/generate_204"
interval: 300
rules:
- DOMAIN-SUFFIX,google.com,自动选择
- GEOIP,CN,DIRECT
- MATCH,自动选择
代理组类型与适用场景
Clash提供三种核心代理组类型,直接影响流量调度逻辑:
Select(手动选择) 适合需要固定线路的场景,如跨境办公需求中指定特定出口IP。
URL-Test(自动测速) 按延迟自动选择最优节点,适合学术资源访问等对延迟敏感的场景。
Fallback(故障转移) 主节点失效时自动切换,保障国际网络加速稳定性。
分流规则优先级与语法
规则匹配遵循自上而下原则,一旦命中立即停止匹配,常用规则类型:
DOMAIN:精确匹配域名DOMAIN-SUFFIX:匹配主域名及所有子域名DOMAIN-KEYWORD:匹配域名关键词IP-CIDR:IP段匹配,支持no-resolve参数避免DNS泄漏GEOIP:基于IP地理位置分流
配置示例:
rules: - DOMAIN,clash.dev,Proxy - DOMAIN-SUFFIX,github.com,自动选择 - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve - GEOIP,private,DIRECT,no-resolve
TUN模式与系统代理的技术差异
系统代理:仅代理HTTP/HTTPS流量,依赖应用主动识别系统代理设置,部分客户端可能绕过。
TUN模式:通过虚拟网卡接管所有流量(含UDP、ICMP),适合游戏加速或强制全局代理场景,Windows用户需安装WinTun驱动,Mac需授权系统扩展。
五步完成规则添加
- 备份原配置:导出当前
config.yaml至本地 - 定位规则段:在
rules:下方插入新规则,注意缩进为两个空格 - 定义代理组:在
proxy-groups:中创建策略组,确保引用的节点名称与proxies:段一致 - 测试语法:使用YAML在线验证工具检查缩进错误
- 热重载配置:Clash Verge Rev等客户端支持不重启应用直接加载新配置
常见问题排查
现象:添加规则后所有流量走直连 原因:规则缩进错误导致YAML解析失败,或MATCH规则位置不当 解决方法:检查空格缩进(禁用Tab),确保MATCH规则位于最后
现象:特定网站无法访问但节点正常
原因:DNS解析污染或规则优先级冲突
解决方法:为该域名添加DOMAIN-SUFFIX规则并置于GEOIP规则之前,启用redir-host或fake-ip模式
现象:TUN模式开启后系统断网 原因:网卡驱动冲突或防火墙拦截 解决方法:以管理员身份运行Clash,检查系统防火墙是否放行Clash进程
对于需要稳定国际网络加速的用户,建议选择支持Clash YAML格式的专业订阅服务,优质订阅提供自动更新的规则集和经过优化的节点组,可大幅减少手动维护成本,配置完成后建议进行IP泄露测试,确保分流规则按预期工作。