更新数千个域名的 Glue 记录

更新数千个域名的 Glue 记录

我正在迁移一个拥有几千个小型站点并有自己的 DNS 的 Web 服务器。每个站点的主机名格式为“customer.ourcompany.com”,有些站点的主机名格式为“www.customersdomainname.com”。

当我们进行迁移时,IP 将会改变,因此我们需要更新所有域的所有 DNS 条目。因为这台机器也是 ourcompany.com 的主管,所以 ns1.ourcompany.com 的 IP 也必须更改。

这就是问题所在。对于所有客户端域,我们需要确保任何粘合记录都包含正确的 IP。

胶水记录总是域名注册商会使用哪些 IP 地址,即使从技术上讲域名并不需要这些 IP 地址?我们曾经迁移过另一个网络服务器,我需要登录到注册商的网站 (GoDaddy),只需将 ns1 换成 ns2 或反之,即可更新每个域名服务器条目。这迫使 GoDaddy 查找域名服务器的新 IP 地址,并将其存储为胶合记录。我担心不得不再次这样做,但有 2000 个域名,并非全部在同一个注册商处。

有什么想法吗?

答案1

我认为您可能对胶水记录的定义有点困惑。以下是该过程的简要总结:当您向域名注册商注册域名 (example.com) 时,您需要为对该域名具有权威性的名称服务器提供主机名。

如果名称服务器与您正在注册的域名 (ns0.example.com) 位于同一域中,那么您还需要为它们提供 IP 地址。这些将构成您的粘合记录。如果没有这些粘合记录,DNS 查找将陷入困境,即他们不知道如何解析域的地址,因为他们无法首先解析名称服务器。

但是,如果名称服务器位于不同的域中,则不需要粘合记录。您只需为名称服务器提供主机名(无 IP 地址),DNS 查找将首先解析这些主机名,然后再解析请求的域。

考虑到这一点,您要尝试执行的操作有两种可能的情况。从您所描述的情况来看,我怀疑第一种情况适用于您:

  • 如果所有客户端域ns1.ourcompany.com在区域文件和 WHOIS 记录中都有一个名称服务器,那么您只需要更改区域文件中存储的 IP 地址并粘贴域的记录ourcompany.com。因为这是在查找过程中需要引导的唯一自引用主机名。

  • 如果每个客户域都使用ns1.customersdomainname.com并具有指向您 IP 地址的胶水记录,那么您还需要做更多工作。您需要更新每个域。一些注册商提供 API,您可以使用它们来自动执行更改。不过,在您这样做的同时,我建议您合并到我上面描述的设置,以防止将来重复此类工作。

答案2

不幸的是,如果您不管理自己的 DNS(或者让 DNS 管理公司而不是在 DNS 管理选项中提供专业附加服务的注册商为您管理),我认为没有简单的方法可以一步完成此操作。

如果相关注册商的界面有“批量更改”选项(有些有,有些没有),并且该选项涵盖更新名称服务器粘合记录,您可能能够加快速度。

答案3

如果您必须更改面向公众的 DNS 的 IP 地址,那么我强烈建议您重叠这两个设置,以便它们同时处于活动状态。这样,您就可以继续从旧地址提供服务,而互联网的其余部分正在更新到新地址。最终,一旦对旧地址的请求逐渐减少,您就可以将其脱机。修改 TTL 可以帮助加快此过程。

如果这是 Bind 服务器,编写区域文件更改脚本并不困难,特别是当您使用相当少的 IP 地址时。通常,我会将整个目录复制到临时位置并通过 sed 运行它们。这让您有机会在将所有更改放回原位之前验证它们。

相关内容