题 当我更改区域文件或DNS设置中的名称服务器记录或A记录时会发生什么?


我真的不明白互联网和DNS如何运作。当我试图在维基百科上阅读它时,我被我不理解的术语所淹没。我没有计算机科学背景。

将名称服务器记录从ns1.oldserver.com更改为ns1.newserver.com时,实际发生了什么?我的意思是,什么“机器”或东西负责将用户的url查询从ns1.oldserver.com导向ns1.newserver.com?用户如何知道再也不会去ns1.oldserver.com?

同样,当我将域的A记录更改为从旧IP地址指向新IP地址时,实际发生了什么?是否与更改名称服务器记录相同?

谢谢


10
2018-02-24 18:39






答案:


记录从父名称服务器委派 - 它就像一个链(或通常被描述为反向树)。每个DNS客户端都知道根服务器的IP地址 - 这些是一组服务器(我认为它是13),它们提供了注册管理机构服务器的IP地址 - Nominet为.uk,eurID为.eu等。

然后,您的域名将在注册表中注册,该注册表具有您的名称服务器的地址(在您的示例中为ns1.oldserver.com)。最后,您的域名服务器(或名称服务器,因为您应该至少有两个)提供实际请求。

想象一下,例如,客户想要访问www.domain.com。

这可以分为三个组件 - 所谓的顶级域(TLD),客户端在此示例中查询根服务器的.com。其中一个服务于此的名称服务器可能是a.gtld-servers.net - 根服务器将a.gtld-servers.net的IP地址提供给客户端 - 这些被称为NS和粘合记录。

接下来是本例中的实际域名 - domain.com。客户端查询a.gtld-servers.com以获取domain.com。然后,这可以返回ns1.domain.com和ns2.domain.com,并将相关的IP地址作为NS和粘合记录。

最后是主机名 - 本例中的www。因此,客户端将查询域名为www.domain.com的ns1.domain.com或ns2.domain.com,并获取网站的实际IP地址(A记录。)

所有这些都在几毫秒内完成。 DNS解析器的典型超时为2秒。

要回到原始问题,当您更改名称服务器时,您正在更改注册表级别的NS记录(Nominet,eurID等)更改完成后,客户端查询domain.com的根服务器时,它将获得ns1.newserver.com的IP地址而不是ns1.oldserver.com。

全世界所有客户通常需要72小时才能注意到更改,因为它们会在域记录中指定的一段时间内缓存所有结果。 NS记录通常缓存72小时甚至长达一周。因此,在进行更改后至少几天内不要让旧名称服务器脱机。

更改A记录与更改NS记录非常相似 - 您只需更改内容,例如更改数据库记录。下次有人查询您的记录时,它会获得新值(再次考虑缓存,但A记录要低得多,通常是1/2 - 1天。)

如果您可以访问Linux机器,请运行dig + trace www.google.com,您将看到可能为您提供更好主意的完整查询链。


17
2018-02-24 19:30



精美解释! - Nitin Venkatesh
我添加了一个新DNS,因此我可以使用辅助备份。 DNS本地父级不匹配是我使用在线工具检查时遇到的唯一错误。它最终是自动传播还是我的ISP必须更新其记录? - Overmind