我们距离为客户推出一个新网站还有几周的时间,以替换同一 URL 上的现有网站。
作为工作的一部分,他们将他们的名称服务器转移到我们的托管服务提供商 (Rackspace)。首先,这些需要解析到他们的旧网站(由他们的旧提供商托管谁知道在哪里),然后在发布日我们将把它切换到指向新服务器。
虽然我只负责网站,但我知道 DNS 记录也负责电子邮件之类的事情,所以...
- 如何获得他们现有 DNS 记录的完整副本?我需要联系现有的名称服务器吗?(理想情况下,我可以下载/抓取现有记录,然后在新系统上重现它吗?)
- 有什么方法可以确保名称服务器更改时 DNS 记录不会更改?(即确认我没有搞砸)。
- 除了网站和 MX 记录之外,我可能还需要担心其他重要记录吗?
获取现有 DNS 的副本可能涉及将其从基于 Web 的管理界面中“抓取”出来。您可以尝试
dig
使用、或 DNS 服务器执行区域的区域传输nslookup
,但任何正确配置的 DNS 服务器都不会为 Joe Anybody TM提供区域传输。您会在 Server Fault re: orderly cutover of DNS records between an "old value" 和 "new value" 中找到几个问题(这里有一个:如何将 Web 服务器的 DNS 从一个 IP 地址平滑迁移到另一个 IP 地址?)。
执行这种割接的传统方法是将“旧值”放在 DNS 服务器中(例如分配给“www”A 记录的预割 IP 地址)并在割接之前关闭 TTL(有些人更喜欢将此值回退一半,直到切割发生 - 24 小时、12 小时、6 小时等,直到切割)。一旦达到切换时间,您就可以将新记录放在适当的位置以及您想要的任何 TTL。理想情况下,预剪切记录的 TTL 如此短,以至于它很快就会在可能缓存它的网络周围的所有递归解析器上过期(假设每个人都在玩,并且不会做一些愚蠢的事情,比如覆盖你的 TTL) .
如果您真的很偏执(或者有人不遵守规则并忽略您的 TTL),您可以通过在旧 Web 主机上使用 URL 重写或反向代理将客户端引导到新主机来增强这一点。您是否需要达到这种偏执程度取决于您的具体情况。如果该站点本质上是静态的,我会保持该站点在旧服务器上运行,直到您不再看到访问访问那里的日志。
我认为重要的记录可能是域的 MX 记录,域的 A 记录,“www”,以及 MX 记录指向的任何内容。我会谨慎行事并复制该区域的全部内容,以便您以后可以检查每条记录并确定它们是否被使用以及它们的用途。(例如,我知道我的客户通常在公共 DNS 中有他们的用户到站点 VPN 网关的记录。)