Subject: should a pure recursor know about localhost/1.0.0.127.in-addr.arpa?

From: bert hubert <[email-masked]>
Date: Tue, 11 Apr 2006 13:38:10 +0200

Hi people,

The PowerDNS recursor is currently in very big production for the first
time, I've been asked why it doesn't answer for localhost.

The recursor of PowerDNS is a pure recursor and has zero authoritative
facilities, so I've added some hardcoded support for localhost and
1.0.0.127.in-addr.arpa.

But I wonder if this is right and proper? And, if it is, should I hardcode
the IPv6 equivalents as well?

And, additionally, does it all matter? Have people heard of problems with
not being able to resolve localhost? I know DJBDNS hardcodes it too.

I've searched the namedroppers archive but localhost is kind of an awkward
search term, it pops up a lot.

Thanks.

-- 
http://www.PowerDNS.com      Open source, database driven DNS Software 
http://netherlabs.nl              Open and Closed source services

--
to unsubscribe send a message to [email-masked] with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>

---

From: Tony Finch <[email-masked]>
Date: Tue, 11 Apr 2006 13:00:34 +0100

> the IPv6 equivalents as well?

Shouldn't it know about all the relevant RFC 3330 nets, to prevent bogus
queries from loading the root or AS112?

Tony.
-- 
f.a.n.finch  <[email-masked]>  http://dotat.at/
BERWICK ON TWEED TO WHITBY: WEST OR SOUTHWEST 5 OR 6, PERHAPS INCREASING 7
LATER IN NORTH. RAIN AT FIRST. MAINLY GOOD. SLIGHT OR MODERATE.

---

From: Stephane Bortzmeyer <[email-masked]>
Date: Tue, 11 Apr 2006 14:07:04 +0200

On Tue, Apr 11, 2006 at 01:38:10PM +0200,
 bert hubert <[email-masked]> wrote 
 a message of 28 lines which said:

> But I wonder if this is right and proper? 

RFC 1912 says so and our Zonecheck tool tests it:

   Certain zones should always be present in nameserver configurations:

           primary         localhost               localhost
           primary         0.0.127.in-addr.arpa    127.0
           primary         255.in-addr.arpa        255
           primary         0.in-addr.arpa          0

   These are set up to either provide nameservice for "special"
   addresses, or to help eliminate accidental queries for broadcast or
   local address to be sent off to the root nameservers.  All of these
   files will contain NS and SOA records just like the other zone files
   you maintain, the exception being that you can probably make the SOA
   timers very long, since this data will never change.

   The "localhost" address is a "special" address which always refers to
   the local host.  It should contain the following line:

           localhost.      IN      A       127.0.0.1

   The "127.0" file should contain the line:

           1    PTR     localhost.

   There has been some extensive discussion about whether or not to
   append the local domain to it.  The conclusion is that "localhost."
   would be the best solution.  The reasons given include:

      "localhost" by itself is used and expected to work in some
      systems.

      Translating 127.0.0.1 into "localhost.dom.ain" can cause some
      software to connect back to the loopback interface when it didn't
      want to because "localhost" is not equal to "localhost.dom.ain".

   The "255" and "0" files should not contain any additional data beyond
   the NS and SOA records.

   Note that future BIND versions may include all or some of this data
   automatically without additional configuration.

---

From: Peter Koch <[email-masked]>
Date: Tue, 11 Apr 2006 14:17:50 +0200

>            primary         255.in-addr.arpa        255

RFC 1912 is informational only and has some outdated parts. In the dnsop WG
there's a draft under consideration (although not an official wg document:
draft-andrews-full-service-resolvers-02.txt), that aims at BCP and seeds
a list of zones each recurive server should authoritatively treat as empty.

>       want to because "localhost" is not equal to "localhost.dom.ain".

There are two different schools of thought for this. One lets the rev map
for 127.0.0.1 point to "localhost." (the localhost. TLD was reserved in RFC
2606, yet not delegated), the other lets it point to a localhost in some
appropriate domain, also setting up the correspinding A RR there.
The "localhost." approach either relies upon some search path and/or on the
presence of a "localhost." zone on the respective resursive server.

-Peter

---

From: Paul Vixie <[email-masked]>
Date: Tue, 11 Apr 2006 15:05:28 +0000

as the developer of several caching recursive nameservers, i can tell you
that the user community for them generally MUST have the ability to hardcode
localhost and its PTR's, in ipv4 and ipv6 space; also some NS RRs for rfc1918
PTRs (to avoid hitting AS112); also some NS RRs for their own local zones
(to be able to resolve their own names when their transit pipe is down.)  as
attractive as it is to do a "pure" nameserver with nearly zero config, it's
unrealistic in today's polluted local namespaces.