如果我跑
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?
答案1
您没有得到递归答案(在这种情况下您想要的是递归答案,其中 CNAME 指向指向 A 的 CNAME)的原因打印在您的答案中:
;; WARNING: recursion requested but not available
这意味着,您询问的名称服务器 (ns5.laposte.net) 是权威名称服务器,而不是递归名称服务器(也称为解析器)。它只会查看其数据库并查看是否存在您要查找的类型的记录,就您而言,它会查找 dialogue.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
答案2
默认情况下,dig
在查询中设置 RD(需要递归)位,这意味着 dig 通常会发送递归查询。
禁用该功能后,您将得到期望的响应:
dig +norecurse @ns5.laposte.net conversation.ees.labanquepostale.fr