Clash规则集rule-set使用教程,分流规则这样写才高效

规则集(rule-set)是Clash实现精细化分流的核心组件,本文详解rule-set的本地配置与远程订阅方法,涵盖代理组策略、TUN模式设置及常见分流规则语法,助你构建高效的国际网络加速方案。

Rule-Set基础认知

Rule-set将分散的规则条目集中管理,支持本地YAML文件或远程URL订阅,相比内联规则,独立规则集便于维护更新,特别适合处理大量域名或IP段的跨境办公需求。

代理组类型选择

配置rule-set前需明确代理组策略:

  • Select: 手动选择节点,适合固定线路需求
  • URL-Test: 自动测速选优,延迟敏感场景首选
  • Fallback: 故障自动切换,保障学术资源访问稳定性
proxy-groups:
  - name: "自动选择"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - 节点A
      - 节点B

配置步骤详解

准备规则集文件 创建ruleset目录,放置分类规则文件:

  • direct.yaml: 国内直连域名
  • proxy.yaml: 国际加速域名
  • block.yaml: 广告拦截

编写规则语法 支持DOMAIN、DOMAIN-SUFFIX、IP-CIDR、GEOIP四种匹配模式:

payload:
  - DOMAIN-SUFFIX,google.com,代理组名
  - DOMAIN,cdn.example.com,DIRECT
  - IP-CIDR,142.250.0.0/16,代理组名,no-resolve
  - GEOIP,CN,DIRECT

引用远程规则集 在config.yaml中添加:

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
rules:
  - RULE-SET,reject,REJECT
  - MATCH,FINAL

TUN模式与系统代理差异

系统代理: 仅接管HTTP/HTTPS流量,浏览器和应用层生效,配置简单但无法处理UDP。

TUN模式: 虚拟网卡接管所有流量(含游戏UDP、ICMP),实现真正的全局代理,开启TUN需管理员权限,建议配合fake-ip模式降低延迟。

tun:
  enable: true
  stack: system
  dns-hijack:
    - 8.8.8.8:53
  auto-route: true
  auto-detect-interface: true

分流规则优先级策略

Clash按规则列表自上而下匹配,命中即停止,正确排序至关重要:

  1. 局域网IP(DIRECT)
  2. 广告拦截(REJECT)
  3. 国内域名(DIRECT)
  4. 国际学术资源(代理组)
  5. 最终匹配(MATCH)

使用no-resolve参数避免DNS泄漏:IP规则添加该参数后,仅当域名解析完成才匹配,防止未解析域名被错误路由。

常见问题排查

现象: 规则集加载失败,提示"404 Not Found" 原因: 远程URL失效或本地路径错误 解决: 检查raw.githubusercontent.com可访问性,改用jsDelivr或GitHub Proxy镜像

现象: 国内网站走代理,延迟增加 原因: GEOIP数据库未更新或规则顺序错误 解决: 下载最新Country.mmdb放置配置目录,确保GEOIP,CN,DIRECT位于代理规则之前

现象: 游戏丢包严重,TUN模式无效 原因: 未开启UDP转发或MTU设置不当 解决: 确认节点支持UDP,调整TUN的MTU值为9000或1500测试

对于需要稳定国际网络加速的用户,建议选择支持Clash订阅格式的服务商,定期更新规则集与节点配置可显著提升跨境办公体验,合理配置rule-set后,配合优质线路资源,能实现智能分流与低延迟访问的最佳平衡。

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

暂无相关文章