华为云 DNS 云解析:修改记录后多久生效?TTL 与本地缓存的排查方法
在华为云 DNS 控制台改了解析记录,但访问域名还是旧 IP,这是最常见的一类「改了没生效」问题。其实解析生效时间由三层缓存共同决定,逐层排查就能定位卡在哪一层。
一、先理解 TTL:记录本身的缓存时间
每条解析记录都有一个 TTL(Time To Live),单位秒,默认 300(5 分钟)。递归 DNS 服务器会把查询结果缓存这么长时间,到期才来权威服务器取新值。所以即使权威记录已经改了,全球各地的递归服务器最多还要等一个旧的 TTL 周期。
如果预计近期要做迁移,建议提前 24 小时把 TTL 调小(比如 60 秒),迁移完成稳定后再调回来。这样切换窗口可以从 5 分钟压缩到 1 分钟以内。
二、逐层排查:权威 → 递归 → 本地
用 nslookup 或 dig 指定 DNS 服务器逐层查:
# 1. 查权威服务器:确认控制台修改已经落库
nslookup yourdomain.com ns1.huaweicloud-dns.org
# 2. 查公共递归(如 114.114.114.114):看运营商缓存是否已刷新
nslookup yourdomain.com 114.114.114.114
# 3. 查本机默认解析:看本地网络环境的结果
nslookup yourdomain.com
判断逻辑很简单:权威返回新 IP 而递归返回旧 IP,是 TTL 没到,等即可;权威就是旧 IP,说明改错了记录集(比如改了 A 记录但线上走的是 CNAME);只有本机旧、递归新,才是本地缓存问题。
三、本地缓存清理
Windows 上清理系统 DNS 缓存:
ipconfig /flushdns
浏览器还有一层自己的缓存(Chrome 可以在 chrome://net-internals/#dns 清理), hosts 文件也要检查一遍,hosts 的优先级高于一切 DNS 解析,很多人排查半天结果是本机 hosts 里写死了旧 IP。
四、CNAME 与 A 记录混用的坑
华为云 DNS 对同一主机记录不允许 A 和 CNAME 共存。如果原来业务走的是 CNAME 指向 ELB 域名,迁移时要先把 CNAME 删掉再建 A 记录,中间会有一小段 NXDOMAIN 窗口。反过来也要注意:改完 A 记录后发现不生效,先确认域名没有继续指向另一层 CNAME,那层 CNAME 的 TTL 才是真正的瓶颈。
小结
记住「权威准 → 递归等 TTL → 本地清缓存」这个顺序,配合提前调小 TTL 的习惯,解析切换基本可以做到分钟级。
- 点赞
- 收藏
- 关注作者
评论(0)