四个步骤,按顺序核对
导出
所有现有记录
迁移
到新的服务商
验证
逐条比对记录
确认
等旧 TTL 过期
如何确认 DNS 迁移顺利完成
迁移 DNS,无论是更换服务商、改用新的域名服务器方案,还是重构大批记录,风险都比大多数基础设施变更更高,原因恰恰在于出错时不会大张旗鼓地失败。一条出问题的记录只是悄无声息地不再解析,或者解析到了错误的对象,而最先发现问题的往往是一张客服工单,而不是告警。
迁移之前
- 从当前服务商导出所有现有记录,要完整的区域文件或等效文件,而不只是您记得配置过的那些。
- 对即将变更的记录调低 TTL,至少提前一个完整的 TTL 周期。
- 记下所有记录的当前值:A/AAAA、CNAME、MX、TXT(包括 SPF/DKIM/DMARC),以及正在使用的任何不太常见的记录类型。
迁移之后
- 直接向新的权威域名服务器查询每一条已迁移的记录,并把每个应答与迁移前的导出内容进行比对。
- 对每个以前有 A 或 AAAA 的主机名,分别独立检查二者,迁移了一种地址族却忘记另一种,是很容易发生的疏漏。
- 专门验证 MX 以及周边的邮件身份验证记录,DNS 迁移导致邮件出问题的情况格外常见,造成的影响也格外严重。
- 在宣布迁移完成之前,请通过不止一个解析器重新检查,最好还能覆盖不止一个网络位置。
- 等旧 TTL 窗口过去之后再检查一次,切换之后立即得到干净的结果,并不能保证全球所有缓存了旧应答的解析器都已跟上。
| 记录类型 | 遗漏的风险 | 优先级 |
|---|---|---|
| A / AAAA | 站点在一种或两种地址族上无法访问 | 关键 |
| MX | 邮件悄无声息地不再被投递 | 关键 |
| TXT(SPF/DKIM/DMARC) | 邮件能投递,但被标记为垃圾邮件或遭到拒收 | 高 |
| CNAME | 依赖它的子域名或第三方集成失效 | 高 |
| NS | 如果委派有误,整个域名都将停止解析 | 关键 |
对完整的主机名列表做批量查询,在切换后立即运行一次,并在旧 TTL 窗口过去之后再运行一次,就能把这件事从逐条记录的手动检查,变成一个可重复的单一步骤,并为您留下一份可导出的记录,说明究竟验证了什么、是在何时验证的。
不要过早拆除旧的一侧
迁移之后最常见的遗憾,并不是漏掉了某条记录,而是在新的域名服务器上线的当天,就取消或停用了旧服务商的账户或域名服务器。由于全球仍有一部分解析器在使用指向旧配置的缓存应答,直到其 TTL 过期,所以在切换之后,让之前的服务商至少再保持一个完整的旧 TTL 窗口的运行(即使没有任何新内容指向它),是一份廉价的保险。如果确实需要快速回滚,旧的一侧仍在应答,意味着几分钟内就能把域名服务器切回去,而不必在压力下凭记忆重建区域文件。
预演能在问题成真之前发现大部分错误
如果新的 DNS 服务商允许,请提前搭建好完整的新区域,配置齐全但暂不委派,并直接查询它(绕过正常的委派流程,可以明确地把测试工具指向它的域名服务器,或使用服务商自带的预览功能)。这会把迁移验证从切换后的手忙脚乱,变成切换前的检查,一旦出错,也不会对用户造成任何影响。任何缺失、配置有误或与预期不同的记录,都会在任何一个真实的解析器见到它之前暴露出来,这比在切换已经上线之后才发现错误,压力要小得多。
需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。
本主题的免费工具
相关阅读
两种截然不同的使用时刻
dig / nslookup
完整协议细节,可脚本化,可离线使用
网页版工具
无需配置,支持批量查询,可分享
如何使用 DNS 查询工具:实用指南
学会使用 DNS 查询工具,查看域名的地址、邮件、域名服务器、别名和文本记录,并明白如何安全、准确地解读返回的应答。
几乎每个 DNS 区域都会遇到的记录
DNS 检查工具:如何正确检查 DNS 记录
借助 DNS 检查工具查看 A、AAAA、CNAME、MX、NS 和 TXT 记录,比对各处的应答,并排查常见的 DNS 配置问题。
两种寻址方案,并行运行
IPv4
192.0.2.10
32 位,约 43 亿个地址,已耗尽
IPv6
2606:4700::6810:84e5
128 位,约 3.4×10³⁸ 个地址
如何查找域名的 IP 地址
查找域名的公共 IPv4 和 IPv6 地址,理解 A 和 AAAA 应答,并了解为什么 DNS 可能返回多个有效的 IP 地址。