我的注册商搞砸了还是这就是名称服务器传播的工作原理?

Bra*_*rad 2 domain-name-system domain-registrar

所以我的公司有许多域名,其中有一个大型注册商,但未命名。我们正在对我们的 DNS 基础设施进行一些更改,其中第一项是我们将辅助 DNS 从现场的一台服务器移至异地的四台服务器。因此,我们通过删除旧的辅助名称服务器的条目并添加四个新的条目来更新注册商处每个域的名称服务器。我监视了旧的辅助服务器的请求,当我看到 24 小时没有新请求时,我将其关闭。那是今天早上。我认为此时一切都很好。不幸的是,这是我的错误。我应该去确保整个名称服务器都返回正确的 NS 记录。

所以今天下午我们正在维护我们的主要 DNS 服务器,我们将其关闭。这是我开始从我们的外部监控中获取警报的时候。我检查了一下,果然,那里使用的 DNS 服务器报告了我们主域的唯一 NS 记录是主名称服务器。新的辅助服务器没有列出,旧的辅助服务器也没有列出。

我认为这是不合理的,因为更新来自

ns1.mydomain.com
ns2.mydomain.com
Run Code Online (Sandbox Code Playgroud)

ns1.mydomain.com
ns1.backupdns.com
ns2.backupdns.com
ns3.backupdns.com
ns4.backupdns.com
Run Code Online (Sandbox Code Playgroud)

在注册商处的一个步骤中,应该没有中间状态,其中唯一的 NS 记录是 ns1.mydomain.com?

显然,为了安全起见,我将始终不理会旧名称服务器,直到我 100% 确定新名称服务器已经传播,然后才从注册商中删除旧名称服务器。但是,我仍然想知道是我的注册商搞砸了还是我的期望不合理。

vor*_*aq7 7

我假设因为更新来自<...修剪...>

是的

一般来说,对通过控制面板软件执行的任何更改做出任何假设都是不合理的(除非标准假设它会以某种方式搞砸)。 这包括 DNS 注册商管理接口(后端通常非常糟糕)。

您所做的更改可能作为两个单独的事务处理(一个删除旧服务器,一个添加新服务器),并且有人在第一次交易之后但在第二次之前获得了您的 DNS 信息。


你被咬到这里是因为你有点做错了——尽管我们很多人都这样做。
对于未来,在停用 DNS 服务器/用新服务器替换它们时,安全的工作流程是:

  1. 构建和部署您的新 DNS 服务器。验证它们是否正常运行。
  2. 将新的 DNS 服务器添加到注册商的名称服务器列表中。
  3. 等待(直到整个互联网上都发现了更改。)
    依赖于TTL,但通常 24-48 小时是一个很好的规则。
    • 此时,您应该开始看到新服务器上的查询。
  4. 从注册商的名称服务器列表中删除旧的 DNS 服务器。
  5. 再次等待(直到整个 Internet 上
    都发现更改为止)您应该不会再看到查询进入已停用的服务器。
    与 (3) 一样,24-48 小时是一个很好的规则。
  6. 拔下旧服务器并按照贵公司的政策进行处理。

该工作流程保证最坏的情况是有人会列出一个额外的(蹩脚的)NS,因为他们正在使用“第 2 步”信息,但他们将始终拥有您的所有新辅助节点,因此他们应该始终能够为您的域找到至少一个工作名称服务器。

您将步骤 2、3、4 和 5 合并为一个步骤,在后端,移除 (4) 发生在添加 (2) 之前。
可能永远不会引起问题,除非您在每个人都赶上更改的“添加”部分之前进行维护。这是一个经典的边缘案例,您已经成功了。

现在你知道了,知道是战斗的 7/16。

  • 作为一个历史旁注,*回到当天*注册商分批更新(通常每天在凌晨 3 点左右),这种事情并不经常发生,因为您在“正常”时间进行了更改。当然,当它**确实**发生时,所有类型的事情都搞砸了,这就是上面的“安全工作流程”发挥作用的地方——在等待更新的同时拥有额外的名称服务器 24 小时*方式*更好仅拥有一个名称服务器超过 24 小时... (2认同)