migration revision ecbe731ce428d243b0c7eea5d2d2b24732a698a1
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsCopyright (C) 2000 Internet Software Consortium.
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrews BIND 8 to BIND 9 Migration Notes
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsBIND 9 is designed to be mostly upwards compatible with BIND 8, but
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsthere is still a number of caveats you should be aware of when
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsupgrading an existing BIND 8 installation to use BIND 9.
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrews1. Configuration File Compatibility
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrews1.1. Unimplemented Options and Changed Defaults
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsBIND 9.0.0 supports most, but not all but not of the named.conf
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsoptions of BIND 8. Unimplemented options include those for selective
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrews(per-domain) forwarding, sortlists, statistics, and process limits;
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsfor a complete list, see doc/misc/options. We plan to implement most
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsof these in in BIND 9.1.
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsIf your named.conf file uses an unimplemented option, named will log a
f41405d21249e11c1636301b1324ac1937b455aaMark Andrewswarning message. A message is also logged about each option whose
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsdefault has changed unless the option is set explicitly in named.conf.
7e8f841d085cbd14b270f7bb9e2a2b7c5bc22565Mark Andrews1.2. Handling of Configuration File Errors
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsIn BIND 9, named refuses to start if it detects an error in
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsnamed.conf. Earlier versions would start despite errors, causing the
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsserver to run with a partial configuration. Errors detected during
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewssubsequent reloads do not cause the server to exit.
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsThe set of logging categories in BIND 9 is different from that
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsin BIND 8. If you have customized your logging on a per-category
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsbasis, you need to modify your logging statement to use the
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsnew categories.
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsAnother difference is that the "logging" statement only takes effect
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsafter the entire named.conf file has been read. This means that when
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsthe server starts up, any messages about errors in the configuration
7e8f841d085cbd14b270f7bb9e2a2b7c5bc22565Mark Andrewsfile are always logged to the default destination (syslog) when the
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsserver first starts up, regardless of the contents of the "logging"
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsstatement. In BIND 8, the new logging configuration took effect
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsimmediately after the "logging" statement was read.
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrews1.4. Case sensitivity
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsIn BIND 9, ACL names are case sensitive. In BIND 8 they were case
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrews2. Zone File Compatibility
d39690e5a9b4a9a084d984abd193bed4395db41aDavid Lawrence2.1. Strict RFC1035 Interpretation of TTLs in Zone Files
105f5a65b1f680f4cb6f897b8b0f7ee7e09e41ebDavid LawrenceBIND 8 allowed you to omit all TTLs from a zone file, and used the
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsvalue of the SOA MINTTL field as a default for missing TTL values.
88b3bc12b5570aae77e5963204e9111a2875915eAndreas GustafssonBIND 9 enforces strict compliance with the RFC1035 and RFC2308 TTL
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsrules. The default TTL is the value specified with the $TTL
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark Andrewsdirective, or the previous explicit TTL if there is no $TTL directive.
8886caf5dc3db70638022ddfd5442c0930bd43b5Mark AndrewsIf there is no $TTL directive and the first RR in the file does not
ff8fd4d1b6abb0490b5aaf2b1d86555750ae0818Mark Andrewshave an explicit TTL field, the error message "no TTL specified" is
ff8fd4d1b6abb0490b5aaf2b1d86555750ae0818Mark Andrewslogged and loading the zone file fails.
9463feb3cb002df10b053f71e21540607c7a48e8Tatuya JINMEI 神明達哉To avoid problems, use a $TTL directive in each zone file.
2a313f56e78e19ae6dc2315bb53bd32fad13ae29Mark Andrews2.2. Periods in SOA Serial Numbers Deprecated
58e0b35a3bbb50d154c36749096f7463dab75a7aMark AndrewsSome versions of BIND allow SOA serial numbers with an embedded
60c2c8814f838f503333da5b2fd7e6792ca39c14Mark Andrewsperiod, like "3.002", and convert them into integers in a rather
c58088e3a0fd9e553db750cd4b08d3e621d0ded4Mark Andrewsunintuitive way. This feature is not supported by BIND 9; serial
b9858c2efcee324745a1b8d7b099baf540bc695bMark Andrewsnumbers must be integers.
5a020bc04be73df06735da0ec1abb1dd71c755e5Mark Andrews2.3. Handling of Unbalanced Quotes
5a020bc04be73df06735da0ec1abb1dd71c755e5Mark AndrewsTXT records with unbalanced quotes, like 'host TXT "foo', were not
58e0b35a3bbb50d154c36749096f7463dab75a7aMark Andrewstreated as errors in some versions of BIND. If your zone files
a69a77ddfef58e93036cf6173dc7f91ed864d103Mark Andrewscontain such records, you will get potentially confusing error
f4545143206d918a7f6ee53cd4fb9788c534c0c7Mark Andrewsmessages like "unexpected end of file" because BIND 9 will interpret
09233633dadbd7878e60dd383a814e24e5eda1c6Mark Andrewseverything up to the next quote character as a literal string.
09233633dadbd7878e60dd383a814e24e5eda1c6Mark Andrews2.4. Handling of Line Breaks
de90c0b2efac159580365beaa761a14bdb74330cMark AndrewsSome versions of BIND accept RRs containing line breaks that are not
49aa1303a7cf1ec2a06cde11e46a039dddfca8feMark Andrewsproperly quoted with parentheses, like the following SOA:
e03d4ecce3b62bb0a02d2f5e2cc1a9549df08498Mark Andrews ( 1 3600 1800 1814400 3600 )
d4ae7d9200ebad7700e8e85886cabe93ab24afd8Mark AndrewsThis is not legal master file syntax and will be treated as an error
b6f837397dadf6b296ee1825c95e90235ee5b5ffMark Andrewsby BIND 9. The fix is to move the opening parenthesis to the first
666bae3ccc9d50d840dd6b7b13731f7653f74e77Mark Andrews3. Interoperability Impact of New Protocol Features
fd6574dbc551faac89ae2ce6f3549fed51c24e49Mark AndrewsBIND 9 uses EDNS0 (RFC2671) to advertise its receive buffer size. It
fd6574dbc551faac89ae2ce6f3549fed51c24e49Mark Andrewsalso sets the AD bit in queries to indicate that it wishes to receive
cb6fe566ff051ade7b99f5ca9fca897193d1bd4fMark AndrewsDNSSEC responses (this usage of the AD bit is not yet standard, but
Most older servers that do not support EDNS0 and/or DNSSEC, including
no-check-names" in resolv.conf. BIND 9 provides no such protection;