2

Okey I have the subdomain news.247dist.com, if i dig any this domain i get:

; <<>> DiG 9.4.3-P3 <<>> news.247dist.com any
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36179
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;news.247dist.com.  IN ANY

;; ANSWER SECTION:
news.247dist.com. 259018 IN NS b.ns.broadmail.de.
news.247dist.com. 259018 IN NS a.ns.broadmail.de.
news.247dist.com. 2382 IN SOA a.ns.broadmail.de. hostmaster.news.247dist.com. 1274182332 16384 2048 1048576 2560

;; ADDITIONAL SECTION:
a.ns.broadmail.de. 718 IN A 193.169.180.254
b.ns.broadmail.de. 718 IN A 193.169.181.254

;; Query time: 0 msec
;; SERVER: 80.67.16.6#53(80.67.16.6)
;; WHEN: Wed May 19 17:21:16 2010
;; MSG SIZE  rcvd: 160

The Problem is, if I dig any this subdomain and ask one of these NS Servers in the above dig i get:

; <<>> DiG 9.4.3-P3 <<>> any @a.ns.broadmail.de news.247dist.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 3887
;; flags: qr aa rd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;news.247dist.com.              IN      ANY

;; ANSWER SECTION:
news.247dist.com.       2560    IN      SOA     a.ns.broadmail.de. hostmaster.news.247dist.com. 1274182332 16384 2048 1048576 2560
news.247dist.com.       900     IN      NS      a.ns.broadmail.de.
news.247dist.com.       900     IN      NS      b.ns.broadmail.de.
news.247dist.com.       900     IN      MX      0 mail.srv2.de.
news.247dist.com.       900     IN      TXT     "v=spf1 ip4:213.61.69.122/32 ip4:193.169.180.0/23 -all"
news.247dist.com.       900     IN      A       193.169.180.252

;; ADDITIONAL SECTION:
a.ns.broadmail.de.      900     IN      A       193.169.180.254
b.ns.broadmail.de.      900     IN      A       193.169.181.254
mail.srv2.de.           900     IN      A       193.169.180.201

;; Query time: 23 msec
;; SERVER: 193.169.180.254#53(193.169.180.254)
;; WHEN: Wed May 19 17:26:33 2010
;; MSG SIZE  rcvd: 284

So why I don't get the second result if i simple dig any news.247dist.com?

Lockhead
  • 95
  • 3

3 Answers3

1

The reason for the difference is that when you ask a caching recursive DNS server for an ANY answer it's free to answer with whatever it happens to have in its cache at the time.

If there's nothing in the cache at all, it'll lookup the NS records for the domain, the SOA record will come along for the ride, and hence that's all that's returned in response to your query.

The cache doesn't send the ANY query all the way to the authoritative servers, which would usually give out as much data as possible in response to such a query, as seen in your second example.

To see this effect properly, do this:

% dig news.247dist.com ANY
....    [as before]
% dig news.247disk.com MX
....    [get the MX records]
% dig news.247dist.com ANY
....    [list now inclues the MX records]
% dig news.247disk.com TXT
....    [get the SPF TXT records]
% dig news.247dist.com ANY
....    [list now inclues those too]
Alnitak
  • 21,191
  • 3
  • 52
  • 82
0

your name servers seem to provide the data, an any request doesn't reveal the mx records, but if you do `dig mx news.247dist.com, it will return the mx records for your domain.

i'm thinking there's configuration difference in the nameservers you are using that prevents another DNS server from querying the DNS for your domain and asking it to return all the records.

i can't find supporting documentation, but i presume when you query a nameserver that is not the domain's SOA (start of authority), the response is only a few common entries, since it would be some decent overhead for a NS to query for all entries from the SOA, when one server up the pipe might know the basic records, and be able to return them quicker.

cpbills
  • 2,720
  • 18
  • 12
-1

I see the message "WARNING: recursion requested but not available". Strange...

Dom
  • 6,743
  • 1
  • 20
  • 24
  • not all all strange - `dig` by default requests recursion (`RD=1`), but authoritative servers don't do recursion, so the `RA` bit in the response is not set - indicating "recursion not available". – Alnitak May 19 '10 at 21:15