Clash按需连接指根据实际访问需求动态启用代理,避免全局代理带来的流量浪费与延迟,通过合理配置代理组与分流规则,可实现国内直连、国际流量走代理的智能路由效果,本文详解三种代理组类型的适用场景、TUN模式与系统代理的核心差异,以及YAML配置文件的写法要点。
什么是Clash按需连接
按需连接(On-Demand Connection)并非Clash原生功能,而是通过代理组合分流规则实现的路由策略,其核心逻辑是:判断目标资源是否需要跨境访问,需要则走代理节点,无需则直连,这种方式能显著降低代理节点带宽消耗,同时保障访问速度。
Clash按需连接设置步骤
基础配置准备
打开Clash客户端配置文件(通常为.yaml格式),确保包含以下基础字段:
mixed-port: 7890 allow-lan: false mode: rule external-controller: 127.0.0.1:9090
mode: rule表示启用规则分流模式,这是实现按需连接的前提条件。
代理组类型选择
代理组(Proxy Group)是Clash按需连接的核心组件,三种类型区别如下:
| 类型 | 特点 | 适用场景 |
|---|---|---|
| select | 手动选择节点 | 需要固定使用某个节点 |
| url-test | 自动测速选择延迟最低节点 | 日常网页浏览、视频 |
| fallback | 优先使用列表中首个可用节点 | 追求稳定性,备用切换 |
select手动模式配置示例:
proxy-groups:
- name: 手动选择
type: select
proxies:
- 节点A
- 节点B
- 节点C
url-test自动测速配置示例:
- name: 自动测速
type: url-test
url: http://www.gstatic.com/generate_204
interval: 300
proxies:
- 节点A
- 节点B
url建议使用Google或Cloudflare等稳定地址,interval为测速间隔秒数。
TUN模式与系统代理的区别
- 系统代理模式:仅接管HTTP/HTTPS/SOCKS5协议的流量,配置简单但无法处理UDP数据包
- TUN模式:创建虚拟网卡接管所有流量(包括UDP、游戏数据包),适合直播、游戏等场景
TUN模式配置:
tun:
enable: true
stack: system
dns-hijack:
- 8.8.8.8
- 114.114.114.114
auto-route: true
TUN模式会显著增加系统资源消耗,普通网页浏览建议使用系统代理即可。
分流规则配置
规则类型与优先级
Clash规则按从上到下匹配,命中后立即执行,常用规则类型:
- DOMAIN:精确匹配域名(如
www.google.com) - DOMAIN-SUFFIX:匹配域名后缀(如
.google.com匹配mail.google.com) - IP-CIDR:匹配IP段(如
0.0.0/8) - GEOIP:匹配国家/地区代码(如
GEOIP,CN表示中国IP)
规则示例:
rules: - DOMAIN-SUFFIX,google.com,自动测速 - DOMAIN-KEYWORD,netflix,手动选择 - IP-CIDR,10.0.0.0/8,DIRECT - GEOIP,CN,DIRECT - MATCH,手动选择
建议将精确匹配规则放在前面,通用规则放在后面,MATCH作为兜底。
常见问题FAQ
现象:开启代理后国内网站访问变慢
原因:未配置国内直连规则,所有流量走代理
解决方法:添加GEOIP,CN,DIRECT规则,确保国内IP直连
现象:游戏频繁掉线
原因:使用系统代理模式,UDP流量未接管
解决方法:开启TUN模式,并选择支持UDP的节点
现象:节点显示在线但无法上网
原因:节点服务器宕机或本地DNS污染
解决方法:切换至其他节点,或在配置中添加dns字段使用可信DNS
节点选择建议
不同使用场景对节点特性要求不同:4K视频需要高带宽支持,游戏需要低延迟与UDP转发,办公场景需要稳定连接,选择节点时建议关注服务商提供的线路类型、带宽上限及客户端兼容性。
配置完成后,建议通过http://127.0.0.1:9090/proxies接口测试代理组切换功能,确保按需连接生效。
