Domain-Name-System

為什麼CNAME記錄不失敗時A記錄給SERVFAIL

  • March 21, 2022

如果我跑

dig @ns5.laposte.net conversation.ees.labanquepostale.fr A

我得到一個 SERVFAIL,但如果我執行

dig @ns5.laposte.net conversation.ees.labanquepostale.fr CNAME

我得到了我的 CNAME:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48072
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 9
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;conversation.ees.labanquepostale.fr. IN    CNAME

;; ANSWER SECTION:
conversation.ees.labanquepostale.fr. 300 IN CNAME prod-lbpee.web-application-front-customer.as8677.net.

我想知道這種行為有多有效(至少要知道我們是否可以期望這種行為會更頻繁地發生),並且從RFC 1034我可以看到:

  • If a CNAME RR is present at a node, no other data should be present
  • When a name server fails to find a desired RR in the resource set associated with the domain name, it checks to see if the resource set consists of a CNAME record with a matching class. If so, the name server includes the CNAME record in the response

所以我認為這不是標準行為。我也沒有在“常見的 DNS 操作和配置錯誤”中看到任何建議。有沒有人對這類問題有建議或經驗?如果名稱伺服器回复 REFUSED 或 SERVFAIL,我想這裡只是為了尋找 CNAME?

您沒有得到遞歸答案的原因(在這種情況下您想要的,其中 CNAME 指向指向 A 的 CNAME)列印在您的答案中: ;; WARNING: recursion requested but not available

這意味著,您要詢問的名稱伺服器(ns5.laposte.net)是權威名稱伺服器,而不是遞歸名稱伺服器(也稱為解析器)。它只會查看其數據庫並查看是否存在您要查找的類型的記錄,在您的情況下,它會查找不存在的 conversation.ees.labanquepostale.fr 的 A 記錄。當明確將記錄類型設置為 CNAME 時,您會得到您期望的答案,但僅此而已(即不遵循 CNAME)。如果您檢查遞歸名稱伺服器,dig 將獲得遞歸結果,直到找到 A 記錄:


; <<>> DiG 9.18.0 <<>> conversation.ees.labanquepostale.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24724
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;conversation.ees.labanquepostale.fr. IN        A

;; ANSWER SECTION:
conversation.ees.labanquepostale.fr. 299 IN CNAME prod-lbpee.web-application-front-customer.as8677.net.
prod-lbpee.web-application-front-customer.as8677.net. 299 IN CNAME prd-lbpee.web-application-front-customer-as.lbp-mail.as8677.net.
prd-lbpee.web-application-front-customer-as.lbp-mail.as8677.net. 2670 IN A 160.92.71.152

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