2

We're running a private recursive DNS (bind 9.10.3) for a small group of people outside our network to speed-up their browsing speed. I've noticed recently that our server is answering queries with ".local" or ".home" attached to some of the inbound queries as well as some queries coming in for "local" or even "home" without any other data, here is an example from our logs (1.2.3.4 is our DNS)

Oct 20 09:36:28 dns1 named[3080]: client X.X.X.X#50315 (somethingrandom.local): view someview: query: somethingrandom.local IN A + (1.2.3.4)
Oct 20 09:36:38 dns1 named[3080]: client X.X.X.X#50315 (somethingrandom.local): view someview: query: somethingrandom.home IN A + (1.2.3.4)
Oct 20 09:36:55 dns1 named[3080]: client X.X.X.X#57750 (local): view someview: query: local IN SOA + (1.2.3.4)
Oct 20 09:36:59 dns1 named[3080]: client X.X.X.X#49441 (local): view someview: query: local IN SOA + (1.2.3.4)
Oct 20 09:37:01 dns1 named[3080]: client X.X.X.X#53231 (local): view someview: query: local IN SOA + (1.2.3.4)

I did a dig to the server to see what response is being returned, and am pretty sure the response below is exactly correct, however I am not 100% sure. The dig is below, just need someone to confirm it looks the way it should - we don't want to answer anything on localhost or localnet (which is in place now).

> dig @ourdns local

Answer:

; <<>> DiG 9.10.3 <<>> @dns1 local
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 4495
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;local.             IN  A

;; AUTHORITY SECTION:
.           85530   IN  SOA a.root-servers.net. nstld.verisign-grs.com. 2015102000 1800 900 604800 86400

;; Query time: 17 msec
;; SERVER: 1.2.3.4#53(1.2.3.4)
;; WHEN: Tue Oct 20 13:00:17 EDT 2015
;; MSG SIZE  rcvd: 109
4

Yup, that's a good response - notice the NXDOMAIN status, which means it's saying "nothing there" to the client.

Since it's a recursor, it's basing that decision on the fact that it asked the root servers for .local and the root servers responded that it doesn't exist. (Fun fact - this kind of query for an invalid TLD is a significant portion of the load on the root DNS servers, since the non-existence of the .local TLD isn't cacheable for nearly as long as existence of a real TLD is)

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.