本文速览

适合已经导入订阅、能够访问网页,但检测到本地运营商解析器的 Windows 用户。先区分网页出口与 DNS 出口,再固定浏览器和代理模式做对照测试;随后调整远程 DNS、直连 DNS 与路由,最后检查 TUN、IPv6 和浏览器安全 DNS,避免只换一个解析地址就判定问题已经解决。

DNS 泄漏的判断边界

访问域名时,应用通常需要先获得 IP 地址,再建立连接。DNS 查询和网页连接可以走不同路径:网页经过代理节点,不代表域名查询也经过节点。这里所说的 DNS 泄漏,是原本希望交给代理路径处理的解析请求,仍被本地网络或其他非预期解析服务接收。

应用请求域名 选择解析器 匹配解析路由 建立出站连接 返回访问结果

先区分软件职责。v2rayN 是桌面客户端,负责管理订阅、节点、路由和内核配置;V2Ray、Xray 等内核执行相应网络处理。使用 VMess 或 VLESS 节点,并不会自动决定 Windows 所有应用的 DNS 去向。是否由内核解析,还取决于应用交付的是域名还是已经解析好的地址,以及系统代理或 TUN 的接管范围。

  • 网页出口 IP:说明本次网页连接从哪里离开,不等于 DNS 解析器的地址。
  • 检测到的 DNS 服务器:通常是递归解析器的对外查询地址,不一定就是设置页里填写的地址。
  • 直连域名解析:分流方案可以有意让本地域名使用直连 DNS,不能把这种设计一概判为泄漏。
  • 解析服务所在地:受公共解析器的任播和调度影响,国家或城市标签只能辅助判断。

在线检测:先记录基线,再比较结果

保持同一个网络、同一个浏览器和同一个测试站点。可在浏览器地址栏输入 dnsleaktest.com,运行标准测试,再运行扩展测试。测试页面会触发一组新的域名查询,从权威侧观察递归解析器。不要只截取“检测到几个服务器”,还要记录服务商名称与网页出口。

  1. 建立直连基线。在允许短暂直连且不进行敏感访问的环境中,关闭 TUN,选择 v2rayN 的“清除系统代理”,记录当前网络通常使用的解析服务。不能接受直连时,跳过基线,不要为了测试暴露业务流量。
  2. 建立代理对照。选中可用节点,选择“自动配置系统代理”,保持同一套路由规则,重新执行测试。确认浏览器没有使用与系统设置冲突的扩展代理。
  3. 核对检测域名的路由。如果测试站点或测试域名被设为直连,结果不能代表代理解析路径。可临时选择将测试流量交给代理的规则,再测一次,随后恢复原规则。
  4. 复测而非只刷新。修改配置后重启内核,关闭旧测试标签页,再启动新一轮测试。记录前后差异,不把缓存结果当成新配置的效果。

如果代理状态下仍出现与直连基线相同的本地运营商解析器,需要继续定位;如果出现多个同属公共解析服务的地址,则可能只是负载分担。反过来,只检测到一个解析器也不能证明所有应用都已被接管。

结论:按解析服务归属和路由预期判断

先确认测试域名应走代理,再比较解析服务是否仍属于本地网络;不要把服务器数量或国家标签单独当成通过标准。

v2rayN 远程 DNS 与直连 DNS 设置

先备份现有设置,记录当前使用的内核。打开“设置”→“DNS 设置”,查看当前内核对应的 DNS 配置。不同版本可能将相关选项放在“设置”→“参数设置”的 DNS 页签中;字段名称、模板与支持的地址格式也会随内核变化。找不到选项时,先核对当前界面与内核,不要把其他内核的 JSON 整段粘贴进去。

53
传统 DNS 常用 UDP/TCP 端口
443
HTTPS 与 DoH 常用端口
10808
本地代理端口示例,以实际设置为准

端口数字用于区分服务,不能互相替代。127.0.0.1:10808 即使是正在监听的代理入口,也不是天然可用的 DNS 服务器。只有明确运行了 DNS 监听服务,才能把对应地址填入系统的 DNS 设置。

  1. 配置远程 DNS。在支持相应格式的字段中,可使用 https://dns.google/dns-query 这样的 DoH 地址。它只是配置示例,不代表当前网络必然可达。远程解析请求还应按配置经过代理出站,否则只是把 DNS 加密后从本地网络发出。
  2. 配置直连 DNS。为明确直连的域名选择本地可达的解析服务,例如网络管理员提供的 DNS。223.5.5.5 是公共 IPv4 解析地址示例,但是否适合当前网络仍需测试;涉及内部域名时,应优先遵循所在网络的配置。
  3. 检查引导解析。DoH 地址本身含有域名,首次连接仍需解析这个域名;代理节点地址若也是域名,也可能需要先完成解析。按当前内核提供的引导解析或域名解析设置处理,避免让节点解析依赖尚未建立的代理连接。
  4. 保存并重启内核。观察日志是否出现解析失败,再运行同一组在线测试。每次只改一个变量,便于判断是解析器不可达,还是出站路由不正确。

路由分流:让解析与连接使用同一套边界

打开“设置”→“路由设置”,检查当前启用的规则,而不是只修改未被选中的规则集。分流至少包含两个问题:目标域名由哪个解析器处理,得到地址后连接从哪个出站发送。两者关联,但不是同一个开关。

访问类型预期解析重点检查
明确代理的外部域名远程 DNS解析请求与业务连接都按预期使用代理
明确直连的域名直连 DNS解析结果适合本地网络,未误走远程路径
局域网或单位内部域名内部 DNS保留内部解析,避免发往公共解析服务
代理节点服务器域名可用的引导解析代理尚未连通时也能取得节点地址

使用 Xray 域名规则时,geosite 是域名集合,geoip 是 IP 集合。域名规则能直接匹配名称;部分 IP 判断则可能需要先取得地址。调整域名解析策略前,应先理解当前规则何时触发解析,避免为了匹配 IP 规则而增加不必要的本地查询。

  • 检查规则优先级。较宽泛的直连规则放得过早,可能覆盖原本准备走代理的检测域名。
  • 检查出站标签。自定义配置中的 DNS 出站与业务出站必须引用真实存在的标签,不能照抄示例名称。
  • 区分两种“全局”。将路由改为全部走代理,只改变已进入内核的流量,不会自动接管绕过系统代理的应用。
  • 保护内部解析。单位网络依赖的内部域名可能无法由公共 DNS 解析,统一远程解析前应保留必要例外。

需要补齐基础概念时,可查看路由分流说明与代理模式说明。修改订阅分组不会自动修正 DNS 路由;更新订阅后也应确认当前节点和规则仍是预期组合。

浏览器、TUN 与 IPv6 的绕行检查

系统代理主要面向愿意读取代理设置的应用。浏览器可能使用独立安全 DNS,其他程序也可能直接调用系统解析或自己发送 DNS 请求。开启系统代理后仍检测异常,不应立即判断节点失效,先确认请求是否进入了 v2rayN 管理的路径。

  1. 固定浏览器安全 DNS。在 Edge 中打开“设置”→“隐私、搜索和服务”→“安全性”,检查“使用安全的 DNS”相关选项。排查时可临时关闭独立安全 DNS,以减少变量;如果由组织策略管理,不要绕过策略,联系管理员确认解析路径。
  2. 按需测试 TUN。需要处理不读取系统代理的应用时,以管理员身份运行 v2rayN,再启用界面的“启用 Tun”选项。检查虚拟网卡、默认路由和 DNS 接管配置。TUN 的具体行为取决于所用内核,不能仅凭开关亮起就判断全部查询已被接管。
  3. 检查 IPv6。AAAA 查询本身不等于泄漏;需要确认 IPv6 业务连接和 DNS 请求是否遵循同样的代理策略。只处理 IPv4、保留未接管的 IPv6 路径,可能得到不一致的出口。
  4. 排除网络叠加影响。其他虚拟网卡、单位隧道或安全软件可能改变路由与 DNS 优先级。记录现状后逐项测试,避免同时修改多套网络设置。

如果仅系统代理模式异常,而配置完整的 TUN 模式结果符合预期,优先检查应用是否绕过系统代理。若两种模式都异常,则继续检查 DNS 出站、引导解析和浏览器独立解析。具体接管边界可参照TUN 配置说明。

命令与日志:区分解析失败和路径异常

打开 PowerShell,先查看各网卡的 DNS 配置,再清理系统缓存。以下命令用于观察 Windows 解析环境,不会自动通过 v2rayN 的 HTTP 或 SOCKS 代理;命令成功只能说明相应系统解析路径可用,不能代替浏览器泄漏检测。

Get-DnsClientServerAddress
ipconfig /flushdns
Resolve-DnsName example.com -Type A
Resolve-DnsName example.com -Type AAAA

ipconfig /flushdns 只清理 Windows DNS 客户端缓存,不会清除浏览器或内核的全部缓存。测试前后应重新打开浏览器测试页,并在修改内核 DNS 设置后重启内核。日志中没有报错,也不能单独证明 DNS 没有绕行。

报错:no such host

原因与解法:日志中的目标主机未能解析,可能是节点域名拼写错误或解析器不可用;先核对报错对应的域名,再检查引导 DNS 与当前解析服务。

报错:context deadline exceeded

原因与解法:操作超过了等待期限,若同条日志指向 DNS 请求,优先检查解析服务连通性与其出站路径;该报错也可能发生在连接阶段,不能脱离上下文认定为 DNS 故障。

报错:connection refused

原因与解法:目标端口没有接受连接,若配置引用本地 DNS 服务,检查对应服务是否启动、监听地址和端口是否一致;不要把代理监听端口误填成 DNS 端口。

结论:用检测结果验证路径,用日志解释失败

网页能打开但解析归属不符时,查接管和分流;域名无法解析时,先查解析器、节点域名与引导链路。不要在两类问题之间反复盲换节点。

常见问题与完成检查

出口已经变了,为什么 DNS 还是本地运营商?

先确认检测域名没有被直连规则命中,再检查浏览器是否提前本地解析。固定浏览器安全 DNS 设置,核对“设置”→“DNS 设置”中的远程解析出站,重启内核后重新测试。

改成 DoH 后网页反而打不开,应该继续换地址吗?

先恢复上一次可用配置,检查 DoH 服务域名是否能完成引导解析,以及远程 DNS 是否依赖尚未建立的节点连接。把“解析服务不可达”和“节点自身域名无法解析”分开处理。

检测出现三个 DNS 地址,是不是泄漏了三次?

不是。多个地址可能属于同一个递归解析服务。比较服务归属、直连基线和配置预期;只有出现非预期解析路径时,才需要继续定位,不能按地址数量下结论。

开了 TUN,能不能直接忽略浏览器设置?

不能。浏览器独立 DoH 可能作为普通 HTTPS 连接进入 TUN,但仍使用另一家解析服务。若希望统一由指定解析器处理,仍需协调浏览器安全 DNS 与内核 DNS 策略,并验证 IPv6 路径。

完成设置后,保留一份可回退的记录:当前节点、内核类型、系统代理或 TUN 状态、远程与直连 DNS、路由规则名称,以及两轮检测结果。不要公开订阅地址、节点认证信息或含敏感域名的完整日志。

  • 确认代理域名的解析服务符合预期,直连与内部域名仍能正常访问。
  • 确认重启 v2rayN 后配置仍生效,而不是只在当前浏览器会话中正常。
  • 切换 Wi-Fi、有线网络或热点后重新检查,尤其注意各网卡的 DNS 和 IPv6 状态。
  • 升级客户端、切换内核或更换路由模板后重新测试,不沿用旧环境的结论。

v2rayN 客户端下载

按系统与架构选择客户端;首次配置可先完成订阅导入,再检查 DNS 与路由。