DNS 中是否允许水平引用?

DNS 中是否允许水平引用?

我最近一直在研究 DNS,目前使用 DIG 命令时收到以下错误消息:

BAD (HORIZONTAL) REFERRAL

据我了解,这是由于委托名称查找而不遍历“DNS 树”造成的。与委托“DNS 树”的垂直引用不同,水平引用委托的名称如下:

(来自区域“google.com”的名称服务器的虚构示例答案)

;; QUESTION SECTION:
;123.google.com. IN A

;; AUTHORITY SECTION:
a.123.google.com. 7200 IN NS ns1.321.google.com.
a.123.google.com. 7200 IN NS ns2.321.google.com.
a.123.google.com. 7200 IN NS ns3.321.google.com.

当您询问上面指定的名称服务器之一时,将返回以下答案:

;; QUESTION SECTION:
;123.google.com. IN A

;; AUTHORITY SECTION:
a.123.google.com. 7200 IN NS ns4.321.google.com.
a.123.google.com. 7200 IN NS ns5.321.google.com.
a.123.google.com. 7200 IN NS ns6.321.google.com.

这种情况一直持续,但始终无法找到能够真正响应“a.123.google.com”请求的名称服务器。

回到我的问题:

横向转介一般是不允许的吗,还是只有这种特殊情况才是糟糕的横向转介?

答案1

水平推荐总是不好的,因为它们不会让你更接近你的特定查询:

让我们使用 www.bar.com 作为示例。

跳过根和 TLD,我们获取 bar.com 的名称服务器。询问这些服务器,然后我们获得对 foo.com 的引荐

这实际上是无用的,因为它并没有让我们更接近 www.bar.com。

造成这种情况的一个常见原因是对子域名进行委派,同时在父区域中仍有其他记录。

例如:

foo.bar.com. 被委托给某个地方,但 bar.com. 仍然包含 foo.bar.com 的 MX 记录

有关更多信息,请参阅以下 ServerFault 线程:

BIND/DNS - dig +trace = 错误推荐和错误水平推荐

相关内容