![多个 NS 与具有多个 A 的 NS 之间的差异](https://linux22.com/image/567740/%E5%A4%9A%E4%B8%AA%20NS%20%E4%B8%8E%E5%85%B7%E6%9C%89%E5%A4%9A%E4%B8%AA%20A%20%E7%9A%84%20NS%20%E4%B9%8B%E9%97%B4%E7%9A%84%E5%B7%AE%E5%BC%82.png)
我找到了这个一个 NS 记录可以指向多个 A 记录吗?,但想知道如果有的话,区别是什么。
例如:
mydomain.com. IN NS ns1.myhost.com.
mydomain.com. IN NS ns2.myhost.com.
ns1.myhost.com. IN A 111.222.333.1
ns2.myhost.com. IN A 111.222.333.2
相对
mydomain.com. IN NS ns.myhost.com.
ns.myhost.com. IN A 111.222.333.1
ns.myhost.com. IN A 111.222.333.2
编辑:实际上,仔细想想,MX 记录也是一样的。有什么重大差异吗?
编辑 2:再说一次,MX 允许使用优先级值,所以它是一个不同的情况,因为每个域一个 ip 有时更有用。
答案1
存在语义上的差异。
如果一条NS
记录(或MX
记录)指向一个主机名,而该主机名随后解析为多条A
(或AAAA
)记录,则这些记录应该代表同一主机(又名“多宿主”)。
请参阅第 8 和 9 段RFC 5321 的第 5.1 节。
因此,并不总是需要客户端尝试每个已知的特定地址主持人, 但它应该尝试每个命名主机。
因此,在具有多个名称服务器或邮件服务器的(正常)单宿主情况下,您应该为每个服务器使用不同的名称,并使用单个 IP,而不是使用一个具有多个 IP 的名称。
答案2
我想这可能只是特定于实现的 - 也许一些奇怪的服务器总是只使用其中一个地址或类似的东西。但通常应该没有区别。
顺便说一句,我发现一个 RFC 提到了类似的情况 - 看看RFC 2181 第 4 节.3,第 3 段。其中说一个 NS 对应一个 A,但没有提供任何理由。
编辑:主要的区别显然在于 (1) 是每个人都在使用的,因此经过了 100% 的测试,而 (2) 是没人使用的,因此在某些实现中出现故障的可能性更高。
答案3
看书!
如果每个名称解析器有多个 A 记录,则将始终返回每个请求一个 IP对于 NS(从池中循环选择),如果有多个 NS 记录所有记录将被返回,如果其中一个 NS 失败,所有其他 NS 将继续工作并处理请求