Network Working Group P. Beertema
Request for Comments: 1537 CWI
Category: Informational October 1993
Common DNS Data File Configuration Errors
1. SOA records
A problem I've found in quite some nameservers is that the various timers have been set (far) too low. Especially for top level domain nameservers this causes unnecessary traffic over international and intercontinental links.
Beertema [Page 1]
RFC 1537 Common DNS Data File Configuration Errors October 1993
- Refresh: The SOA record of the primary server is checked
2. Glue records
Quite often, people put unnecessary glue (A) records in their zone files. Even worse is that I've even seen *wrong* glue records for an external host in a primary zone file! Glue records need only be in a zone file if the server host is within the zone and there is no A record for that host elsewhere in the zone file. Old BIND versions ("native" 4.8.3 and older versions) showed the problem that wrong glue records could enter secondary servers in a zone transfer.
Beertema [Page 2]
RFC 1537 Common DNS Data File Configuration Errors October 1993 3. "Secondary server surprise"I've seen it happen on various occasions that hosts got bombarded by nameserver requests without knowing why. On investigation it turned out then that such a host was supposed to (i.e., the information was in the root servers) run secondary for some domain (or reverse (in- addr.arpa)) domain, without that host's nameserver manager having been asked or even been told so!
4. "MX records surprise"
In a sense similar to point 3. Sometimes nameserver managers enter MX records in their zone files that point to external hosts, without first asking or even informing the systems managers of those external hosts. This has to be fought out between the nameserver manager and the systems managers involved. Only as a last resort, if really nothing helps to get the offending records removed, can the systems manager turn to the naming authority of the domain above the offending domain to get the problem sorted out.
5. "Name extension surprise"
Sometimes one encounters weird names, which appear to be an external name extended with a local domain. This is caused by forgetting to terminate a name with a dot: names in zone files that don't end with a dot are always expanded with the name of the current zone (the domain that the zone file stands for or the last $ORIGIN).
pqr MX 100 relay.yy.
xyz MX 100 relay.yy (no trailing dot!)
Beertema [Page 3]
RFC 1537 Common DNS Data File Configuration Errors October 1993
When fully written out this stands for:
6. Missing secondary servers
It is required that there be a least 2 nameservers for a domain. For obvious reasons the nameservers for top level domains need to be very well reachable from all over the Internet. This implies that there must be more than just 2 of them; besides, most of the (secondary) servers should be placed at "strategic" locations, e.g., close to a point where international and/or intercontinental lines come together. To keep things manageable, there shouldn't be too many servers for a domain either.
7. Wildcard MX records
Wildcard MX records should be avoided where possible. They often cause confusion and errors: especially beginning nameserver managers tend to overlook the fact that a host/domain listed with ANY type of record in a zone file is NOT covered by an overall wildcard MX record in that zone; this goes not only for simple domain/host names, but also for names that cover one or more domains. Take the following example in zone foo.bar:
* MX 100 mailhost
pqr MX 100 mailhost
abc.def MX 100 mailhost
This makes pqr.foo.bar, def.foo.bar and abd.def.foo.bar valid domains, but the wildcard MX record covers NONE of them, nor anything below them. To cover everything by MX records, the required entries are:
Beertema [Page 4]
RFC 1537 Common DNS Data File Configuration Errors October 1993
* MX 100 mailhost
pqr MX 100 mailhost
*.pqr MX 100 mailhost
abc.def MX 100 mailhost *.def MX 100 mailhost *.abc.def MX 100 mailhost
8. Hostnames
People appear to sometimes look only at STD 11, RFC 822 to determine whether a particular hostname is correct or not. Hostnames should strictly conform to the syntax given in STD 13, RFC 1034 (page 11), with *addresses* in addition conforming to RFC 822. As an example take "c&w.blues" which is perfectly legal according to RFC 822, but which can have quite surprising effects on particular systems, e.g., "telnet c&w.blues" on a Unix system.
9. HINFO records
There appears to be a common misunderstanding that one of the data fields (usually the second field) in HINFO records is optional. A recent scan of all reachable nameservers in only one country revealed some 300 incomplete HINFO records. Specifying two data fields in a HINFO record is mandatory (RFC 1033), but note that this does *not* mean that HINFO records themselves are mandatory.
Beertema [Page 5]
RFC 1537 Common DNS Data File Configuration Errors October 1993 10. Safety measures and specialtiesNameservers and resolvers aren't flawless. Bogus queries should be kept from being forwarded to the root servers, since they'll only lead to unnecessary intercontinental traffic. Known bogus queries that can easily be dealt with locally are queries for 0 and broadcast addresses. To catch such queries, every nameserver should run primary for the 0.in-addr.arpa and 255.in-addr.arpa zones; the zone files need only contain a SOA and an NS record.
Beertema [Page 6]
RFC 1537 Common DNS Data File Configuration Errors October 1993
Running secondary nameserver off another secondary nameserver is possible, but not recommended unless really necessary: there are known cases where it has led to problems like bogus TTL values. This can be caused by older or flawed implementations, but secondary nameservers in principle should always transfer their zones from the official primary nameserver.
11. Some general points
The Domain Name System and nameserver are purely technical tools, not meant in any way to exert control or impose politics. The function of a naming authority is that of a clearing house. Anyone registering a subdomain under a particular (top level) domain becomes naming authority and therewith the sole responsible for that subdomain. Requests to enter MX or NS records concerning such a subdomain therefore always MUST be honored by the registrar of the next higher domain.
Beertema [Page 7]
RFC 1537 Common DNS Data File Configuration Errors October 1993
The naming authority can also interfere in exceptional cases like the one mentioned in point 4, e.g., by temporarily removing a domain's entry from the nameserver zone files; this of course should be done only with extreme care and only as a last resort.
Beertema [Page 8]
RFC 1537 Common DNS Data File Configuration Errors October 1993
[3] Partridge, C., "Mail Routing and the Domain System", STD 14, RFC