Skip to main content

domain name system - Intermittent recursive/iterative DNS query failure

I have a problem issuing queries to a DNS and I'm not sure where to look for the underlying cause.



I have a record "www.alumninews.uottawa.ca" which is a CNAME record which points to an A record for "uottawa.mailoutinteractive.com" which I host. When I query my ISP's DNS servers, I get different responses:




The first does not recurse



$ 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



Note that the CNAME does not get resolved (more on that below).



The second resolves the CNAME correctly (note the TTL is now 3532, not the default 3600 above):



$ 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


Further, when I capture the network traffic with wireshark, I'm seeing that the error when looking up uottawa.mailoutinteractive.com is "Reply code: No such name (3)" on the failed 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


A successful lookup looks like this in Wireshark (this is a different domain with the same problem):



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's DNS servers are configured not to return recursive query information, so my understanding is that my ISP will do a second query to resolve the CNAME. But I don't know why it is failing once and then succeeeding a second time. It seems to me to be a problem between our ISP (Shaw) and Route53, where my DNS is hosted.



I also notice that it often continues to fail---I can continue to execute the failing dig command for quite a while before it succeeds again.




I've gotten this far but don't know how to debug this any further. Any idea where this is failing?

Comments

Popular posts from this blog

iLO 3 Firmware Update (HP Proliant DL380 G7)

The iLO web interface allows me to upload a .bin file ( Obtain the firmware image (.bin) file from the Online ROM Flash Component for HP Integrated Lights-Out. ) The iLO web interface redirects me to a page in the HP support website ( http://www.hp.com/go/iLO ) where I am supposed to find this .bin firmware, but no luck for me. The support website is a mess and very slow, badly categorized and generally unusable. Where can I find this .bin file? The only related link I am able to find asks me about my server operating system (what does this have to do with the iLO?!) and lets me download an .iso with no .bin file And also a related question: what is the latest iLO 3 version? (for Proliant DL380 G7, not sure if the iLO is tied to the server model)

linux - Awstats - outputting stats for merged Access_logs only producing stats for one server's log

I've been attempting this for two weeks and I've accessed countless number of sites on this issue and it seems there is something I'm not getting here and I'm at a lost. I manged to figure out how to merge logs from two servers together. (Taking care to only merge the matching domains together) The logs from the first server span from 15 Dec 2012 to 8 April 2014 The logs from the second server span from 2 Mar 2014 to 9 April 2014 I was able to successfully merge them using the logresolvemerge.pl script simply enermerating each log and > out_putting_it_to_file Looking at the two logs from each server the format seems exactly the same. The problem I'm having is producing the stats page for the logs. The command I've boiled it down to is /usr/share/awstats/tools/awstats_buildstaticpages.pl -configdir=/home/User/Documents/conf/ -config=example.com awstatsprog=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl dir=/home/User/Documents/parced -month=all -year=all...

linux - How can I get my mediawiki to stop thinking I have cookies disabled?

I've searched half a day for how to resolve this issue, and can't figure it out. Shortly after I made my wiki a simple private wiki according to the instructions at Mediawiki's website, it started giving me this weird login error message: Wiki uses cookies to log in users. You have cookies disabled. Please enable them and try again. If I remove those private wiki settings, the error disappears, even if I try logging in. But I need it to be a private wiki for only my team. So what do I do? Here's what I've done so far. Just to be safe, after ever change, I try rebooting Apache using: sudo /etc/init.d/apache2 restart In my php.ini file, I have the following set: session.save_path = "/var/lib/php5" session.cookie_secure = secure session.cookie_path = /tmp session.cookie_domain = my server's internal URL (should I even set this? this field was blank before, but not commented out) session.referer_check = Off I ran the following to ensure that the fold...