DNS 改完,为什么有的地方生效有的没有?

4 个讲解板块 · 关联 1 款站内工具 · 内容最后核对 2026-10-20

你改的只是权威服务器上的记录,各地递归解析器还抱着旧答案,等各自的缓存到期才会来取新的。

直接答案

域名解析是分层的:权威服务器存放真实记录,各地递归解析器替你查询并按 TTL 把结果缓存一段时间。

你改记录后,缓存里还是旧答案,只有等那台解析器的缓存到期重新回源,才会拿到新值,所以生效时间天然不一致。

想确认改没改对,直接问权威服务器而不是问本地解析器;想减少等待,下次提前把 TTL 调低再改。

解析记录改完,自己电脑上已经指向新地址,同事那边还是旧地址,手机用流量又是另一种结果。

这篇讲清楚这套缓存机制怎么运作、怎么判断是「还没生效」还是「真的配错了」。

1一次解析走过的三段路

理解缓存位置,才能理解为什么不同网络看到的结果不一样。

环节谁在缓存缓存多久
本机与路由器操作系统、浏览器、路由器按记录 TTL,部分系统有自己的上限
运营商递归解析器宽带或移动网络提供的 DNS按 TTL,且可能不严格遵守
公共解析服务各类公共 DNS按 TTL,全球节点各自到期
权威服务器不缓存,直接给答案记录改完立即是新值

权威服务器永远是最新的,问题永远出在中间那些缓存上。

2TTL 决定了最坏要等多久

TTL 是记录自带的存活秒数,也是这次改动的最长等待时间(前提是解析器守规矩)。

TTL 设置最长等待适合什么场景
300 秒约五分钟准备迁移前的过渡期
3600 秒约一小时日常稳定运行
86400 秒约一天长期不变的基础记录
不遵守 TTL 的解析器可能远超设定值运营商侧行为,无法从你这端控制

迁移前把 TTL 提前一天调到三百秒,切换时等待窗口就从一天缩到几分钟。

3怎么判断是没生效还是配错了

两条查询路径对照,一眼就能分清。

查权威服务器
直接向该域名登记的权威服务器发起查询
查本地解析器
用系统默认 DNS 查询
看剩余 TTL
查询结果里会带剩余秒数
换网络再试
切到手机流量或其他网络

权威服务器返回新值、本地仍是旧值,就安心等缓存过期,不用反复改配置。

4改之前的三个准备动作

把等待变成可控的时间窗,而不是碰运气。

提前降 TTL
至少提前一个旧 TTL 周期
避开业务高峰
选流量低谷切换
新旧地址并存一段时间
两套记录同时有效

切换完成后不要立刻把 TTL 调回一天,先观察一段时间再恢复。

相关疑问

为什么用手机流量就能访问新地址?

手机流量走的是另一个递归解析器,它的缓存可能已经到期或本来就没查过这条记录。

改了记录需要重启路由器吗?

多数情况不需要,路由器缓存会按 TTL 自然过期;急着验证可以清一下本机 DNS 缓存。

TTL 设成零是不是立刻就生效?

不一定,零只表示不缓存,仍有解析器会短暂保留结果,而且频繁查询会增加权威服务器压力。

为什么权威服务器查出来还是旧值?

那说明改动没有真正保存或未生效,问题在配置侧,不在缓存侧。

内容标识:本页内容由人工智能辅助生成,并经人工核对与编辑。详见 人工智能生成内容标识说明。
内容说明:本页针对具体使用问题作答,方法步骤与数值由本站自行整理与复算,事实性内容以对应官方规范与文档为准。内容最后核对日期:2026-10-20。若发现错误,欢迎通过页脚反馈入口告知。