因此,我的公司有许多域名,其中有一个大型注册商,这些域名将不具名。我们正在对我们的 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% 确定新名称服务器已经传播,然后才从注册商中删除旧名称服务器。但是,我仍然想知道我的注册商是否搞砸了,或者我的期望是否不合理。
是的。
一般来说,您对通过控制面板软件执行的任何更改做出任何假设都是不合理的(除了标准假设它会以某种方式搞砸)。 这包括 DNS 注册管理界面(通常在后端非常糟糕)。
您所做的更改可能作为两个单独的事务处理(一个删除旧服务器,一个添加新服务器),并且有人在第一个事务之后但在第二个事务之前获取了您的 DNS 信息。
你被咬到这里是因为你做错了——尽管我们很多人都这样做。
对于未来,当停用 DNS 服务器/用新服务器替换它们时,安全的工作流程是:
取决于 TTL,但通常 24-48 小时是一个很好的规则。
您应该停止看到查询到已停用的服务器。
与(3)一样,24-48 小时是一个很好的规则。
该工作流程保证最坏的情况是某人将列出一个额外的(蹩脚的)NS,因为他们正在使用“第 2 步”信息,但他们将始终拥有所有新的辅助节点,因此他们应该始终能够为您的域找到至少一个有效的名称服务器。
您将步骤 2、3、4 和 5 合并为一个步骤,在后端,删除 (4) 发生在添加 (2) 之前。
除非在每个人都赶上更改的“添加”部分之前进行维护,否则可能永远不会引起问题。这是一个经典的边缘案例,而您却成功了。
现在你知道了,知道是战斗的 7/16。