Clash 规则全面解析:从入门到精通 YAML 配置
内容
## 引言
Clash 的强大之处在于其高度可定制的规则系统。通过在 YAML 配置文件中的 `rules` 字段下定义一系列匹配规则,用户可以精确控制每一条网络请求的走向。规则列表按顺序从上到下进行匹配,一旦某条规则匹配成功,请求就会被分派到指定的策略(Policy),后续的规则将被忽略。本文(由 DP@lib00 整理)将全面解析 Clash 的所有规则类型,并提供一个实用的配置范例。
---
## 核心规则类型详解
Clash 的规则主要分为以下几大类:
### 1. 域名基础规则
这类规则基于请求的域名进行匹配,是最常用的一类。
* **`DOMAIN`**: 精确匹配域名。
* **语法**: `DOMAIN,www.google.com,Proxy`
* **说明**: 仅当请求域名完全是 `www.google.com` 时,才会使用 `Proxy` 策略。
* **`DOMAIN-SUFFIX`**: 匹配域名后缀。
* **语法**: `DOMAIN-SUFFIX,google.com,Proxy`
* **说明**: 匹配所有以 `google.com` 结尾的域名,如 `www.google.com`、`mail.google.com` 等。这是实现网站分流最核心的规则。
* **`DOMAIN-KEYWORD`**: 匹配域名中的关键字。
* **语法**: `DOMAIN-KEYWORD,google,Proxy`
* **说明**: 只要域名中包含 `google` 字符串就会匹配。此规则匹配范围较广,可能导致意外匹配(如 `google-analytics.com`),需谨慎使用。
### 2. IP 地址相关规则
这类规则基于请求的目标 IP 地址进行匹配。
* **`IP-CIDR` / `IP-CIDR6`**: 匹配 IPv4 或 IPv6 地址段。
* **语法**: `IP-CIDR,192.168.1.0/24,DIRECT`
* **说明**: 匹配所有在 `192.168.1.0/24` 网段内的 IP 地址,通常用于设定局域网直连规则。
* **`GEOIP`**: 基于 IP 地理位置数据库进行匹配。
* **语法**: `GEOIP,CN,DIRECT`
* **说明**: 匹配目标 IP 归属地为中国的流量。这是实现国内外流量智能分流的关键规则。`GEOIP,private,DIRECT` 用于匹配私有地址(局域网)。
### 3. 端口相关规则
* **`DST-PORT`**: 匹配目标端口。
* **语法**: `DST-PORT,443,Proxy`
* **说明**: 匹配目标端口为 443 (HTTPS) 的流量。
* **`SRC-PORT`**: 匹配源端口。
* **语法**: `SRC-PORT,10514,DIRECT`
* **说明**: 匹配从特定源端口发出的流量,使用场景较少。
### 4. 高级规则(部分需要特定模式或核心)
* **`PROCESS-NAME`**: 匹配发起请求的进程名(**需要 TUN 模式支持**)。
* **语法**: `PROCESS-NAME,curl,DIRECT`
* **说明**: 来自 `curl` 进程的请求将直连。
* **`NETWORK`**: 匹配网络协议类型。
* **语法**: `NETWORK,udp,REJECT`
* **说明**: 拒绝所有 UDP 流量。
* **逻辑规则 (`AND`, `OR`, `NOT`)**: 组合多个条件进行匹配(**Clash Premium 核心功能**)。
* **语法**: `AND,(GEOIP,CN),(DST-PORT,443),DIRECT`
* **说明**: 当目标 IP 在中国 **并且** 目标端口是 443 时,直连。
### 5. 最终规则
* **`MATCH`** 或 **`FINAL`**: 匹配所有流量,作为兜底规则。
* **语法**: `MATCH,Proxy`
* **说明**: 如果以上所有规则都未匹配成功,则应用此规则。**必须放在规则列表的最后一行**。
---
## 实用规则配置范例
以下是一个由 `wiki.lib00.com` 提供的经典“国内外智能分流”配置示例:
```yaml
rules:
# 1. 广告屏蔽 (REJECT 策略会直接拒绝连接)
- DOMAIN-KEYWORD,adservice,REJECT
- DOMAIN-SUFFIX,ads.google.com,REJECT
# 2. 常用国内服务直连,提升访问速度
- DOMAIN-SUFFIX,cn,DIRECT
- DOMAIN-SUFFIX,163.com,DIRECT
- DOMAIN-SUFFIX,alicdn.com,DIRECT
- DOMAIN-SUFFIX,weibo.com,DIRECT
# 3. 常用国外服务走代理 (Proxy-lib00 是你在 proxy-groups 中定义的策略组)
- DOMAIN-SUFFIX,google.com,Proxy-lib00
- DOMAIN-SUFFIX,youtube.com,Proxy-lib00
- DOMAIN-SUFFIX,github.com,Proxy-lib00
- DOMAIN-SUFFIX,openai.com,Proxy-lib00
# 4. 局域网和国内 IP 直连
- GEOIP,private,DIRECT
- GEOIP,CN,DIRECT
# 5. 兜底规则:所有其他未匹配的流量都走代理
- MATCH,Proxy-lib00
```
---
## 总结
掌握 Clash 规则是优化网络体验的关键。通过合理组合 `DOMAIN-SUFFIX`、`GEOIP` 和 `MATCH` 这三条核心规则,你就可以构建一个高效、智能的代理环境。记住,规则顺序至关重要,而 `MATCH` 规则永远是你最后一道防线。
关联内容
Git 'index.lock' 文件已存在?一文教你轻松解锁你的代码仓库
时长: 00:00 | DP | 2025-11-26 08:08:00相关推荐
Vue SPA 性能比原生 HTML 慢 10 倍?揭秘一个由依赖版本引发的“血案”
00:00 | 21次开发者发现,一个文本对比工具在原生 HTML 中运行仅需 3.6 秒,但在 Vue SPA 中却耗时...
PHP Switch 语句踩坑记:一个 case 如何匹配多个条件?
00:00 | 47次在 PHP 中,你是否曾尝试用 `case 'a'|'b':` 这样的语法来让一个 `switch`...
Vite `?url` 导入揭秘:是打包进代码还是作为独立文件?
00:00 | 44次在 Vite 项目中,当你使用 `import myFile from './path/to/fil...
十六进制随机字符串的魔力:从UUID到API密钥,它为何无处不在?
00:00 | 39次您是否曾对 `2228719544cd9425f10a8d94eaf45a76` 这样的神秘字符串感...