Hello
I need opinions from the DNS community on an issue with default-local zones.
This was triggered by hosting an empty 'local' unicast zone to stop
unwanted local traffic to leak from local networks.
Avahi (multicast DNS and Autoconf for Linux/Unix) recommends to check
for the existence of an unicast "local." DNS Domain on startup and
disable Avahi when such an domain has been found (
http://avahi.org/wiki/AvahiAndUnicastDotLocal ).
Ubuntu 9.04 implements this recommendation by querying for an SOA record
for "local." in the startscript and it disables Avahi when the query
returns an NOERROR answer. This is implemented so that Avahi (which used
the 'local' pseudo-TLD for mDNS) does not collide with an unicast Domain
of the same name that is used for real DNS resolution (this is often
found in Microsoft Windows AD deployments, as 'local' is used in some
documentation as an example and is copied by the administrators).
This scheme conflict however in a situation where the DNS admin has
configured zones for DNS namespace that should be kept local (that is,
should not reach out into the internet and reach the Internet Root) such
as 'local.', 'belkin.', 'onion.' on the perimeter resolving DNS servers.
I'm now searching for a good way to distinguish a pseudo TLD configured
to block local traffic from a real unicast TLD used internally, so that
Avahi (and maybe other mDNS implementations) can make a better decision.
I am aware of the problem of mDNS using the 'local.' pseudo-TLD, that
should not be the topic of this discussion.
draft-ietf-dnsop-default-local-zones-08 gives an example of an SOA
record with serial number "1", however it does not specifies the serial
number used. It only requires that the "empty zones one SHOULD NOT use
the same NS and SOA records as used on the public Internet servers as
that will make it harder to detect the origin of the responses and thus
any leakage to the public Internet servers."
The BIND DNS Server implements "default-local-zones" with an serial
number of "0" in the SOA record. Unbound implements the same with an
serial number of "1". I need to test how the Microsoft DNS Server is
handling this.
One possible solution for detecting an "default-local-zone" created to
stop local traffic at the perimeter is to define a standard SOA serial
of "0", so that Avahi and other mDNS implementations can check against
this serial. A unicast zone with real DNS content will most of the time
have a SOA serial != 0, whereas a "default-local-zone" will always have
a SOA serial of "0".
My questions:
Is it in general seen as a good practice to configure empty zones for
namespaces not used in the Internet which might appear in an local
(enterprise/university/ISP) network like "local." and "belkin." on
perimeter resolving DNS server to stop this names to leak out into the
Internet?
Would it make sense to define a SOA serial of "0" (or "1", but I would
prefer zero) in draft-ietf-dnsop-default-local-zones for this kind of zones?
Are there possible other ways of detecting "default-local-zones" (other
than looking at the serial)?
Best regards
Carsten Strotmann
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop