实战:同一个域名在不同设备上解析不一致
两台设备返回不同地址,并不一定是 DNS 出错。递归缓存、加密 DNS、私有区域、地理调度和 hosts 文件,都可能改变解析路径。
先写清查询条件
记录域名、查询类型、解析器、时间以及是否处于 VPN 或公司网络。A 和 AAAA 不能混为一谈,浏览器请求也可能使用与系统命令不同的解析器。
从权威与递归分别核对
确认权威区域中的记录,再查询递归解析器。缓存 TTL 和负缓存会影响修改后结果。公共 DNS 查不到企业私有域名不一定是异常,切换解析器可能反而破坏内部服务。
确认浏览器与系统的差异
浏览器加密 DNS、应用自带缓存和 hosts 都会让结果不同。先观察实际配置,再做一个受控对照;不要为了排查连续更改多个网络设置。
用指定地址请求排除 DNS
curl –resolve 能在一次请求中保留域名、SNI 与证书校验,同时指定目标地址。它适合检查新服务器,但不会改变系统 DNS,更不代表所有访客已经解析到新地址。
操作参考
1 | nslookup -type=A example.com |
示例占位符需替换为自己的环境。涉及生产服务时先保留备份,阅读命令用途后再执行。
参考资料
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 SkynetX!