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


11

我不太了解互联网和DNS的工作原理。尝试在Wikipedia上阅读时不理解的术语使我感到困惑。我没有计算机科学背景。

将名称服务器记录从ns1.oldserver.com更改为ns1.newserver.com时,实际上是什么情况?我的意思是,什么“机器”或事物负责将用户的url查询从ns1.oldserver.com定向到ns1.newserver.com?用户将如何知道永远不再去ns1.oldserver.com?

同样,当我将域的A记录更改为从旧IP地址指向新IP地址时,实际上是什么情况?它与更改名称服务器记录一样吗?

谢谢

Answers:


19

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

然后,使用您的域名服务器(在您的示例中为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。然后,这可以将具有相关IP地址的ns1.domain.com和ns2.domain.com退还给NS和胶粘记录。

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

所有这些都以毫秒为单位。DNS解析器的典型超时时间为2秒。

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

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

更改A记录与更改NS记录几乎相同-只需更改内容,如更改数据库记录。下次有人查询您的记录时,它将获得新的值(再次考虑到缓存,但是对于A记录,该值要低得多,通常为1/2-1天。)

如果您可以访问Linux,请运行dig + trace www.google.com,您会看到完整的查询链,这可能会给您带来更好的主意。


精美的解释!
Nitin Venkatesh 2013年

我添加了一个新的DNS,因此可以有一个备用的DNS。DNS本地父级不匹配是我使用在线工具检查时遇到的唯一错误。它最终是否会自动传播,还是我的ISP必须更新其记录?
忘了
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.