README revision 69930116e30137705d3b87d05cbfbc5712386fde
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley BIND version 9 is a major rewrite of nearly all aspects of the
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley underlying BIND architecture. This re-architecting of BIND was
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley necessitated by the expected demands of:
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley - Domain name system growth, particularly in very large
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley zones such as .COM
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley - Protocol enhancements necessary to securely query and
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley update zones
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley - Protocol enhancements necessary to take advantage of
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley certain architectural features of IP version 6
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley These demands implied performance requirements that were not
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley necessarily easy to attain with the BIND version 8
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley architecture. In particular, BIND must not only be able to
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley run on multi-processor multi-threaded systems, but must take
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley full advantage of the performance enhancements these
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley architectures can provide. In addition, the underlying data
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley storage architecture of BIND version 8 does not lend itself to
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley implementing alternative back end databases, such as would be
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley desirable for the support of multi-gigabyte zones. As such
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley zones are easily foreseeable in the relatively near future,
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley the data storage architecture needed revision. The feature
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley requirements for BIND version 9 included:
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley - Scalability
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Thread safety
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Multi-processor scalability
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Support for very large zones
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Support for DNSSEC
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Support for TSIG
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Auditability (code and operation)
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Firewall support (split DNS)
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley - Portability
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley - Maintainability
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley - Protocol Enhancements
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley IXFR, DDNS, Notify, EDNS0
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Improved standards conformance
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley - Operational enhancements
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley High availability and reliability
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Support for alternative back end databases
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley - IP version 6 support
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley IPv6 resource records (A6, DNAME, etc.)
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Bitstring labels
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley BIND version 9 development has been underwritten by the following
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley organizations:
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Sun Microsystems, Inc.
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Hewlett Packard
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Compaq Computer Corporation
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Process Software Corporation
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Silicon Graphics, Inc.
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley Network Associates, Inc.
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley U.S. Defense Information Systems Agency
70680fa51b0147c726b939b72b2420249429756aBob Halley USENIX Association
70680fa51b0147c726b939b72b2420249429756aBob Halley Stichting NLnet - NLnet Foundation
e5256e34b4a26a26088b2dc5ca621b42c0750256Andreas Gustafsson BIND 9.0.0b2 is the second public release of BIND 9 code. It will
40d01ce8f3a1889f5799d9b22b26d5398fa75a1bBob Halley be most useful to advanced users working with IPv6 or DNSSEC.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence BIND 9.0.0b2 is not functionally complete, and is not a release
b90dd6c0a9df584619d3c47be7c9417f55d5ccf6Bob Halley candidate for BIND 9.0.0. ISC anticipates a number of additional
40d01ce8f3a1889f5799d9b22b26d5398fa75a1bBob Halley beta releases between now and May, when BIND 9.0.0 is scheduled to
40d01ce8f3a1889f5799d9b22b26d5398fa75a1bBob Halley be released.
8db66dc4eb654a2e295eaeab3aaf96e24c9ae7b7Bob Halley ISC does not recommend using BIND 9.0.0b2 for "production"
501da430e2f16f496f8e8d1b57ab77f78428c682David Lawrence We hope users of BIND 9.0.0b2 will provide feedback, bug fixes, and
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley enhancements. If you are not in a position to do so, it would
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley probably be better to wait until subsequent releases.
e5256e34b4a26a26088b2dc5ca621b42c0750256Andreas Gustafsson There have been many changes since beta 1; the highlights are:
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley Many more config file options are now implemented. See
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley doc/misc/options for a summary of the current implementation
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley Portability improvements. In particular, this beta should work
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley much better than beta 1 on FreeBSD 3.4.
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley Bug fixes. Almost all bugs reported against beta 1 have been
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley Some of the more significant items that will be implemented or
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence enhanced in a future beta are
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence DNSSEC validation
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence The server does not currently validate DNSSEC
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence Notify is not yet implemented.
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence Selective Forwarding
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence Documentation
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence Future releases will contain a lot more documentation,
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence but a preliminary version of the Administrator's
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence Reference Manual is in the doc/arm subdirectory.
b70fc17acec2c036bb35a937ba00fbcf10848859David Lawrence A detailed CHANGES file like that in BIND 4 and BIND 8
69930116e30137705d3b87d05cbfbc5712386fdeAndreas Gustafsson will be provided in future betas.
e21262ae8af5d12f64a2242e26338f36901ba4ccAndreas Gustafsson BIND 9 currently requires a UNIX system with an ANSI C compiler,
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence basic POSIX support, and a good pthreads implementation.
9e87fd676ee62e6e11d29611731b80839fc305b3David Lawrence We've had successful builds and tests on the following systems
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley COMPAQ Tru64 UNIX 4.0D
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley FreeBSD 3.4-STABLE
5f5bb44065a3e7f506e4afd4d81c89da2931bf1bBob Halley NetBSD current (with "unproven" pthreads)
5f5bb44065a3e7f506e4afd4d81c89da2931bf1bBob Halley Red Hat Linux 6.0, 6.1, 6.2
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley Solaris 2.6, 7, 8 (beta)
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley To build, just
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley Several environment variables that can be set before running
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley configure will affect compilation:
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley The C compiler to use. configure tries to figure
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley out the right one for supported systems.
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley C compiler flags. Defaults to include -g and/or -O2
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley as supported by the compiler.
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley STD_CINCLUDES
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley System header file directories. Can be used to specify
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley where add-on thread or IPv6 support is, for example.
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley Defaults to empty string.
a48fa4b49c58246b297e0fd38e5fb85b985379f1Bob Halley STD_CDEFINES
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley Any additional preprocessor symbols you want defined.
a48fa4b49c58246b297e0fd38e5fb85b985379f1Bob Halley Defaults to empty string.
a48fa4b49c58246b297e0fd38e5fb85b985379f1Bob Halley To build shared libraries, specify "--with-libtool" on the
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley configure command line.
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley To compile with KAME IPv6, use"--with-kame[=PATH]". This should
a48fa4b49c58246b297e0fd38e5fb85b985379f1Bob Halley only be necessary if KAME was installed separately, not if it
32b61e553b8fa66762989323ba79675eda8a5c47Andreas Gustafsson is integrated into your operating system.
b6810760b16e366feea9f5af5d63de5985d46e27Andreas Gustafsson To see additional configure options, run "configure --help".
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence "make install" will install "named" and the various BIND 9 libraries.
a48fa4b49c58246b297e0fd38e5fb85b985379f1Bob Halley By default, installation is into /usr/local, but this can be changed
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley with the "--prefix" option when running "configure".
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley If you're planning on making changes to the BIND 9 source, you
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley should also "make depend". If you're using Emacs, you might find
5ba43259eb4775fda6d771469c3c7db04518b5deBob Halley "make tags" helpful.
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley Building with gcc is not supported, unless gcc is the vendor's usual
36983956d7c3d9e294903eeda29548f67ac17daeBob Halley compiler (e.g. the various BSD systems, Linux).
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley Parts of the library can be tested by running "make test" from the
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley bin/tests subdirectory. Running "make all_tests" will build many
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley small test applications that can also exercise a lot of functionality
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley of the library in an isolated way; however, these test programs
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley are not well documented nor directly supported, so they're mostly
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley there for people who really want to get their hands dirty with BIND9.
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob HalleyBug Reports and Mailing Lists
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley Bugs reports should be sent to
134ba0e08a0ae9a564a8d8628fc633377d3fc239Bob Halley bind9-bugs@isc.org
40d01ce8f3a1889f5799d9b22b26d5398fa75a1bBob Halley To join the BIND 9 Users mailing list, send mail to
8b65cde911bc1f2499e78c991583499daf14fcc0Brian Wellington bind9-users-request@isc.org
8b65cde911bc1f2499e78c991583499daf14fcc0Brian Wellington If you're planning on making changes to the BIND 9 source
40d01ce8f3a1889f5799d9b22b26d5398fa75a1bBob Halley code, you might want to join the BIND 9 Workers mailing list.
some system calls, e.g. setuid() that in a typical pthreads
thread/process on Linux. The good news is that BIND 9 uses the