7 Network Working Group D. Barr
8 Request for Comments: 1912 The Pennsylvania State University
9 Obsoletes: 1537 February 1996
10 Category: Informational
13 Common DNS Operational and Configuration Errors
17 This memo provides information for the Internet community. This memo
18 does not specify an Internet standard of any kind. Distribution of
19 this memo is unlimited.
23 This memo describes errors often found in both the operation of
24 Domain Name System (DNS) servers, and in the data that these DNS
25 servers contain. This memo tries to summarize current Internet
26 requirements as well as common practice in the operation and
27 configuration of the DNS. This memo also tries to summarize or
28 expand upon issues raised in [RFC 1537].
32 Running a nameserver is not a trivial task. There are many things
33 that can go wrong, and many decisions have to be made about what data
34 to put in the DNS and how to set up servers. This memo attempts to
35 address many of the common mistakes and pitfalls that are made in DNS
36 data as well as in the operation of nameservers. Discussions are
37 also made regarding some other relevant issues such as server or
38 resolver bugs, and a few political issues with respect to the
39 operation of DNS on the Internet.
43 This section discusses problems people typically have with the DNS
44 data in their nameserver, as found in the zone data files that the
45 nameserver loads into memory.
47 2.1 Inconsistent, Missing, or Bad Data
49 Every Internet-reachable host should have a name. The consequences
50 of this are becoming more and more obvious. Many services available
51 on the Internet will not talk to you if you aren't correctly
52 registered in the DNS.
58 Barr Informational [Page 1]
60 RFC 1912 Common DNS Errors February 1996
63 Make sure your PTR and A records match. For every IP address, there
64 should be a matching PTR record in the in-addr.arpa domain. If a
65 host is multi-homed, (more than one IP address) make sure that all IP
66 addresses have a corresponding PTR record (not just the first one).
67 Failure to have matching PTR and A records can cause loss of Internet
68 services similar to not being registered in the DNS at all. Also,
69 PTR records must point back to a valid A record, not a alias defined
70 by a CNAME. It is highly recommended that you use some software
71 which automates this checking, or generate your DNS data from a
72 database which automatically creates consistent data.
74 DNS domain names consist of "labels" separated by single dots. The
75 DNS is very liberal in its rules for the allowable characters in a
76 domain name. However, if a domain name is used to name a host, it
77 should follow rules restricting host names. Further if a name is
78 used for mail, it must follow the naming rules for names in mail
81 Allowable characters in a label for a host name are only ASCII
82 letters, digits, and the `-' character. Labels may not be all
83 numbers, but may have a leading digit (e.g., 3com.com). Labels must
84 end and begin only with a letter or digit. See [RFC 1035] and [RFC
85 1123]. (Labels were initially restricted in [RFC 1035] to start with
86 a letter, and some older hosts still reportedly have problems with
87 the relaxation in [RFC 1123].) Note there are some Internet
88 hostnames which violate this rule (411.org, 1776.com). The presence
89 of underscores in a label is allowed in [RFC 1033], except [RFC 1033]
90 is informational only and was not defining a standard. There is at
91 least one popular TCP/IP implementation which currently refuses to
92 talk to hosts named with underscores in them. It must be noted that
93 the language in [1035] is such that these rules are voluntary -- they
94 are there for those who wish to minimize problems. Note that the
95 rules for Internet host names also apply to hosts and addresses used
96 in SMTP (See RFC 821).
98 If a domain name is to be used for mail (not involving SMTP), it must
99 follow the rules for mail in [RFC 822], which is actually more
100 liberal than the above rules. Labels for mail can be any ASCII
101 character except "specials", control characters, and whitespace
102 characters. "Specials" are specific symbols used in the parsing of
103 addresses. They are the characters "()<>@,;:\".[]". (The "!"
104 character wasn't in [RFC 822], however it also shouldn't be used due
105 to the conflict with UUCP mail as defined in RFC 976) However, since
106 today almost all names which are used for mail on the Internet are
107 also names used for hostnames, one rarely sees addresses using these
108 relaxed standard, but mail software should be made liberal and robust
109 enough to accept them.
114 Barr Informational [Page 2]
116 RFC 1912 Common DNS Errors February 1996
119 You should also be careful to not have addresses which are valid
120 alternate syntaxes to the inet_ntoa() library call. For example 0xe
121 is a valid name, but if you were to type "telnet 0xe", it would try
122 to connect to IP address 0.0.0.14. It is also rumored that there
123 exists some broken inet_ntoa() routines that treat an address like
124 x400 as an IP address.
126 Certain operating systems have limitations on the length of their own
127 hostname. While not strictly of issue to the DNS, you should be
128 aware of your operating system's length limits before choosing the
131 Remember that many resource records (abbreviated RR) take on more
132 than one argument. HINFO requires two arguments, as does RP. If you
133 don't supply enough arguments, servers sometime return garbage for
134 the missing fields. If you need to include whitespace within any
135 data, you must put the string in quotes.
139 In the SOA record of every zone, remember to fill in the e-mail
140 address that will get to the person who maintains the DNS at your
141 site (commonly referred to as "hostmaster"). The `@' in the e-mail
142 must be replaced by a `.' first. Do not try to put an `@' sign in
143 this address. If the local part of the address already contains a
144 `.' (e.g., John.Smith@widget.xx), then you need to quote the `.' by
145 preceding it with `\' character. (e.g., to become
146 John\.Smith.widget.xx) Alternately (and preferred), you can just use
147 the generic name `hostmaster', and use a mail alias to redirect it to
148 the appropriate persons. There exists software which uses this field
149 to automatically generate the e-mail address for the zone contact.
150 This software will break if this field is improperly formatted. It
151 is imperative that this address get to one or more real persons,
152 because it is often used for everything from reporting bad DNS data
153 to reporting security incidents.
155 Even though some BIND versions allow you to use a decimal in a serial
156 number, don't. A decimal serial number is converted to an unsigned
157 32-bit integer internally anyway. The formula for a n.m serial
158 number is n*10^(3+int(0.9+log10(m))) + m which translates to
159 something rather unexpected. For example it's routinely possible
160 with a decimal serial number (perhaps automatically generated by
161 SCCS) to be incremented such that it is numerically larger, but after
162 the above conversion yield a serial number which is LOWER than
163 before. Decimal serial numbers have been officially deprecated in
164 recent BIND versions. The recommended syntax is YYYYMMDDnn
165 (YYYY=year, MM=month, DD=day, nn=revision number. This won't
166 overflow until the year 4294.
170 Barr Informational [Page 3]
172 RFC 1912 Common DNS Errors February 1996
175 Choose logical values for the timer values in the SOA record (note
176 values below must be expressed as seconds in the zone data):
178 Refresh: How often a secondary will poll the primary server to see
179 if the serial number for the zone has increased (so it knows
180 to request a new copy of the data for the zone). Set this to
181 how long your secondaries can comfortably contain out-of-date
182 data. You can keep it short (20 mins to 2 hours) if you
183 aren't worried about a small increase in bandwidth used, or
184 longer (2-12 hours) if your Internet connection is slow or is
185 started on demand. Recent BIND versions (4.9.3) have optional
186 code to automatically notify secondaries that data has
187 changed, allowing you to set this TTL to a long value (one
190 Retry: If a secondary was unable to contact the primary at the
191 last refresh, wait the retry value before trying again. This
192 value isn't as important as others, unless the secondary is on
193 a distant network from the primary or the primary is more
194 prone to outages. It's typically some fraction of the refresh
198 Expire: How long a secondary will still treat its copy of the zone
199 data as valid if it can't contact the primary. This value
200 should be greater than how long a major outage would typically
201 last, and must be greater than the minimum and retry
202 intervals, to avoid having a secondary expire the data before
203 it gets a chance to get a new copy. After a zone is expired a
204 secondary will still continue to try to contact the primary,
205 but it will no longer provide nameservice for the zone. 2-4
206 weeks are suggested values.
208 Minimum: The default TTL (time-to-live) for resource records --
209 how long data will remain in other nameservers' cache. ([RFC
210 1035] defines this to be the minimum value, but servers seem
211 to always implement this as the default value) This is by far
212 the most important timer. Set this as large as is comfortable
213 given how often you update your nameserver. If you plan to
214 make major changes, it's a good idea to turn this value down
215 temporarily beforehand. Then wait the previous minimum value,
216 make your changes, verify their correctness, and turn this
217 value back up. 1-5 days are typical values. Remember this
218 value can be overridden on individual resource records.
226 Barr Informational [Page 4]
228 RFC 1912 Common DNS Errors February 1996
231 As you can see, the typical values above for the timers vary widely.
232 Popular documentation like [RFC 1033] recommended a day for the
233 minimum TTL, which is now considered too low except for zones with
234 data that vary regularly. Once a DNS stabilizes, values on the order
235 of 3 or more days are recommended. It is also recommended that you
236 individually override the TTL on certain RRs which are often
237 referenced and don't often change to have very large values (1-2
238 weeks). Good examples of this are the MX, A, and PTR records of your
239 mail host(s), the NS records of your zone, and the A records of your
244 Glue records are A records that are associated with NS records to
245 provide "bootstrapping" information to the nameserver. For example:
247 podunk.xx. in ns ns1.podunk.xx.
249 ns1.podunk.xx. in a 1.2.3.4
250 ns2.podunk.xx. in a 1.2.3.5
252 Here, the A records are referred to as "Glue records".
254 Glue records are required only in forward zone files for nameservers
255 that are located in the subdomain of the current zone that is being
256 delegated. You shouldn't have any A records in an in-addr.arpa zone
257 file (unless you're using RFC 1101-style encoding of subnet masks).
259 If your nameserver is multi-homed (has more than one IP address), you
260 must list all of its addresses in the glue to avoid cache
261 inconsistency due to differing TTL values, causing some lookups to
262 not find all addresses for your nameserver.
264 Some people get in the bad habit of putting in a glue record whenever
265 they add an NS record "just to make sure". Having duplicate glue
266 records in your zone files just makes it harder when a nameserver
267 moves to a new IP address, or is removed. You'll spend hours trying
268 to figure out why random people still see the old IP address for some
269 host, because someone forgot to change or remove a glue record in
270 some other file. Newer BIND versions will ignore these extra glue
271 records in local zone files.
273 Older BIND versions (4.8.3 and previous) have a problem where it
274 inserts these extra glue records in the zone transfer data to
275 secondaries. If one of these glues is wrong, the error can be
276 propagated to other nameservers. If two nameservers are secondaries
277 for other zones of each other, it's possible for one to continually
278 pass old glue records back to the other. The only way to get rid of
282 Barr Informational [Page 5]
284 RFC 1912 Common DNS Errors February 1996
287 the old data is to kill both of them, remove the saved backup files,
288 and restart them. Combined with that those same versions also tend
289 to become infected more easily with bogus data found in other non-
290 secondary nameservers (like the root zone data).
294 A CNAME record is not allowed to coexist with any other data. In
295 other words, if suzy.podunk.xx is an alias for sue.podunk.xx, you
296 can't also have an MX record for suzy.podunk.edu, or an A record, or
297 even a TXT record. Especially do not try to combine CNAMEs and NS
307 This is often attempted by inexperienced administrators as an obvious
308 way to allow your domain name to also be a host. However, DNS
309 servers like BIND will see the CNAME and refuse to add any other
310 resources for that name. Since no other records are allowed to
311 coexist with a CNAME, the NS entries are ignored. Therefore all the
312 hosts in the podunk.xx domain are ignored as well!
314 If you want to have your domain also be a host, do the following:
321 Don't go overboard with CNAMEs. Use them when renaming hosts, but
322 plan to get rid of them (and inform your users). However CNAMEs are
323 useful (and encouraged) for generalized names for servers -- `ftp'
324 for your ftp server, `www' for your Web server, `gopher' for your
325 Gopher server, `news' for your Usenet news server, etc.
327 Don't forget to delete the CNAMEs associated with a host if you
328 delete the host it is an alias for. Such "stale CNAMEs" are a waste
338 Barr Informational [Page 6]
340 RFC 1912 Common DNS Errors February 1996
343 Don't use CNAMEs in combination with RRs which point to other names
344 like MX, CNAME, PTR and NS. (PTR is an exception if you want to
345 implement classless in-addr delegation.) For example, this is
346 strongly discouraged:
348 podunk.xx. IN MX mailhost
349 mailhost IN CNAME mary
353 [RFC 1034] in section 3.6.2 says this should not be done, and [RFC
354 974] explicitly states that MX records shall not point to an alias
355 defined by a CNAME. This results in unnecessary indirection in
356 accessing the data, and DNS resolvers and servers need to work more
357 to get the answer. If you really want to do this, you can accomplish
358 the same thing by using a preprocessor such as m4 on your host files.
360 Also, having chained records such as CNAMEs pointing to CNAMEs may
361 make administration issues easier, but is known to tickle bugs in
362 some resolvers that fail to check loops correctly. As a result some
363 hosts may not be able to resolve such names.
365 Having NS records pointing to a CNAME is bad and may conflict badly
366 with current BIND servers. In fact, current BIND implementations
367 will ignore such records, possibly leading to a lame delegation.
368 There is a certain amount of security checking done in BIND to
369 prevent spoofing DNS NS records. Also, older BIND servers reportedly
370 will get caught in an infinite query loop trying to figure out the
371 address for the aliased nameserver, causing a continuous stream of
372 DNS requests to be sent.
376 It is a good idea to give every host an MX record, even if it points
377 to itself! Some mailers will cache MX records, but will always need
378 to check for an MX before sending mail. If a site does not have an
379 MX, then every piece of mail may result in one more resolver query,
380 since the answer to the MX query often also contains the IP addresses
381 of the MX hosts. Internet SMTP mailers are required by [RFC 1123] to
382 support the MX mechanism.
384 Put MX records even on hosts that aren't intended to send or receive
385 e-mail. If there is a security problem involving one of these hosts,
386 some people will mistakenly send mail to postmaster or root at the
387 site without checking first to see if it is a "real" host or just a
388 terminal or personal computer that's not set up to accept e-mail. If
389 you give it an MX record, then the e-mail can be redirected to a real
390 person. Otherwise mail can just sit in a queue for hours or days
394 Barr Informational [Page 7]
396 RFC 1912 Common DNS Errors February 1996
399 until the mailer gives up trying to send it.
401 Don't forget that whenever you add an MX record, you need to inform
402 the target mailer if it is to treat the first host as "local". (The
403 "Cw" flag in sendmail, for example)
405 If you add an MX record which points to an external host (e.g., for
406 the purposes of backup mail routing) be sure to ask permission from
407 that site first. Otherwise that site could get rather upset and take
408 action (like throw your mail away, or appeal to higher authorities
409 like your parent DNS administrator or network provider.)
411 2.6 Other Resource Records
415 WKS records are deprecated in [RFC 1123]. They serve no known useful
416 function, except internally among LISP machines. Don't use them.
420 On the issue HINFO records, some will argue that these is a security
421 problem (by broadcasting what vendor hardware and operating system
422 you so people can run systematic attacks on known vendor security
423 holes). If you do use them, you should keep up to date with known
424 vendor security problems. However, they serve a useful purpose.
425 Don't forget that HINFO requires two arguments, the hardware type,
426 and the operating system.
428 HINFO is sometimes abused to provide other information. The record
429 is meant to provide specific information about the machine itself.
430 If you need to express other information about the host in the DNS,
435 TXT records have no specific definition. You can put most anything
436 in them. Some use it for a generic description of the host, some put
437 specific information like its location, primary user, or maybe even a
442 RP records are relatively new. They are used to specify an e-mail
443 address (see first paragraph of section 2.2) of the "Responsible
444 Person" of the host, and the name of a TXT record where you can get
445 more information. See [RFC 1183].
450 Barr Informational [Page 8]
452 RFC 1912 Common DNS Errors February 1996
457 Wildcard MXs are useful mostly for non IP-connected sites. A common
458 mistake is thinking that a wildcard MX for a zone will apply to all
459 hosts in the zone. A wildcard MX will apply only to names in the
460 zone which aren't listed in the DNS at all. e.g.,
465 *.podunk.xx. IN MX 5 sue
467 Mail for mary.podunk.xx will be sent to itself for delivery. Only
468 mail for jane.podunk.xx or any hosts you don't see above will be sent
469 to the MX. For most Internet sites, wildcard MX records are not
470 useful. You need to put explicit MX records on every host.
472 Wildcard MXs can be bad, because they make some operations succeed
473 when they should fail instead. Consider the case where someone in
474 the domain "widget.com" tries to send mail to "joe@larry". If the
475 host "larry" doesn't actually exist, the mail should in fact bounce
476 immediately. But because of domain searching the address gets
477 resolved to "larry.widget.com", and because of the wildcard MX this
478 is a valid address according to DNS. Or perhaps someone simply made
479 a typo in the hostname portion of the address. The mail message then
480 gets routed to the mail host, which then rejects the mail with
481 strange error messages like "I refuse to talk to myself" or "Local
482 configuration error".
484 Wildcard MX records are good for when you have a large number of
485 hosts which are not directly Internet-connected (for example, behind
486 a firewall) and for administrative or political reasons it is too
487 difficult to have individual MX records for every host, or to force
488 all e-mail addresses to be "hidden" behind one or more domain names.
489 In that case, you must divide your DNS into two parts, an internal
490 DNS, and an external DNS. The external DNS will have only a few
491 hosts and explicit MX records, and one or more wildcard MXs for each
492 internal domain. Internally the DNS will be complete, with all
493 explicit MX records and no wildcards.
495 Wildcard As and CNAMEs are possible too, and are really confusing to
496 users, and a potential nightmare if used without thinking first. It
497 could result (due again to domain searching) in any telnet/ftp
498 attempts from within the domain to unknown hosts to be directed to
499 one address. One such wildcard CNAME (in *.edu.com) caused
500 Internet-wide loss of services and potential security nightmares due
501 to unexpected interactions with domain searching. It resulted in
502 swift fixes, and even an RFC ([RFC 1535]) documenting the problem.
506 Barr Informational [Page 9]
508 RFC 1912 Common DNS Errors February 1996
511 2.8 Authority and Delegation Errors (NS records)
513 You are required to have at least two nameservers for every domain,
514 though more is preferred. Have secondaries outside your network. If
515 the secondary isn't under your control, periodically check up on them
516 and make sure they're getting current zone data from you. Queries to
517 their nameserver about your hosts should always result in an
518 "authoritative" response. If not, this is called a "lame
519 delegation". A lame delegations exists when a nameserver is
520 delegated responsibility for providing nameservice for a zone (via NS
521 records) but is not performing nameservice for that zone (usually
522 because it is not set up as a primary or secondary for the zone).
524 The "classic" lame delegation can be illustrated in this example:
526 podunk.xx. IN NS ns1.podunk.xx.
527 IN NS ns0.widget.com.
529 "podunk.xx" is a new domain which has recently been created, and
530 "ns1.podunk.xx" has been set up to perform nameservice for the zone.
531 They haven't quite finished everything yet and haven't made sure that
532 the hostmaster at "ns0.widget.com" has set up to be a proper
533 secondary, and thus has no information about the podunk.xx domain,
534 even though the DNS says it is supposed to. Various things can
535 happen depending on which nameserver is used. At best, extra DNS
536 traffic will result from a lame delegation. At worst, you can get
537 unresolved hosts and bounced e-mail.
539 Also, sometimes a nameserver is moved to another host or removed from
540 the list of secondaries. Unfortunately due to caching of NS records,
541 many sites will still think that a host is a secondary after that
542 host has stopped providing nameservice. In order to prevent lame
543 delegations while the cache is being aged, continue to provide
544 nameservice on the old nameserver for the length of the maximum of
545 the minimum plus refresh times for the zone and the parent zone.
548 Whenever a primary or secondary is removed or changed, it takes a
549 fair amount of human coordination among the parties involved. (The
550 site itself, it's parent, and the site hosting the secondary) When a
551 primary moves, make sure all secondaries have their named.boot files
552 updated and their servers reloaded. When a secondary moves, make
553 sure the address records at both the primary and parent level are
556 It's also been reported that some distant sites like to pick popular
557 nameservers like "ns.uu.net" and just add it to their list of NS
558 records in hopes that they will magically perform additional
562 Barr Informational [Page 10]
564 RFC 1912 Common DNS Errors February 1996
567 nameservice for them. This is an even worse form of lame delegation,
568 since this adds traffic to an already busy nameserver. Please
569 contact the hostmasters of sites which have lame delegations.
570 Various tools can be used to detect or actively find lame
571 delegations. See the list of contributed software in the BIND
574 Make sure your parent domain has the same NS records for your zone as
575 you do. (Don't forget your in-addr.arpa zones too!). Do not list
576 too many (7 is the recommended maximum), as this just makes things
577 harder to manage and is only really necessary for very popular top-
578 level or root zones. You also run the risk of overflowing the 512-
579 byte limit of a UDP packet in the response to an NS query. If this
580 happens, resolvers will "fall back" to using TCP requests, resulting
581 in increased load on your nameserver.
583 It's important when picking geographic locations for secondary
584 nameservers to minimize latency as well as increase reliability.
585 Keep in mind network topologies. For example if your site is on the
586 other end of a slow local or international link, consider a secondary
587 on the other side of the link to decrease average latency. Contact
588 your Internet service provider or parent domain contact for more
589 information about secondaries which may be available to you.
593 This section discusses common problems people have in the actual
594 operation of the nameserver (specifically, BIND). Not only must the
595 data be correct as explained above, but the nameserver must be
596 operated correctly for the data to be made available.
600 Each zone has a serial number associated with it. Its use is for
601 keeping track of who has the most current data. If and only if the
602 primary's serial number of the zone is greater will the secondary ask
603 the primary for a copy of the new zone data (see special case below).
605 Don't forget to change the serial number when you change data! If
606 you don't, your secondaries will not transfer the new zone
607 information. Automating the incrementing of the serial number with
608 software is also a good idea.
610 If you make a mistake and increment the serial number too high, and
611 you want to reset the serial number to a lower value, use the
618 Barr Informational [Page 11]
620 RFC 1912 Common DNS Errors February 1996
623 Take the `incorrect' serial number and add 2147483647 to it. If
624 the number exceeds 4294967296, subtract 4294967296. Load the
625 resulting number. Then wait 2 refresh periods to allow the zone
626 to propagate to all servers.
628 Repeat above until the resulting serial number is less than the
629 target serial number.
631 Up the serial number to the target serial number.
633 This procedure won't work if one of your secondaries is running an
634 old version of BIND (4.8.3 or earlier). In this case you'll have to
635 contact the hostmaster for that secondary and have them kill the
636 secondary servers, remove the saved backup file, and restart the
637 server. Be careful when editing the serial number -- DNS admins
638 don't like to kill and restart nameservers because you lose all that
641 3.2 Zone file style guide
643 Here are some useful tips in structuring your zone files. Following
644 these will help you spot mistakes, and avoid making more.
646 Be consistent with the style of entries in your DNS files. If your
647 $ORIGIN is podunk.xx., try not to write entries like:
650 sue.podunk.xx. IN A 1.2.3.2
655 IN MX mary.podunk.xx.
658 Either use all FQDNs (Fully Qualified Domain Names) everywhere or
659 used unqualified names everywhere. Or have FQDNs all on the right-
660 hand side but unqualified names on the left. Above all, be
663 Use tabs between fields, and try to keep columns lined up. It makes
664 it easier to spot missing fields (note some fields such as "IN" are
665 inherited from the previous record and may be left out in certain
674 Barr Informational [Page 12]
676 RFC 1912 Common DNS Errors February 1996
679 Remember you don't need to repeat the name of the host when you are
680 defining multiple records for one host. Be sure also to keep all
681 records associated with a host together in the file. It will make
682 things more straightforward when it comes time to remove or rename a
685 Always remember your $ORIGIN. If you don't put a `.' at the end of
686 an FQDN, it's not recognized as an FQDN. If it is not an FQDN, then
687 the nameserver will append $ORIGIN to the name. Double check, triple
688 check, those trailing dots, especially in in-addr.arpa zone files,
689 where they are needed the most.
691 Be careful with the syntax of the SOA and WKS records (the records
692 which use parentheses). BIND is not very flexible in how it parses
693 these records. See the documentation for BIND.
697 Verify the data you just entered or changed by querying the resolver
698 with dig (or your favorite DNS tool, many are included in the BIND
699 distribution) after a change. A few seconds spent double checking
700 can save hours of trouble, lost mail, and general headaches. Also be
701 sure to check syslog output when you reload the nameserver. If you
702 have grievous errors in your DNS data or boot file, named will report
705 It is also highly recommended that you automate this checking, either
706 with software which runs sanity checks on the data files before they
707 are loaded into the nameserver, or with software which checks the
708 data already loaded in the nameserver. Some contributed software to
709 do this is included in the BIND distribution.
711 4. Miscellaneous Topics
715 Certain zones should always be present in nameserver configurations:
717 primary localhost localhost
718 primary 0.0.127.in-addr.arpa 127.0
719 primary 255.in-addr.arpa 255
720 primary 0.in-addr.arpa 0
722 These are set up to either provide nameservice for "special"
723 addresses, or to help eliminate accidental queries for broadcast or
724 local address to be sent off to the root nameservers. All of these
725 files will contain NS and SOA records just like the other zone files
726 you maintain, the exception being that you can probably make the SOA
730 Barr Informational [Page 13]
732 RFC 1912 Common DNS Errors February 1996
735 timers very long, since this data will never change.
737 The "localhost" address is a "special" address which always refers to
738 the local host. It should contain the following line:
740 localhost. IN A 127.0.0.1
742 The "127.0" file should contain the line:
746 There has been some extensive discussion about whether or not to
747 append the local domain to it. The conclusion is that "localhost."
748 would be the best solution. The reasons given include:
750 "localhost" by itself is used and expected to work in some
753 Translating 127.0.0.1 into "localhost.dom.ain" can cause some
754 software to connect back to the loopback interface when it didn't
755 want to because "localhost" is not equal to "localhost.dom.ain".
757 The "255" and "0" files should not contain any additional data beyond
758 the NS and SOA records.
760 Note that future BIND versions may include all or some of this data
761 automatically without additional configuration.
763 4.2 Other Resolver and Server bugs
765 Very old versions of the DNS resolver have a bug that cause queries
766 for names that look like IP addresses to go out, because the user
767 supplied an IP address and the software didn't realize that it didn't
768 need to be resolved. This has been fixed but occasionally it still
769 pops up. It's important because this bug means that these queries
770 will be sent directly to the root nameservers, adding to an already
773 While running a secondary nameserver off another secondary nameserver
774 is possible, it is not recommended unless necessary due to network
775 topologies. There are known cases where it has led to problems like
776 bogus TTL values. While this may be caused by older or flawed DNS
777 implementations, you should not chain secondaries off of one another
778 since this builds up additional reliability dependencies as well as
779 adds additional delays in updates of new zone data.
786 Barr Informational [Page 14]
788 RFC 1912 Common DNS Errors February 1996
793 DNS operates primarily via UDP (User Datagram Protocol) messages.
794 Some UNIX operating systems, in an effort to save CPU cycles, run
795 with UDP checksums turned off. The relative merits of this have long
796 been debated. However, with the increase in CPU speeds, the
797 performance considerations become less and less important. It is
798 strongly encouraged that you turn on UDP checksumming to avoid
799 corrupted data not only with DNS but with other services that use UDP
800 (like NFS). Check with your operating system documentation to verify
801 that UDP checksumming is enabled.
805 [RFC 974] Partridge, C., "Mail routing and the domain system", STD
806 14, RFC 974, CSNET CIC BBN Laboratories Inc, January 1986.
808 [RFC 1033] Lottor, M, "Domain Administrators Operations Guide", RFC
809 1033, USC/Information Sciences Institute, November 1987.
811 [RFC 1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
812 STD 13, RFC 1034, USC/Information Sciences Institute,
815 [RFC 1035] Mockapetris, P., "Domain Names - Implementation and
816 Specification", STD 13, RFC 1035, USC/Information Sciences
817 Institute, November 1987.
819 [RFC 1123] Braden, R., "Requirements for Internet Hosts --
820 Application and Support", STD 3, RFC 1123, IETF, October
823 [RFC 1178] Libes, D., "Choosing a Name for Your Computer", FYI 5, RFC
824 1178, Integrated Systems Group/NIST, August 1990.
826 [RFC 1183] Ullman, R., Mockapetris, P., Mamakos, L, and C. Everhart,
827 "New DNS RR Definitions", RFC 1183, October 1990.
829 [RFC 1535] Gavron, E., "A Security Problem and Proposed Correction
830 With Widely Deployed DNS Software", RFC 1535, ACES
831 Research Inc., October 1993.
833 [RFC 1536] Kumar, A., Postel, J., Neuman, C., Danzig, P., and S.
834 Miller, "Common DNS Implementation Errors and Suggested
835 Fixes", RFC 1536, USC/Information Sciences Institute, USC,
842 Barr Informational [Page 15]
844 RFC 1912 Common DNS Errors February 1996
847 [RFC 1537] Beertema, P., "Common DNS Data File Configuration Errors",
848 RFC 1537, CWI, October 1993.
850 [RFC 1713] A. Romao, "Tools for DNS debugging", RFC 1713, FCCN,
853 [BOG] Vixie, P, et. al., "Name Server Operations Guide for BIND",
854 Vixie Enterprises, July 1994.
856 5. Security Considerations
858 Security issues are not discussed in this memo.
863 The Pennsylvania State University
864 Department of Mathematics
865 334 Whitmore Building
866 University Park, PA 16802
868 Voice: +1 814 863 7374
870 EMail: barr@math.psu.edu
898 Barr Informational [Page 16]