域名解析不生效:逐层排查
发布时间:2026-03-25 21:58       
更新时间:2026-03-26 19:58
解析记录改了几个小时,网站还指向旧地址,这类问题要按固定层级查:权威 DNS、递归缓存、本地配置,从源头一路查到浏览器。
## 准备工作
先固定三个信息:完整域名、期望解析到的 IP、记录的 TTL 值(缓存存活秒数,DNS 控制台里能看到)。TTL 决定后面两步要等多久,提前看清数值,心里有数就不慌。排查全程用命令说话,dig 或 nslookup 任选,下文以 dig 为例。
## 第一步:问权威 DNS
权威 DNS 是记录的最终答案,直接问它:
dig example.com +short
想指定权威服务器,用 @ns1.dns.com +short 的形式(ns1.dns.com 换成控制台显示的 DNS 服务器名)。权威返回新 IP,说明记录已生效,问题出在缓存;返回旧 IP 或没有输出,回控制台检查记录是否保存成功、线路参数是否选对。权威返回必须与控制台记录完全一致才算过关,两边对不上的,优先怀疑改错了域名,或账号下存在多条同名记录。
## 第二步:查递归缓存
运营商和公共 DNS 会按 TTL 缓存应答。换公共递归对比:
dig @114.114.114.114 example.com +short
还是旧值就等 TTL 到期:300 秒的记录最多等五分钟,3600 秒的要等一小时。等不及缓存过期,可以用 dig +trace 从根服务器逐级追到权威答案,完全绕开缓存,直接验证记录本身。切换期显得格外漫长,多数是当初 TTL 设得过大。
## 第三步:查本地环境
递归已返回新 IP 而浏览器仍旧,嫌疑收窄到本地:cat /etc/hosts 看有没有写死的旧记录(Windows 在 C:\Windows\System32\drivers\etc\hosts);清系统 DNS 缓存,Windows 执行 ipconfig /flushdns,Linux 视服务执行 resolvectl flush-caches;换隐私窗口或另一台设备交叉验证,排除浏览器自身的缓存。办公网里还有自建 DNS 这一层,公司网络解析异常而手机流量正常时,先问网管内网 DNS 的缓存与转发策略。
常见报错对照:NXDOMAIN 多为记录名拼错;一直返回旧值且 TTL 不变,注意控制台里改的可能不是正在生效的那条记录。另要区分"解析不生效"与"解析生效但服务没起":ping 出的 IP 已是新的而页面打不开,问题已经不在 DNS,回头查服务。三层查完,绝大多数"不生效"都有答案。