什么优先:名称服务器还是记录?

什么优先:名称服务器还是记录?

如果我有一个域名,其名称服务器指向 Webhost One,但有一个指向 Webhost Two 的 A 记录,那么该域名会将我带到哪个主机?

我很确定 A 记录优先,不是吗?我目前在 GoDaddy 拥有域名,但将 A 记录指向 000Webhost。我的域名将我带到 000Webhost。但这是否意味着域名 WHOIS 信息不准确?

是名称服务器指向 GoDaddy,然后 GoDaddy 指向 000Webhost 吗?还是直接指向 000WebHost?

我之所以问这个问题,是因为我的一个朋友有一个指向网络主机的网站,但该网络主机没有该网站托管的记录,而该网站已经上线十年了。所以我想知道名称服务器是否曾经占据先例,或者,到底发生了什么?

答案1

我认为您严重误解了 DNS 的工作原理。NS 记录用于查找域的权威服务器。A 资源记录是客户端请求的(通常),也是客户端响应时要查找的内容。

快速:

假设您拥有 example.com。有人输入http://www.example.com进入他们的网络浏览器。他们的计算机向本地 DNS 服务器发出对 www.example.com 的递归查找。该服务器不知道 www.example.com 解析到哪个 IP,因此它会找出它知道的服务器的最低级别的域。在本例中,它是.根服务器。域名www.example.com实际上是www.example.com.<-- 注意末尾的“。”。

因此,DNS 服务器联系根服务器并询问他们是否知道 www.example.com 在哪里。他们不知道。但是,他们知道“com.”在哪里,这是通过该域的 NS 记录。此 NS 记录返回到 DNS 服务器。因此,DNS 服务器联系“com.”服务器并询问他们是否知道 www.example.com 在哪里,他们也不知道。但是,他们知道“example.com.”在哪里,同样是通过指向a.iana-servers.net.和 的NS 记录b.iana-servers.net.。没有人“知道”这些服务器在哪里,因此这些域的粘合记录在“net.”根服务器上注册。对“net.”根服务器进行更多查找...

DNS 服务器现在知道如何联系域服务器了example.com.!因此,它会询问该服务器是否知道“www.example.com”在哪里,答案是“知道”!该服务器有一个 SOA 记录,表明它是“example.com”域的权威服务器,并且它知道“www.example.com”的 A 记录,即它指向的 IP。DNS 服务器将此 IP 返回给客户端,世界又可以安全度过一个夜晚了。

更多详细信息:

当客户端www.example.com向 DNS 服务器发出请求时,它会告诉 DNS 服务器它正在寻找 A 记录(A 代表 IPv4;如今客户端也经常寻找 IPv6 AAAA 记录)。当其他 DNS 服务器收到 A 记录请求时,它们还会查找 CNAME 记录,但不会搜索其他记录类型。DNS 服务器知道,当对较长域名的请求失败时(例如,根服务器不知道 www.example.com 在哪里),DNS 服务器将对该服务器所拥有的信息感兴趣,例如 NS 记录。它的工作原理比您关心的要复杂,但当 DNS 服务器尝试查找域时,根服务器肯定会返回某种“失败”。

如果客户端请求电子邮件的 MX 记录、SRV 记录、TXT 记录或其他记录,响应的 DNS 服务器将不仅搜索与域名匹配的任何记录类型,它还将仅搜索相同的记录类型(查找 A 或 AAAA 记录时除外,如果没有 A 或 AAAA 记录匹配,则将返回 CNAME 匹配的结果)。此外,服务器可以具有“默认”或通配符记录,这些记录也可能匹配,但从属于直接匹配。最好避免这些情况,除非您真的知道自己在做什么。

答案2

Chris 的回答与 OP 的情况最为相关。然而实际上,在同一个权威 DNS 管理器中可以同时拥有 NS 和 A 记录。在这种情况下,Chris 的回答并没有直接解决“哪个优先”的问题。答案是 NS 记录优先于 A 记录。

我使用 Google Domains 的记录进行测试。当两者都存在时(NS 记录指向没有子域条目的名称服务器),子域无法解析。如果我将 NS 记录重命名为不同的子域,A 记录将“暴露”并解析为指示的 IP 地址。如果我将 NS 记录重命名,它会再次“屏蔽”A 记录并且不会产生有效响应。

答案3

不同提供商之间的 A 记录不存在“优先级”之类的东西。只有一个权威性您的域名的名称服务。我无法从您的解释中推断出您使用的是哪家提供商。

但是如果您能快速完成,dig +trace yourdomain.name您将看到从根区域开始的查询 DNS 服务器“链”。(或者直接交出相关域名。)您将看到哪个提供商为您提供了您的浏览器将遵循的权威地址。

您可能对不止一家提供商持有有关您域名的 DNS 信息感到困惑。无论出于何种原因,情况可能都是如此,但只要提供商不持有权威记录,他就永远不会被实际客户查询。

相关内容