一、Clash 核心架构与运行机制概述
Clash 是现代网络代理生态中最具影响力的基于规则的多协议代理核心。它并非简单的“打开就翻”的工具,而是一个集成了 DNS 转发器、多协议解包器、流量路由决策引擎与流量监控模块的高性能网络路由器。
当操作系统或应用发起网络请求时,Clash 会依据配置文件的规则列表自上而下逐条匹配目的地址(域名、IP 段、地理位置或进程名称),并将流量分别引导至直连(DIRECT)、拒绝(REJECT)或指定的代理策略组(Proxy Groups),实现境内流量无损直连、海外应用精准加速的完美平衡。
二、从订阅链接到 YAML 配置文件的转换
当你在 91机场 官方控制台 复制订阅链接时,该链接本质上是一个带有唯一访问 Token 的 HTTPS GET 接口。客户端拉取该 URL 后,订阅服务器会动态渲染生成一个标准的 YAML 配置文件。
一个标准的 Clash 配置文件由以下四大核心模块构成:
# Clash 核心骨架
port: 7890 # HTTP 代理端口
socks-port: 7891 # SOCKS5 代理端口
mode: rule # 运行模式:rule(规则) / global(全局) / direct(直连)
log-level: info # 日志等级
dns: # 内置 DNS 服务器设置
enable: true
enhanced-mode: fake-ip
proxies: # 单个节点定义列表
- name: "香港 01 [专线]"
type: ss
server: 1.2.3.4
port: 8388
cipher: 2022-blake3-aes-128-gcm
password: "..."
proxy-groups: # 策略组设计
- name: "PROXY"
type: select
proxies:
- "香港 01 [专线]"
- "日本 01 [原生]"
rules: # 路由分流规则列表
- DOMAIN-SUFFIX,openai.com,PROXY
- GEOSITE,cn,DIRECT
- MATCH,PROXY
三、分流规则的核心匹配逻辑
Clash 的 rules 部分是决定流量走向的灵魂。常见匹配指令包括:
- DOMAIN-SUFFIX(域名后缀):匹配所有以此域名结尾的请求,如
DOMAIN-SUFFIX,anthropic.com,PROXY会匹配api.anthropic.com和claude.ai。 - DOMAIN-KEYWORD(域名关键字):只要域名包含特定字符串即命中,如
DOMAIN-KEYWORD,google,PROXY。 - GEOIP / GEOSITE(地理与应用数据集):依赖内置的
geoip.metadb数据库。例如GEOSITE,bilibili,DIRECT会自动匹配 B 站的所有 CDN 和主站域名,极大精简配置文件行数。 - IP-CIDR(网段匹配):匹配具体的 IP 段,常用于局域网私网地址直连,例如
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve(no-resolve表示不强制提前触发域名解析)。
四、策略组的高级用法:自动测速与故障自愈
除了手动选择(select)策略组外,Clash 还支持自动化运维策略组:
1. 自动优选组 (url-test)
通过定期(如每 300 秒)向指定的探活地址(如 http://www.gstatic.com/generate_204)发起轻量 HTTP 请求,自动将流量引导至当前往返时延最小的节点。
- name: "自动优选"
type: url-test
proxies:
- "香港 01 [专线]"
- "日本 01 [原生]"
- "新加坡 01 [专线]"
url: 'http://cp.cloudflare.com/generate_204'
interval: 300
tolerance: 50
2. 故障备用组 (fallback)
按列表顺序优先使用第一个健康节点,当首选节点因突发网络故障无法连通时,自动顺位降级至备选节点,实现无人值守的高可用容灾。
五、DNS 防污染与 Fake-IP 深度工作原理
传统模式下,本地应用请求域名时会首先向系统 DNS 查询解析,这往往会在公网出口遭受严重的 DNS 投毒与阻断。Clash 引入了革命性的 Fake-IP 增强模式:
198.18.0.5),本地系统随即以此 IP 建立 TCP 握手。Clash 截获该握手数据包后,将虚拟 IP 反查回真实域名,并打包封装通过加密隧道直接送至海外远端出口执行远程真实 DNS 解析。这不仅彻底规避了本地 DNS 污染,还将 DNS 查询等待时间降到了绝对零延迟。
六、新手常见疑难故障速查
| 故障现象 | 核心根本原因 | 建议解决方案 |
|---|---|---|
| 导入订阅报错 Network Error / 500 | 订阅 URL 复制不全或本地网络阻断 | 检查订阅链接中是否含有非法空格,尝试在控制台重置订阅 Token |
| 节点延迟全部显示 Timeout / 错误 | 系统时钟偏差超过 90 秒 | 在 Windows/macOS 设置中强制点击“立即同步系统时间” |
| 国内应用(如微信)加载变慢 | 分流规则未正确识别国内域名 | 确保运行模式为 Rule,并检查配置文件中是否存在 GEOSITE,cn,DIRECT |