Domain-Name-System

DNS 中是否允許橫向引用?

  • April 15, 2020

我最近一直在研究 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”請求的名稱伺服器。

回到我的問題:

通常不允許橫向推薦,還是僅此特定情況是不好的橫向推薦?

水平推薦總是不好的,因為它們不會讓您更接近您的特定查詢:

讓我們使用範例 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 = Bad Referral 和 Bad Horizo​​ntal Referral

引用自:https://serverfault.com/questions/1012392