故障排查 排查

DNS 解析异常的检查方法

节点延迟正常但部分网站打不开、跳错页面或报证书错误,多为 DNS 解析异常。本文讲解用 nslookup 对比解析结果、清理缓存、检查客户端 DNS 配置与排除 IPv6 干扰的完整检查流程。

发布于 最后核验 约 4 分钟读完

DNS 负责把域名翻译成 IP 地址。代理环境下 DNS 异常的典型表现是:节点延迟测试正常,但部分网站打不开、跳到陌生页面或提示证书错误。检查可概括为对比解析结果、清理缓存、核对客户端配置三步。

可能原因概览(按概率排序)

排序 可能原因 典型特征
1 运营商或路由器 DNS 劫持 部分域名解析到陌生 IP,出现广告或错误页
2 客户端 DNS 分流配置不当 修改配置后出现,国内外网站解析错位
3 系统或浏览器解析缓存陈旧 网站刚更换服务器后无法访问,别人正常
4 IPv6 双栈解析不一致 关闭 IPv6 后恢复正常
5 所用 DNS 服务器临时故障 换一个公共 DNS 立即恢复(少见)

按顺序执行的诊断步骤

  1. 确认故障形态。先做延迟测试并访问几个不同网站。正常的“DNS 问题指纹”是:延迟正常、部分网站异常;如果延迟全部超时,属于连接问题,应转到所有节点显示 Timeout 的排查方法
  2. 对比解析结果。在终端执行 nslookup 故障域名(使用系统默认 DNS),再执行 nslookup 故障域名 223.5.5.5 指定公共 DNS 查询。正常应看到两次返回的 IP 属于同一网段或同一服务商;默认 DNS 返回的 IP 明显异常(如指向本地网段、保留地址或陌生服务器),即为劫持或污染特征。
  3. 清空解析缓存。Windows 执行 ipconfig /flushdns,浏览器重启或在其网络设置中清除缓存,手机可开关飞行模式。正常若访问恢复,说明只是缓存了过期或错误的记录。
  4. 检查客户端 DNS 配置。如果最近改过客户端的 DNS 或分流设置,先恢复默认再测试。正常情况下默认配置即可正确处理国内外域名的解析路径;分流机制与模式差异见规则模式和全局模式的区别
  5. 排除 IPv6 干扰。在系统网络设置中临时关闭 IPv6 后复测。正常若恢复,说明 IPv6 下的解析或连通性有问题,可保持 IPv4 优先。
  6. 检查浏览器的加密 DNS 设置。部分浏览器默认开启基于 HTTPS 的加密解析(DoH),解析请求绕过系统与客户端,典型表现是“只有某个浏览器异常、系统其他应用正常”。在浏览器隐私或安全设置中找到安全 DNS 选项,关闭或改为可靠服务后重测。正常应看到该浏览器与其他浏览器行为一致。
  7. 更换 DNS 服务器。把设备或路由器的 DNS 手动指定为可靠的公共 DNS 再测。常用选择如下(均为公开服务):
DNS 服务 地址 说明
阿里公共 DNS 223.5.5.5 国内解析速度快
腾讯公共 DNS 119.29.29.29 国内解析速度快
Cloudflare 1.1.1.1 国际通用
Google 8.8.8.8 国际通用

各原因的处理方法

路由器或运营商劫持:在路由器管理界面把 DNS 改为公共 DNS,全屋设备生效;路由器被运营商锁定时,改在单台设备上手动指定。这种劫持在“某个 Wi-Fi 下不可用、手机流量正常”的场景中最常见,完整排查见移动网络可以使用但 Wi-Fi 无法连接怎么办

客户端配置不当:恢复默认 DNS 配置是最快的修复。想自定义的用户应先理解 fake-ip 与真实 IP 模式、国内外分流解析的机制,改动前备份配置,逐项修改并验证。

缓存陈旧:清缓存即可,无需其他处理。网站迁移服务器后的短暂不可访问属于正常现象,通常数小时内自然恢复。

移动设备的注意点:手机系统没有清空解析缓存的直接入口,开关一次飞行模式或重启即可达到同样效果。iOS 的 DNS 需要按 Wi-Fi 网络逐个设置;Android 的“私人 DNS”(DoT)开启后会绕过常规解析路径,与浏览器 DoH 的效果类似,排查期间建议先设为自动或关闭,恢复正常后再按需开启。

IPv6 问题:保持 IPv4 优先,或关闭路由器的 IPv6 分配;待网络环境与配置对 IPv6 支持完善后再重新开启。

DNS 服务器故障:更换为上表中的其他服务即可,同时配置一主一备两个地址可以自动容错。

何时联系服务方

如果 nslookup 显示解析结果正常、IP 无异常,网站却仍无法通过节点访问,问题可能出在节点侧对特定网站的处理上,此时值得联系服务商,并提供:故障域名、两次 nslookup 的完整输出截图、所用节点名称与客户端版本、更换 DNS 前后的测试结果。若确认是本地网络的 DNS 被劫持,应联系的对象则是宽带运营商或网络管理方,服务商无法替你解决接入网内的劫持。

常见问题

怎么区分是 DNS 问题还是节点问题?

看故障的分布形态:节点问题表现为延迟测试超时、所有网站一起不可用;DNS 问题表现为延迟测试正常、只有部分网站打不开或跳到错误页面。再用 nslookup 对比不同 DNS 服务器对故障域名的解析结果,结果明显不一致即可确认解析环节异常。

修改了 DNS 设置但没有生效,为什么?

常见原因有三个:系统或浏览器仍在使用旧的解析缓存,需要清空缓存或重启;浏览器开启了自带的加密 DNS(DoH),绕过了系统设置;或代理客户端接管了解析,系统 DNS 根本不参与。逐一排除后重新测试,改动才能真正落地。

DNS 泄漏是什么,需要担心吗?

DNS 泄漏指使用代理时,域名解析请求仍从本地网络直接发出,使本地网络能看到你访问的域名列表。对一般用户影响主要在隐私层面,也可能因解析结果不佳影响访问质量。主流客户端的默认配置已妥善处理解析路径,无需手动更改即可避免大部分泄漏场景。

客户端里的 DNS 设置需要自己修改吗?

一般不需要。主流客户端与订阅配置自带的 DNS 方案已针对分流场景优化,随意修改反而容易造成国内外域名解析错位、部分网站打不开等新问题。只有在明确理解 fake-ip、分流解析等机制并有具体需求时才建议调整,改动前先备份原配置。