DNS 解析错误的典型现象:用域名访问网站报错/超时,但直接用 IP 能打开——说明链路通,问题出在”域名→IP”这一步。

一、怎么判断是 DNS 故障
用 nslookup 域名 直接问解析:若回显 DNS request timed out 或解析不出正确 IP,基本锁定 DNS 问题;再配合监控工具(或 dig +trace 看解析链路)确认是哪一环异常。先分清是”解析不到”还是”解析到错 IP”。
二、解决步骤
换公共 DNS:运营商 DNS 可能存在劫持或不稳,临时把网卡 DNS 改成 8.8.8.8 / 223.5.5.5 验证是否为本地 DNS 问题。清缓存:ipconfig /flushdns 清掉本地解析缓存(出现 successfully flushed 即成功),排除脏缓存。查 HOSTS:看系统 hosts 文件有无异常的域名-IP 绑定,内部网站尤其要查。企业内网还要查内网 DNS 服务器的记录与转发配置。
三、收尾
改完公共 DNS 后若能解析,说明本机/内网 DNS 有问题,需进一步排查 DNS 服务器或上游;持续用监控盯解析成功率,避免”时好时坏”难定位。流程就是:先判断(nslookup)→再处理(换DNS/清缓存/查hosts)→后验证(监控)。
一、四步定位法
① 判定是不是 DNS:用 nslookup(Windows)或 dig(Linux/macOS)查目标域名,若超时或返回异常即锁定解析层;若解析正常但访问失败,问题在链路或服务端,不必再查 DNS。② 区分本机还是服务器侧:在问题终端查一次、再在同一网段的另一台终端查一次,两台都失败指向解析器/上游,只有一台失败指向本机配置。③ 换解析器验证:临时把网卡 DNS 改成另一个公共解析器再试,好转说明原解析器或其上游有问题。④ 清缓存与查 hosts:本机缓存(ipconfig /flushdns)、hosts 文件里的错误绑定,这两处最容易被忽略。
二、三类错误各自的成因
| 现象 | 含义 | 常见成因 | 处置 |
|---|---|---|---|
| 请求超时 | 没收到应答 | 解析器不可达、限流、防火墙丢包 | 换解析器、检查链路 |
| NXDOMAIN | 域名不存在 | 域名写错、记录已删、拼写差异 | 核对域名与解析记录 |
| SERVFAIL | 服务器内部错误 | 权威服务器配置错、委派异常 | 查权威区配置与委派链 |
三、容易踩的三个细节
① 缓存不彻底:换解析器前先清缓存,否则会拿旧结果下结论;② hosts 优先级高于 DNS,Windows 与部分 Linux 会先查 hosts,里面残留的旧 IP 会让「换了 DNS 还是老地址」;③ 内外网双解析:内网域名必须走内网 DNS,用公共 DNS 解析必然失败——很多「域名打不开」其实是把内网域名指向了公网解析器。
四、处置完必须做的收尾
定位到原因后要留下可复用的东西:解析器与域名的对应关系表(哪些域名走内网、哪些走公网)、异常时的切换开关(改一处配置即可切到备用解析器)、以及解析失败与超时的监控告警。否则同一个问题下个月还会再来一次,而每次排查都要重新走这四步。
本文整理自公开技术文章,正文未做实质性改写,仅供技术参考。正文主体与原文基本一致,版权归原作者所有;本站仅作技术学习与方案参考,如涉侵权请联系本站删除。



评论 0
还没有评论,来抢沙发吧。