Clash 文档中心中文使用手册

IP 规则加了 no-resolve 为什么仍会命中:理解已有解析结果

解释 no-resolve 跳过新的 DNS 触发而非禁止 IP 匹配,按规则顺序观察解析与命中。

更新于 2026/10/3

给 IP-CIDR 规则加上 no-resolve,某个域名请求却仍命中这条规则,并不必然说明参数失效。mihomo 文档说明,这个参数可跳过该阶段触发的 DNS 解析;若更早的匹配已经产生解析结果,带 no-resolve 的目标 IP 规则依然可能匹配。

它限制什么,不限制什么

目标以域名进入匹配时,内核为了判断目标 IP 规则,可能需要先解析域名。no-resolve 用于跳过这项触发。它不是“永远不看 IP”,也不是“整台设备关闭 DNS”。明确用 IP 发起的连接,本来就有可以参与匹配的地址。

参数仅支持关于目标 IP 的规则,不应随意添加到 DOMAIN 或 PROCESS-NAME 后面。语法看起来相似,不意味着每种规则都支持同一附加参数。

用一条规则读出含义

rules:
  - IP-CIDR,192.168.1.0/24,DIRECT,no-resolve

这是示意网段,含义是匹配已有的目标地址范围并采用 DIRECT,同时不为这条判断额外发起解析。正式使用需按真实网段填写,并加入已有规则列表;片段不能证明所有局域网服务都在此范围。

它不会把域名自动视为该网段,也不会删除先前获得的地址。若前面的目标 IP 类规则已经触发解析,后面就可能使用其结果。规则仍按从上到下的顺序处理。

如何验证自己需要的行为

记录目标最初以域名还是 IP 进入、前面有哪些规则以及实际命中位置。重新建立同一请求,对照 DNS 和连接记录,不仅看配置文本里是否写有参数。如果希望本地服务明确走直连,域名例外和 IP 网段各有适用条件,应选实际可观察的信息。

修改前保留副本,一次只改一条规则;不要因为看到 DNS 查询就推断 no-resolve 无效,因为查询可能由其他规则、应用或连接阶段产生。没有时间与目标对应关系的日志,只能提供线索。

相关:规则顺序。依据:mihomo 路由规则的 no-resolve 定义。这里是字段解释与验证建议,没有执行读者网络上的解析测试。

返回文章索引使用教程