间歇性递归/迭代 DNS 查询失败

间歇性递归/迭代 DNS 查询失败

我在向 DNS 发出查询时遇到问题,但不确定在哪里寻找根本原因。

我有一条记录“www.alumninews.uottawa.ca”,这是一条 CNAME 记录,指向我托管的“uottawa.mailoutinteractive.com”的 A 记录。当我查询我的 ISP 的 DNS 服务器时,我得到了不同的响应:

第一个不递归

$ dig +recurse www.alumninews.uottawa.ca @64.59.184.13

; <<>> DiG 9.8.1-P1 <<>> +recurse www.alumninews.uottawa.ca @64.59.184.13
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 13260
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.alumninews.uottawa.ca. IN  A

;; ANSWER SECTION:
www.alumninews.uottawa.ca. 3600 IN  CNAME   uottawa.mailoutinteractive.com.

;; Query time: 139 msec
;; SERVER: 64.59.184.13#53(64.59.184.13)
;; WHEN: Wed Apr  3 11:33:55 2013
;; MSG SIZE  rcvd: 87

请注意,CNAME 尚未得到解析(详细信息请参见下文)。

第二个正确解析了 CNAME(注意 TTL 现在是 3532,而不是上面的默认 3600):

$ dig +recurse www.alumninews.uottawa.ca @64.59.184.13

; <<>> DiG 9.8.1-P1 <<>> +recurse www.alumninews.uottawa.ca @64.59.184.13
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 16716
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.alumninews.uottawa.ca. IN  A

;; ANSWER SECTION:
www.alumninews.uottawa.ca. 3532 IN  CNAME   uottawa.mailoutinteractive.com.
uottawa.mailoutinteractive.com. 300 IN  A   209.15.195.166

;; Query time: 30 msec
;; SERVER: 64.59.184.13#53(64.59.184.13)
;; WHEN: Wed Apr  3 11:35:03 2013
;; MSG SIZE  rcvd: 103

此外,当我使用 wireshark 捕获网络流量时,我发现查找 uottawa.mailoutinteractive.com 时出现的错误是“回复代码:没有这样的名称(3)”,这是由于递归失败造成的:

Domain Name System (response)
[Request In: 3993]
[Time: 0.057954000 seconds]
Transaction ID: 0xf07c
Flags: 0x8183 Standard query response, No such name
    1... .... .... .... = Response: Message is a response
    .000 0... .... .... = Opcode: Standard query (0)
    .... .0.. .... .... = Authoritative: Server is not an authority for domain
    .... ..0. .... .... = Truncated: Message is not truncated
    .... ...1 .... .... = Recursion desired: Do query recursively
    .... .... 1... .... = Recursion available: Server can do recursive queries
    .... .... .0.. .... = Z: reserved (0)
    .... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
    .... .... ...0 .... = Non-authenticated data: Unacceptable
    .... .... .... 0011 = Reply code: No such name (3)
Questions: 1
Answer RRs: 1
Authority RRs: 0
Additional RRs: 0
Queries
    www.alumninews.uottawa.ca: type A, class IN
        Name: www.alumninews.uottawa.ca
        Type: A (Host address)
        Class: IN (0x0001)
Answers
    www.alumninews.uottawa.ca: type CNAME, class IN, cname uottawa.mailoutinteractive.com
        Name: www.alumninews.uottawa.ca
        Type: CNAME (Canonical name for an alias)
        Class: IN (0x0001)
        Time to live: 1 hour
        Data length: 32
        Primaryname: uottawa.mailoutinteractive.com

在 Wireshark 中,成功的查找如下所示(这是具有相同问题的不同域):

Domain Name System (response)
[Request In: 70]
[Time: 0.051422000 seconds]
Transaction ID: 0x417d
Flags: 0x8180 Standard query response, No error
    1... .... .... .... = Response: Message is a response
    .000 0... .... .... = Opcode: Standard query (0)
    .... .0.. .... .... = Authoritative: Server is not an authority for domain
    .... ..0. .... .... = Truncated: Message is not truncated
    .... ...1 .... .... = Recursion desired: Do query recursively
    .... .... 1... .... = Recursion available: Server can do recursive queries
    .... .... .0.. .... = Z: reserved (0)
    .... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
    .... .... ...0 .... = Non-authenticated data: Unacceptable
    .... .... .... 0000 = Reply code: No error (0)
Questions: 1
Answer RRs: 2
Authority RRs: 0
Additional RRs: 0
Queries
    www.bulletinsanciens.uottawa.ca: type A, class IN
        Name: www.bulletinsanciens.uottawa.ca
        Type: A (Host address)
        Class: IN (0x0001)
Answers
    www.bulletinsanciens.uottawa.ca: type CNAME, class IN, cname uottawa.mailoutinteractive.com
        Name: www.bulletinsanciens.uottawa.ca
        Type: CNAME (Canonical name for an alias)
        Class: IN (0x0001)
        Time to live: 41 minutes, 26 seconds
        Data length: 32
        Primaryname: uottawa.mailoutinteractive.com
    uottawa.mailoutinteractive.com: type A, class IN, addr 209.15.195.166
        Name: uottawa.mailoutinteractive.com
        Type: A (Host address)
        Class: IN (0x0001)
        Time to live: 5 minutes
        Data length: 4
        Addr: 209.15.195.166 (209.15.195.166)

Uottawa 的 DNS 服务器配置为不返回递归查询信息,所以我的理解是我的 ISP 将进行第二次查询来解析 CNAME。但我不知道为什么它失败了一次,然后第二次成功了。它似乎对我来说这是我们的 ISP(Shaw)和托管我的 DNS 的 Route53 之间的问题。

我还注意到它经常继续失败---我可以继续执行失败的 dig 命令一段时间,然后它才会再次成功。

我已经走到这一步了,但不知道如何进一步调试。知道哪里出了问题吗?

答案1

数据包捕获没有显示任何你的挖掘查询没有显示的内容。Reply code: No such name (3)是一种冗长的说法NXDOMAIN代码 3),后者对 DNS 管理员更有意义。我不会从您的帖子中删除数据包捕获,但如果您同意我的观点,其他人就不必费力地浏览这些文字。

的回应NXDOMAIN是有问题的;它表明成功的您的 ISP 的递归名称服务器进行查找。从您的角度来看,这是不好的行为,因为记录丢失了,但失败的方式却说明了另一回事。您的 ISP 的服务器说:“我与权威名称服务器进行了交谈,收到了成功的回复,并且他们告诉我记录不存在”。这与 完全不同SERVFAIL,后者表明存在实际的沟通问题。

查询之间的不同响应很可能是由于负载平衡造成的:您查询的 IP 地址后面有多个服务器。其中一个服务器已“负面缓存”查找失败,并且在ncache该域的间隔到期之前不会再次尝试查找。他们的另一台服务器成功了,并“积极缓存”了它,导致它在 TTL 持续时间内记住该答案。(3532 表示自该事件以来已过去 68 秒,3532+68 = 3600)

结论

由于 AWS 的分布式特性,我们任何人都很难为您提供超出此范围的建议。我查询了提供给我的四个名称服务器地址,没有发现任何问题。

如果再次看到此问题,您可以尝试A直接查询记录以查看是否有任何突出的问题:

dig www.alumninews.uottawa.ca @64.59.184.1
+recurse默认设置,不是必需的)

最好的办法是下次发生这种情况时要求您的 ISP 进一步调查,但要准备好接受这样的回应:“我们的服务器正在按照指令运行,我们无法帮助您”。

答案2

在我看来,这是我们的 ISP(Shaw)和托管我的 DNS 的 Route53 之间的问题。

我同意。因为 8.8.8.8 和 8.8.4.4(谷歌的 DNS 服务器)以及我的本地 DNS 服务器没有出现您所描述的任何问题,所以是时候向您的 ISP 名称服务器的管理员报告了。

相关内容