SERVFAIL

bsfinkel at anl.gov bsfinkel at anl.gov
Wed Sep 10 15:02:39 UTC 2008


I wrote:
>> In response to a posting "Re: Two DNS Servers inside a firewall"
>> Mark Andrews wrote on September 5:
>>
>>   
>>> 	Below is a example of such a bad delegation.  The last SOA
>>> 	record should be owned by www.lawlink.nsw.gov.au not
>>> 	lawlink.nsw.gov.au.  It results in SERVFAIL being returned.
>>>
>>> 	Mark
>>>
>>>
>>> ; <<>> DiG 9.3.4-P1 <<>> aaaa www.lawlink.nsw.gov.au
>>> ;; global options:  printcmd
>>> ;; Got answer:
>>> ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 56606
>>> ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
>>>
>>> ;; QUESTION SECTION:
>>> ;www.lawlink.nsw.gov.au.		IN	AAAA
>>>
>>> ;; Query time: 63 msec
>>> ;; SERVER: 127.0.0.1#53(127.0.0.1)
>>> ;; WHEN: Fri Sep  5 12:01:30 2008
>>> ;; MSG SIZE  rcvd: 40
>>>
>>> ; <<>> DiG 9.3.4-P1 <<>> www.lawlink.nsw.gov.au aaaa +trace
>>> ;; global options:  printcmd
>>> .			440024	IN	NS	h.root-servers.net.
>>> .			440024	IN	NS	d.root-servers.net.
>>> .			440024	IN	NS	g.root-servers.net.
>>> .			440024	IN	NS	i.root-servers.net.
>>> .			440024	IN	NS	b.root-servers.net.
>>> .			440024	IN	NS	l.root-servers.net.
>>> .			440024	IN	NS	m.root-servers.net.
>>> .			440024	IN	NS	e.root-servers.net.
>>> .			440024	IN	NS	f.root-servers.net.
>>> .			440024	IN	NS	a.root-servers.net.
>>> .			440024	IN	NS	j.root-servers.net.
>>> .			440024	IN	NS	c.root-servers.net.
>>> .			440024	IN	NS	k.root-servers.net.
>>> ;; Received 504 bytes from 127.0.0.1#53(127.0.0.1) in 3 ms
>>>
>>> au.			172800	IN	NS	ns1.audns.net.au.
>>> au.			172800	IN	NS	dns1.telstra.net.
>>> au.			172800	IN	NS	sec1.apnic.net.
>>> au.			172800	IN	NS	sec3.apnic.net.
>>> au.			172800	IN	NS	adns1.berkeley.edu.
>>> au.			172800	IN	NS	adns2.berkeley.edu.
>>> au.			172800	IN	NS	audns.optus.net.
>>> au.			172800	IN	NS	aunic.aunic.net.
>>> ;; Received 430 bytes from 2001:500:1::803f:235#53(h.root-servers.net) in 244 ms
>>>
>>> lawlink.nsw.gov.au.	3600	IN	NS	ns3.uecomm.net.au.
>>> lawlink.nsw.gov.au.	3600	IN	NS	ns1.uecomm.net.au.
>>> lawlink.nsw.gov.au.	3600	IN	NS	ns2.uecomm.net.au.
>>> ;; Received 105 bytes from 58.65.255.73#53(ns1.audns.net.au) in 42 ms
>>>
>>> www.lawlink.nsw.gov.au.	3600	IN	NS	ns1.lawlink.nsw.gov.au.
>>> www.lawlink.nsw.gov.au.	3600	IN	NS	ns2.lawlink.nsw.gov.au.
>>> ;; Received 108 bytes from 203.94.128.54#53(ns1.uecomm.net.au) in 39 ms
>>>
>>> lawlink.nsw.gov.au.	86400	IN	SOA	lawlink.nsw.gov.au. administrator.lawlink.nsw.gov.au. 998545544 28800 7200 604800 86400
>>> ;; Received 144 bytes from 203.3.186.53#53(ns1.lawlink.nsw.gov.au) in 32 ms
>>>     
>>
>>
>> I have a user who cannot resolve
>>
>>      www.flickr.com
>>
>> The name server I am querying is 9.5.0-P1 (to be updated to a patched
>> P2 tomorrow).  When I query at one of the autoritative name servers,
>> I get:
>>
>>      oberon% dig www.flickr.com @ns1.yahoo.com.
>>
>>      ; <<>> DiG 8.3 <<>> www.flickr.com @ns1.yahoo.com.
>>      ; (1 server found)
>>      ;; res options: init recurs defnam dnsrch
>>      ;; got answer:
>>      ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4
>>      ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 5, ADDITIONAL: 5
>>      ;; QUERY SECTION:
>>      ;;      www.flickr.com, type = A, class = IN
>>
>>      ;; ANSWER SECTION:
>>      www.flickr.com.         5M IN CNAME     www.flickr.vip.mud.yahoo.com.
>>      www.flickr.vip.mud.yahoo.com.  15M IN A  68.142.214.24
>>
>>      ;; AUTHORITY SECTION:
>>      mud.yahoo.com.          2D IN NS        ns1.yahoo.com.
>>      mud.yahoo.com.          2D IN NS        ns2.yahoo.com.
>>      mud.yahoo.com.          2D IN NS        ns3.yahoo.com.
>>      mud.yahoo.com.          2D IN NS        ns4.yahoo.com.
>>      mud.yahoo.com.          2D IN NS        ns5.yahoo.com.
>>
>>      ;; ADDITIONAL SECTION:
>>      ns1.yahoo.com.          2D IN A         66.218.71.63
>>      ns2.yahoo.com.          2D IN A         68.142.255.16
>>      ns3.yahoo.com.          2D IN A         217.12.4.104
>>      ns4.yahoo.com.          2D IN A         68.142.196.63
>>      ns5.yahoo.com.          30M IN A        119.160.247.124
>>
>>      ;; Total query time: 64 msec
>>      ;; FROM: oberon.it.anl.gov to SERVER: ns1.yahoo.com.  66.218.71.63
>>      ;; WHEN: Tue Sep  9 13:25:03 2008
>>      ;; MSG SIZE  sent: 32  rcvd: 257
>>
>>      oberon%
>>
>> but a general query results in SERVFAIL:
>>
>>      oberon% dig www.flickr.com
>>
>>      ; <<>> DiG 8.3 <<>> www.flickr.com
>>      ;; res options: init recurs defnam dnsrch
>>      ;; got answer:
>>      ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 2
>>      ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
>>      ;; QUERY SECTION:
>>      ;;      www.flickr.com, type = A, class = IN
>>
>>      ;; Total query time: 9 msec
>>      ;; FROM: oberon.it.anl.gov to SERVER: default -- 146.139.254.5
>>      ;; WHEN: Tue Sep  9 13:22:46 2008
>>      ;; MSG SIZE  sent: 32  rcvd: 32
>>
>>      oberon%
>>
>> I notice that when I query one of the authoritative name servers I
>> get
>>
>>      ;; ANSWER SECTION:
>>      www.flickr.com.         5M IN CNAME     www.flickr.vip.mud.yahoo.com.
>>      www.flickr.vip.mud.yahoo.com.  15M IN A  68.142.214.24
>>
>>      ;; AUTHORITY SECTION:
>>      mud.yahoo.com.          2D IN NS        ns1.yahoo.com.
>>      mud.yahoo.com.          2D IN NS        ns2.yahoo.com.
>>      mud.yahoo.com.          2D IN NS        ns3.yahoo.com.
>>      mud.yahoo.com.          2D IN NS        ns4.yahoo.com.
>>      mud.yahoo.com.          2D IN NS        ns5.yahoo.com.
>>
>> Is the SERVFAIL because I queried
>>
>>      flickr.com
>>
>> and the authority is
>>
>>      mud.yahoo.com ?
>>   


And Kevin Darcy replied:
>No, that's perfectly normal. CNAMEs point to names in other domains all 
>the time. The only thing slightly unusual here is that the nameservers 
>for flickr.com also happen to be authoritative for the zone which 
>contains the target of the alias (www.flickr.vip.mud.yahoo.com) and are 
>therefore able to provide the A record without any further need for 
>referral-chasing. But that's _relatively_ normal too.
>> If not, then why am I getting SERVFAIL?  Thanks.
>>   
>Does a dig +trace for www.flickr.com work?
>
>If you have port and/or source-address restrictions in named.conf, make 
>sure you're using the same port and/or source-address for your test 
>queries. Otherwise it's not really a valid test.
>
>If you're still getting SERVFAIL for your regular queries, but not for 
>your test queries, dump your cache and see if maybe you're trying to use 
>some bad/stale/obsolete cached glue/referral data in order to resolve 
>the name.

I did an "rndc dumpdb", and I did not see any stale glue in the cache.
But I am not sure exactly for what to search.

I have no port and/or source-address restrictions in named.conf.
When I do the "dig www.flickr.com" on my two external DNS servers
(both 9.5.0-P2 with Jinmei's dumpdb patch) the queries succeed.
When I issue the command on my two internal DNS servers (one the
patched -P2 and one still 9.5.0-P1), both servers give SERVFAIL.
I looked at the source code (query.c) yesterday, and there are 23
cases for SERVFAIL.  Before some of the SERVFAIL lines I see

     CTRACE("...");

How do I enable this tracing?  Or is there another way to determine
which SERVFAIL code is matching in query.c?
----------------------------------------------------------------------
Barry S. Finkel
Computing and Information Systems Division
Argonne National Laboratory          Phone:    +1 (630) 252-7277
9700 South Cass Avenue               Facsimile:+1 (630) 252-4601
Building 222, Room D209              Internet: BSFinkel at anl.gov
Argonne, IL   60439-4828             IBMMAIL:  I1004994


More information about the bind-users mailing list