间歇recursion/迭代DNS查询失败

我有问题向DNS发出查询,我不知道在哪里寻找潜在的原因。

我有一个logging“www.alumninews.uottawa.ca”,这是一个CNAMElogging,指向我主持的“uottawa.mailoutinteractive.com”的Alogging。 当我查询我的ISP的DNS服务器时,我得到不同的回应:

第一个不会recursion

$ 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不会得到解决(更多内容在下面)。

第二个正确parsingCNAME(注意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捕获networkingstream量时,发现在查找uottawa.mailoutinteractive.com时出现的错误是“回复代码:No such name(3)”,失败的recursion:

 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服务器被configuration为不返回recursion查询信息,所以我的理解是我的ISP会做第二个查询来parsingCNAME。 但是我不知道为什么一旦失败,然后再次成功。 在我看来 ,在我们的ISP(Shaw)和Route53之间,我的DNS被托pipe在一个问题上。

我也注意到它经常会失败 – 在再次成功之前,我可以继续执行失败的挖掘命令很长一段时间。

我已经得到了这么多,但不知道如何进一步debugging。 任何想法,这是失败?

数据包捕获并不能揭示你的挖掘查询没有的东西。 Reply code: No such name (3)NXDOMAIN ( RCODE 3 )的一个长期的方式,后者对DNSpipe理员更有意义。 我不会从你的post中删除数据包捕获,但是如果你发现自己在这一点上同意我的意见,那么对于其他人来说,这将不是一个文本墙。

NXDOMAIN的回应是有问题的。 这是您的ISPrecursion名称服务器成功查找的一个指示。 从你的angular度来看这是不好的行为,因为logging不见了,但失败的方式告诉了一个不同的故事。 你的ISP的服务器说:“我和权威域名服务器通话,收到了成功的答复, 他们告诉我这个logging不存在。 这与SERVFAIL完全不同,这将表明一个实际的通信问题。

查询之间的不同响应很可能是由于负载平衡:您正在查询的IP地址后面有多个服务器。 其中之一是“负面caching”查找失败,并不会再次尝试查找,直到该域的ncache时间间隔过期。 他们的另一台服务器成功了,“积极地caching”了它,使它记住了TTL持续时间的答案。 (3532意味着自该事件起经过了68秒,3532 + 68 = 3600)

结论

由于AWS的分布式特性,除此之外,我们任何人都很难向您提供build议。 我查询了服务给我的四个域名服务器地址,发现没有问题。

如果你再次看到这个问题,你可以尝试直接查询Alogging,看看是否有什么突出的地方:

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

你最好的办法是让你的ISP在下一次发生的时候进一步调查,但是要做好准备,答复“我们的服务器正在按照要求做的事情,我们不能帮你”。

在我看来,在我们的ISP(Shaw)和Route53之间,我的DNS被托pipe在一个问题上。

我同意。 因为8.8.8.8和8.8.4.4(谷歌的DNS服务器)和我的本地DNS服务器没有显示任何问题,如你所描述的是时候升级你的ISP的名称服务器的pipe理员。