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