我最近一直在研究 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 线程: