Clash Verge Rev DNS怎么设置?避免解析失败与网页打不开
简答:先不要直接更换节点:打开 Clash Verge Rev 的 DNS 覆写,确认 enable、nameserver 和 enhanced-mode,再用带 1053 端口的查询命令验证。若只在浏览器打不开,还要检查浏览器 Secure DNS;若开启 TUN,则继续核对 dns-hijack、路由和端口。
定义:Clash Verge Rev 的 DNS 设置,是由客户端生成或覆写 mihomo 内核的域名解析配置,决定域名查询使用什么解析器、是否采用 fake-ip,以及 DNS 请求是否遵循代理规则。
先试这一步:确认改的是当前配置,而不是远程订阅原文件
本文是第三方使用指南,Clash Verge Rev 的界面名称会随版本和系统略有不同,请以当前客户端显示为准。当前资料可以确认,客户端设置中存在“DNS Overwrite”入口,并且 DNS 覆写开关按配置文件分别保存;如果订阅本身带有自定义 DNS,客户端会提示覆写可能替换原设置,导致节点或部分网页无法加载。可先备份当前配置,再只修改一个字段。
- 打开 Clash Verge Rev,进入“设置”或“Clash 设置”,查找“DNS Overwrite / DNS 覆写”。
- 确认当前选中的配置文件,就是你正在使用的配置;不要只修改未启用的配置。
- 先将 DNS 覆写保持关闭,重新加载内核并测试一个此前打不开的域名。
- 如果关闭覆写后仍无法打开,再启用 DNS 覆写,按下面的最小配置逐项增加。
客户端源码中的设置字段包含 DNS enable、DNS Listen、Enhanced Mode、Fake IP Range、Nameserver、Fallback、Proxy Server Nameserver 和 Nameserver Policy 等项目;配置项名称可能是英文,也可能经过中文翻译。Clash Verge Rev 设置字段
订阅链接提醒:不要把包含访问令牌的订阅地址、节点密码或完整配置粘贴到公开论坛、截图或日志中。远程订阅原文件也不建议直接改,优先使用客户端的 DNS 覆写或扩展配置,避免订阅更新后被覆盖。
最小可用 DNS 配置:先选一种 enhanced-mode
mihomo 文档明确支持 redir-host 和 fake-ip 两种增强模式,默认值为 redir-host。下面的示例使用可核验的公共解析器地址,但它们不代表在每个网络环境中都可达,保存后必须按本文命令验证。mihomo DNS 配置文档
方案 A:先用 redir-host 排除 fake-ip 变量
dns:
enable: true
listen: 127.0.0.1:1053
ipv6: false
enhanced-mode: redir-host
default-nameserver:
- 223.5.5.5
nameserver:
- https://cloudflare-dns.com/dns-query
- https://doh.pub/dns-query
fallback:
- https://cloudflare-dns.com/dns-query这个示例没有放 fake-ip-filter,因为该字段用于 fake-ip 解析场景。default-nameserver 用来解析 DNS 服务器自身的域名;nameserver 是常规域名解析服务器;fallback 是备用解析服务器。Cloudflare 官方文档确认其 DoH 地址为 https://cloudflare-dns.com/dns-query,DoH 使用 HTTPS 端口 443。Cloudflare 1.1.1.1 公共解析器地址
方案 B:需要 fake-ip 时单独使用
dns:
enable: true
listen: 127.0.0.1:1053
ipv6: false
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter-mode: blacklist
fake-ip-filter:
- '*.lan'
- '*.local'
default-nameserver:
- 223.5.5.5
nameserver:
- https://cloudflare-dns.com/dns-query
- https://doh.pub/dns-query
fallback:
- https://cloudflare-dns.com/dns-querymihomo 文档给出的 fake-ip IPv4 默认网段是 198.18.0.1/16。因此,查询结果出现 198.18 网段时,可能是 fake-ip 映射结果,不应立即当成真实目标地址;如果你已经自定义了 fake-ip-range,应以实际配置为准。局域网域名、本地开发域名或局域网发现异常时,再把对应域名加入 fake-ip-filter,不要无条件扩大排除范围。
两种模式不要混写成“redir-host + fake-ip-filter”的示例。建议先使用 redir-host 判断是否为基础解析问题,确认正常后再切换 fake-ip。
nameserver、fallback、policy 和 respect-rules 怎么选
| 字段 | 作用 | 新手处理建议 |
|---|---|---|
default-nameserver | 解析 DNS 服务器域名本身 | 先填可用的 IP,例如 223.5.5.5,保存后验证 |
nameserver | 常规域名解析 | 先放 1 至 2 个已核验格式的 DoH 或 UDP 地址 |
fallback | 备用解析服务器 | 主解析超时或结果异常时再启用,需验证当前网络可达 |
nameserver-policy | 按域名或规则集指定解析服务器 | 只有明确知道分流需求时再加,避免策略与规则互相覆盖 |
proxy-server-nameserver | 解析代理节点域名 | 节点域名本身解析失败时检查;不宜与普通域名解析混为一谈 |
respect-rules | 让 DNS 连接遵循路由规则 | 启用后必须配置 proxy-server-nameserver,否则可能出现解析链路无法建立 |
根据 mihomo 文档,respect-rules: true 时 DNS 连接遵循路由规则,并且需要配置 proxy-server-nameserver;该字段只用于解析代理节点域名。若只是排查网页打不开,不建议一开始同时启用 respect-rules、prefer-h3、复杂 policy 和多层 fallback。先保持配置简单,确认基础查询成功后再逐项增加。
例如需要使用规则感知 DNS 时,可以在已有配置中补充:
dns:
respect-rules: true
proxy-server-nameserver:
- 223.5.5.5如果启用了 respect-rules 却没有配置 proxy-server-nameserver,优先回滚 respect-rules 或补齐该字段。不要把“节点连接失败”直接判断为 DNS 服务不可用,因为节点域名解析、普通网页域名解析和代理连接是不同阶段。
三系统验证:DNS Listen 是 1053,就必须带端口测试
把 DNS Listen 设置为 127.0.0.1:1053 后,系统查询不能继续使用默认的 53 端口。浏览器走系统代理时,域名可能直接交给代理端口,并不一定查询本地 DNS Listen;只有 TUN 的 DNS 劫持生效,或系统 DNS 明确指向该监听地址时,1053 才会成为系统解析路径的一部分。因此“1053 查询成功但浏览器仍打不开”并不矛盾,还要继续检查系统代理、TUN、规则和浏览器 Secure DNS。
Windows
- 在 PowerShell 执行:
nslookup -port=1053 example.com 127.0.0.1。 - 检查 UDP 监听:
Get-NetUDPEndpoint -LocalPort 1053 -ErrorAction SilentlyContinue。 - 如需查看 TCP 监听:
Get-NetTCPConnection -LocalPort 1053 -ErrorAction SilentlyContinue。 - 若没有返回监听项,检查 DNS Listen 是否保存、内核是否重启,以及端口是否被其他进程占用。
macOS
- 执行:
dig @127.0.0.1 -p 1053 example.com。 - 检查 TCP/UDP 端口:
lsof -nP -iTCP:1053 -iUDP:1053。 - 若解析记录返回但网页打不开,转到日志和规则检查,不要继续反复更换 DNS。
Linux
- 执行:
dig @127.0.0.1 -p 1053 example.com。 - 检查 TCP/UDP:
ss -lntup | grep ':1053'。 - 如果使用 systemd-resolved,清理缓存:
resolvectl flush-caches。不同发行版的解析服务可能不同,命令无效时以本机服务为准。
Windows 清理系统 DNS 缓存可执行 ipconfig /flushdns;macOS 可执行 sudo dscacheutil -flushcache 和 sudo killall -HUP mDNSResponder。这些命令只清理系统层缓存,浏览器和 mihomo 内核仍可能保留独立缓存,因此清理后应重新加载内核并用一个此前没有访问过的新域名测试。
按现象排查:DNS_PROBE、TUN、浏览器和规则不要混查
| 现象 | 优先检查 | 处理方式 |
|---|---|---|
DNS_PROBE_FINISHED_NXDOMAIN | 域名是否真的存在、nameserver-policy 是否误配 | 用 nslookup 或 dig 对比系统 DNS 与 1053;确认不是错误的 hosts 或 policy 返回不存在 |
DNS_PROBE_POSSIBLE | 解析链路超时、浏览器 Secure DNS、DNS 端点可达性 | 暂时关闭浏览器 Secure DNS 或改为自动模式,再用带端口命令测试 DoH/UDP 配置 |
| 所有网站都打不开 | 系统代理端口、内核状态、TUN 网卡和节点连接 | 查看 Clash Verge Rev 的 Logs 和 Connections;确认系统代理指向当前端口,必要时关闭 TUN 做分层测试 |
| 只有部分网站打不开 | 规则命中、DIRECT、fake-ip-filter 和 nameserver-policy | 切换 Global 与 Rule 对比;如果 Global 可开而 Rule 不可开,优先查看规则命中是否为 DIRECT |
| 节点能连但域名解析失败 | 代理节点域名解析、proxy-server-nameserver、fallback | 先确认节点地址能解析,再检查普通域名解析;不要只看延迟测试结果 |
| 浏览器能开,其他应用打不开 | 系统代理与 TUN 覆盖范围 | 确认应用是否遵循系统代理;需要接管非浏览器流量时再检查 TUN 权限、网卡和 dns-hijack |
Chrome 的路径是“设置 → 隐私和安全 → 安全 → 使用安全 DNS”;自动模式下遇到解析问题,Chrome 可能回退到未加密解析,指定自定义提供商后则不会自动回退。Edge 的路径是“设置 → 隐私、搜索和服务 → 安全 → 使用安全 DNS”。排查时可暂时改为自动或关闭,再用同一个域名对比。Chrome 安全 DNS 设置 Microsoft Edge 安全 DNS 设置
开启 TUN 后,Clash Verge Rev 还可能使用 DNS Hijack 接管 53 端口查询。客户端设置字段中包含 DNS Hijack、DNS Mode、Auto Route、Strict Route 和 Auto Redirect;Windows 下某些 hijack 行为还与 Strict Route 有关,Linux 下可能涉及 Auto Redirect。若系统代理模式正常、TUN 模式异常,建议先关闭 TUN 验证,再逐项打开网卡、自动路由和 DNS 劫持,避免一次修改多个变量。Clash Verge Rev TUN 与 DNS 设置字段
日志中看到 dns error、timeout、connection refused、TLS handshake 时,分别记录发生阶段:DNS 服务器不可达、请求超时、本地端口拒绝,还是加密连接握手失败。随后到 Connections 查看该域名最终命中的规则和出站,不要只依据浏览器错误页判断。
回滚清单:改错后恢复到可比较的状态
- 关闭 DNS Overwrite,保存并重启内核。
- 将 enhanced-mode 恢复为 redir-host,暂时删除 fake-ip-filter、nameserver-policy、respect-rules 和 prefer-h3。
- 只保留一个 nameserver 和一个 fallback,重新执行 Windows、macOS 或 Linux 的 1053 查询。
- 关闭 TUN,开启系统代理,使用同一个浏览器和同一个域名测试。
- 如果此时恢复,说明问题位于 fake-ip、TUN、规则或浏览器独立 DNS 层,之后每次只恢复一个设置。
配置成功的判断标准不是“编辑框里出现了 YAML”,而是:内核日志没有持续 DNS 错误;指定端口可以返回解析结果;Connections 中域名命中预期规则;关闭或开启系统代理后,现象变化符合预期。当前 Clash Verge Rev 的版本和内核组合可能不同,资料不足以确认你本机的具体版本行为,遇到字段不显示时应以客户端实际配置页和对应 Release 说明为准。Clash Verge Rev Releases
常见问题
Clash Verge Rev DNS 设置应该放在哪里?
优先放在当前启用配置对应的 DNS Overwrite 或订阅覆写入口,不建议直接修改远程订阅原文件。不同版本的菜单名称可能不同,关键是确认修改对象与当前选中的配置一致,并在保存后重启或重新加载内核。
为什么我把 DNS Listen 设为 127.0.0.1:1053,nslookup 仍然失败?
最常见原因是命令仍查询默认 53 端口。Windows 要使用 nslookup -port=1053 example.com 127.0.0.1;macOS 或 Linux 使用 dig @127.0.0.1 -p 1053 example.com。同时检查 UDP 1053 是否真的在监听,以及 Clash Verge Rev 内核是否已重启。
redir-host 和 fake-ip 应该选哪个?
排查解析失败时建议先用 redir-host,减少 fake-ip 映射、局域网域名和应用兼容性变量。需要 TUN 接管、规则处理或特定应用依赖 fake-ip 时,再使用 fake-ip,并根据实际异常补充 fake-ip-filter。
看到 198.18.0.1 这样的地址,是不是 DNS 配错了?
不一定。mihomo 文档中的 fake-ip 默认 IPv4 网段是 198.18.0.1/16,查询结果落在该范围可能是正常映射。若你自定义过 fake-ip-range,应以实际配置为准;若应用无法连接,再检查该域名是否需要加入 fake-ip-filter。
节点能连接,但网页仍提示 DNS_PROBE_FINISHED_NXDOMAIN,应该查什么?
先确认域名是否存在,再用指定端口查询对比系统 DNS 与 Clash Verge Rev DNS;然后检查 nameserver-policy、hosts、规则是否把请求送到错误的解析路径。若 Global 能打开而 Rule 不能打开,重点查看该域名是否误命中 DIRECT。
开启 respect-rules 后为什么反而解析失败?
mihomo 文档要求 respect-rules 启用时配置 proxy-server-nameserver。该字段用于解析代理节点域名,缺少它可能形成解析代理节点所需的循环依赖。排查期间可以先关闭 respect-rules,确认基础 DNS 正常后再补齐配置。
相关阅读
- Clash Verge Rev TUN 模式的开启与验证
- Clash Verge Rev 开启 TUN 后无法上网的排查
- Clash Verge Rev 代理规则与生效验证
- 代理能连接但网页打不开的分层排查
- Clash Verge Rev 订阅导入与连接排查