因此,我的公司在一家大型注册商处拥有多个域名,这些域名将保持匿名。我们正在对 DNS 基础设施进行一些更改,其中第一个更改是将辅助 DNS 从一台现场服务器移至四台异地服务器。因此,我们在注册商处更新了每个域名的名称服务器,删除了旧辅助名称服务器的条目并添加了四个新条目。我监控了旧辅助服务器的请求,当我看到 24 小时内没有新的请求时,我将其关闭。那是今天早上。我以为此时一切都很好。不幸的是,这是我的错误。我应该去确保整个名称服务器都返回了正确的 NS 记录。
所以今天下午我们在对主 DNS 服务器进行维护时将其关闭。这时我开始收到来自外部监控的警报。我检查了一下,果然,那里使用的 DNS 服务器报告说我们主域的唯一 NS 记录是主名称服务器。新的辅助服务器没有列出,旧的辅助服务器也没有列出。
我是否不合理地认为,因为更新来自
ns1.mydomain.com
ns2.mydomain.com
到
ns1.mydomain.com
ns1.backupdns.com
ns2.backupdns.com
ns3.backupdns.com
ns4.backupdns.com
在注册处只需一步就可以确定是否不应该存在中间状态,其中唯一的 NS 记录是 ns1.mydomain.com?
显然,为了安全起见,我将始终保留旧的名称服务器,直到我 100% 确定新名称服务器已传播,然后才从注册商中删除旧的名称服务器。但是,我仍然想知道我的注册商是否搞砸了,或者我的期望是否不合理。
答案1
我这样假设是否不合理,因为更新来自<...修剪...>
是的。
一般来说,你做出这样的行为是不合理的任何关于的假设任何通过控制面板软件执行的更改(除了标准假设它会以某种方式搞砸)。
这包括 DNS 注册商管理界面(通常在后端非常糟糕)。
您所做的更改可能被处理为两个单独的事务(一个是删除旧服务器,一个是添加新服务器),并且有人在第一个事务之后、第二个事务之前获得了您的 DNS 信息。
你在这里被咬是因为你有点做错了吗- 尽管我们很多人都这样做。
未来,当停用 DNS 服务器/用新服务器替换它们时,安全的工作流程是:
- 构建并部署新的 DNS 服务器。验证它们是否正常运行。
- 将新的 DNS 服务器添加到注册商的名称服务器列表中。
- 等待(直到互联网上广泛传播这一变化。)
依赖于 TTL,但通常 24-48 小时是个好规则。- 此时您应该开始看到新服务器上的查询。
- 从注册商的名称服务器列表中删除旧的 DNS 服务器。
- 等待再次(直到互联网上广泛接受这一变化)
您应该不再看到查询转到已停用的服务器。
与 (3) 一样,24-48 小时是一个不错的规则。 - 拔下旧服务器的电源并按照公司的政策进行处理。
这种工作流程保证了最坏的情况是,有人会因为使用“第 2 步”信息而列出额外的(无意义的)NS,但他们会总是拥有所有新的辅助设备,因此它们应该总是能够为您的域名找到至少一个有效的名称服务器。
您将步骤 2、3、4 和 5 合并为一个步骤,并且在后端,删除 (4) 发生在添加 (2) 之前。
如果不是您的维护发生在每个人都赶上更改的“添加”部分之前,那么这很可能永远不会造成问题。这是一个典型的边缘情况,您遇到了它。
现在你知道了,而了解是战斗的 7/16。