最近看到不少朋友在讨论 Clash 的分流规则,不少人觉得配置文件虽然好用,但一到自己写规则就头大。到底是走全局代理还是规则模式?怎么才能既保证看视频不卡,又能让国内网站直连,不走多余的流量?

Clash 配置界面与策略组示意

Clash 的核心在于策略组与规则的配合

今天我就把自己平时配置分流规则的一些心得整理出来,从最基础的逻辑到进阶的优化技巧,希望能帮到大家。

网络流量分流示意图

流量分流的核心逻辑示意

一、 分流的核心逻辑:规则与策略

首先别被那一长串的 yaml 配置吓到。Clash 的分流其实就两个核心部分:规则策略组

  • 规则:就是用来判断你的网络请求该往哪里送。比如“Google 的请求走代理”、“淘宝的请求直连”。
  • 策略组:是规则的具体执行者。比如一个名为“Proxy”的策略组,里面包含了你的节点 A、节点 B、或者自动选择节点。当规则判定需要走代理时,就会把这个请求丢给这个策略组去处理。

你可以把策略组理解成一个中转站,规则只是告诉交通警察:“这辆车要去国外”,至于具体走哪条高速(哪个节点),是策略组的事情。

二、 新手推荐:从 Rule-providers 开始

以前玩 Clash,大家都是写几十上百行 DOMAIN-SUFFIX(域名后缀)或者 IP-CIDR(IP 段),维护起来非常累。现在最流行的做法是直接引用 Rule-providers(规则集)

这是最省事也是最稳妥的办法。你只需要在配置文件里加入几行代码,就能直接使用大佬维护好的规则列表。常见的规则集通常包含这几类:

  1. 国内直连规则:覆盖了国内常用的网站、App 域名和 IP,确保访问百度、淘宝、微信等流量直接走本地网络,不浪费代理流量。
  2. 代理规则:包含了常见的国外服务,如 Google、YouTube、Twitter 等的域名。
  3. 广告拦截规则:利用 Reject 策略直接屏蔽广告请求,不仅清爽还能省流量。
  4. 流媒体规则:专门针对 Netflix、Disney+ 等服务的优化规则,有时候普通的代理规则会漏掉流媒体的 CDN 节点,导致“看剧只有字幕没画面”,用专门的流媒体规则集能解决大部分解锁失败的问题。

一个小建议:配置的时候,记得把“国内直连”规则放在“代理规则”的上面。 Clash 的规则匹配是从上往下执行的,一旦匹配成功就不会再往下看了。把国内规则放前面,能避免国内 IP 误判走代理,从而提高访问速度。

三、 常见场景的规则写法实战

有时候引用的规则集不太符合你个人的习惯,或者你想手动添加某些特定网站的分流,这时候就需要手写规则了。下面是几个最常用的场景。

1. 让某个特定网站走代理

比如你需要访问某个开发文档或者特定的 GitHub 项目,发现直连很慢或者连不上,可以这样加:

rules:
  - DOMAIN-SUFFIX,example.com,Proxy

这表示所有以 example.com 结尾的域名,都扔给 Proxy 策略组。

2. 强制某个 App 走直连

有些公司内网或者 App 做了地域限制,走代理反而连不上。

rules:
  - DOMAIN-KEYWORD,namesoft,DIRECT

DOMAIN-KEYWORD 只要域名里包含这个词就会匹配。如果 App 的请求域名里包含 unique 的特征词,用这个规则非常有效。

3. 局域网流量不代理

这一点非常重要!很多人配置好了代理,结果打印机打不了,或者 NAS 访问不了,通常是因为局域网流量也被劫持去走了代理。一定要加上这一条:

rules:
  - IP-CIDR,192.168.0.0/16,DIRECT
  - IP-CIDR,10.0.0.0/8,DIRECT
  - IP-CIDR,172.16.0.0/12,DIRECT

确保你的私有网络地址段全部直连。

4. 终极兜底规则

在所有自定义规则的最下面,一定要有一条最后的防线。

rules:
  - MATCH,Proxy
# 或者
  - MATCH,DIRECT

MATCH 匹配所有没被上面规则捕获的流量。如果你更看重隐私,希望所有流量都经过代理检查,就写 Proxy;如果你更看重速度,觉得没匹配上的大概率是冷门网站,直连就行,就写 DIRECT。对于大多数新手,建议写 MATCH,Proxy 以防漏网之鱼。

四、 遇到问题怎么排查?

配置完规则后,如果发现某个网站打不开或者速度不对,不要急着换节点,先查日志。

  1. 查看连接日志:在 Dashboard 或者客户端的日志里,找到那个失败的请求,看它最终被分配到了哪个策略(是 DIRECT 还是 Proyx?)以及具体使用了哪个节点。
  2. 规则冲突:如果你手写了规则,又引用了规则集,可能出现冲突。检查是不是你写的规则被上面的规则集拦截了(比如你让它走代理,但上面的规则集已经匹配到了直接拒绝)。
  3. Dns 泄露:有时候分流规则没问题,但 DNS 解析走了错误的通道,导致解析到了错误的 IP。记得在配置中设置 nameserverfallback,让国内域名用国内 DNS,国外域名用国外 DNS 解析。

五、 总结

写分流规则其实不难,难的在于维护微调。对于 90% 的用户来说,引用高质量的 Rule-providers + 保留局域网直连 + 正确的兜底规则 就已经足够完美使用了。不要一开始就追求极致的定制化,先把基础跑通,再根据实际遇到的卡顿慢慢加规则。

希望这篇大白话教程能让你对 Clash 的分流规则有个清晰的认识,下次配置的时候不再一头雾水。

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭