规则与订阅系统
YAML 配置结构、订阅链接机制、分流策略与规则管理——系统化掌握 Clash 配置编排与高效运维。
YAML 配置文件拆解
理解五大核心区块,编排任意复杂的代理策略
Clash 的完整配置采用 YAML 格式,结构清晰但细节丰富。一个典型的 Mihomo 配置文件包含以下核心段落,分别控制不同的网络行为:
📡 proxies (节点列表)
定义所有可用的代理节点,每个节点包含类型、地址、端口、加密方式等字段。支持 SS、VMess、Trojan、TUIC、Hysteria 等多种协议。
🗂️ proxy-groups (策略组)
将节点分组,并定义选择策略——手动选择、自动测速、故障转移或负载均衡。这是实现智能分流的关键。
🧭 rules (规则表)
按顺序匹配流量的域名、IP、GEOIP 等条件,将请求指派到对应的策略组。规则从上到下依次匹配,首次命中即停止。
🛡️ dns (DNS 设置)
配置 DNS 服务器、Fake-IP 模式、DNS 分流及防泄漏策略,确保域名解析快速且安全。
🔧 tun (虚拟网卡)
启用 TUN 模式后可接管系统全局流量,设置网卡地址、路由规则及 strict-route 避免泄漏。
订阅链接机制
从公共订阅到远程规则集,自动化更新与格式转换
🔗 订阅导入与 Provider
Clash 通过 proxy-providers 字段支持远程订阅链接。你只需将机场或自建节点的订阅 URL 填入,内核会自动拉取并解析节点列表。支持 定时自动更新 (interval 秒),节点变更后无需手动编辑配置文件。
🔄 格式转换与兼容
有些订阅返回的是 Base64 编码或非标准格式,Mihomo 内核能够自动解码并解析。在 Clash Verge Re 的图形界面中,你甚至可以直接粘贴订阅链接,软件会完成格式校验与节点过滤,大幅降低使用门槛。
- 支持 SS / VMess / Trojan 等常见订阅格式
- 可设置 自定义过滤规则(如去除特定节点)
- 兼容机场订阅与自建节点混合使用
Rule 模式深度解析
Rule / Global / Direct / Script —— 四种模式覆盖所有代理需求
📋 Rule 模式(规则分流)
这是最智能的模式。内核根据 rules 字段从上至下匹配流量。你可以指定国内域名走 DIRECT、广告域名走 REJECT、特定流媒体走专用节点,最后用 MATCH 兜底。这是现代代理体验的核心。
🌍 Global 模式(全局代理)
所有流量都经过选定的策略组,适合需要完全匿名的场景或临时访问境外服务。简单但不够精细,可能导致国内网站访问变慢。
🏠 Direct 模式(全局直连)
所有流量不走代理,相当于临时关闭代理功能。适合在内网环境或完全不需要代理时使用。
📜 Script 模式(脚本控制)
通过编写 JavaScript 或 Lua 脚本,实现动态、复杂的流量决策。例如根据当前时间、请求 Header 或自定义算法选择节点,高度灵活,属于进阶玩法。
Lua JavaScript常见规则类型速查
掌握五类核心规则,精确描述你的流量走向
| 规则类型 | 语法示例 | 说明 |
|---|---|---|
| DOMAIN | DOMAIN,example.com,Proxy | 匹配完整域名 |
| DOMAIN-SUFFIX | DOMAIN-SUFFIX,google.com,Proxy | 匹配域名后缀(含子域名) |
| DOMAIN-KEYWORD | DOMAIN-KEYWORD,google,Proxy | 匹配域名关键字 |
| GEOIP | GEOIP,CN,DIRECT | 基于 IP 地理位置分流 |
| GEOSITE | GEOSITE,netflix,Proxy | 按网站类别分流(需 Rule Provider) |
| IP-CIDR | IP-CIDR,10.0.0.0/8,DIRECT | 匹配 IP 段 |
| MATCH | MATCH,Proxy | 兜底规则,通常在最后一行 |
常见配置错误排查
YAML 缩进、订阅解析失败、DNS 超时——问题根因与解决方案
⚠️ YAML 缩进错误
YAML 严格要求使用空格缩进(通常 2 个或 4 个),混用 Tab 会导致解析失败。使用 VSCode 等编辑器并开启空格渲染可有效避免。
⚠️ 订阅解析失败
检查订阅链接是否有效、是否需要 User-Agent 头部。部分机场订阅需在 URL 后追加 &flag=clash 参数。
⚠️ DNS timeout
使用 DoH 时确保网络可达,国内环境可改用 AliDNS 或 DNSPod 的 DoH 地址,避免被干扰。
⚠️ TUN 无法启动
Linux 需要安装 tun2socks 依赖;Windows/macOS 需以管理员权限运行客户端。检查是否有其他虚拟网卡冲突。
⚠️ Rule Provider 更新失败
确认远程规则文件 URL 可访问,且 YAML 格式正确。Mihomo 日志中会提示详细的错误原因。
⚠️ 节点全红(timeout)
排查本地网络连通性、防火墙设置,或更换公共 DNS。也可能是节点服务端问题,尝试联系提供商。
继续深入学习
了解更多关于 Mihomo 内核、客户端生态与新手部署的内容