no-resolve 参数:避免不必要的 DNS 解析
先看一个隐蔽的行为:当一条带域名的连接走到 IP-CIDR 或 GEOIP 规则时,Clash 必须先把域名解析成 IP 才能判断是否命中——即使这条流量最终会被后面的规则送进代理(而代理本应在远端解析域名)。
这带来两个问题:一是多了一次本地 DNS 解析,增加延迟;二是解析动作本身可能暴露你要访问的域名(DNS 泄漏的来源之一),且本地解析结果可能被污染。
解决:加 no-resolve
- IP-CIDR,198.18.0.0/16,DIRECT,no-resolve
- GEOIP,CN,DIRECT # 兜底的 GEOIP 通常不加
加上 no-resolve 后,这条规则只对本来就是 IP 的流量生效,带域名的流量直接跳过它继续往下匹配,不再触发解析。
加还是不加?
- 列表中段、针对特定 IP 段的规则:建议加,避免无谓解析;
- 列表末尾的
GEOIP,CN,DIRECT兜底:通常不加——它的职责就是把漏网的国内域名按 IP 归属送回直连,加了 no-resolve 这个兜底就失效了,国内流量会掉进 MATCH 走代理。