README revision 46564d3c26190bfa032df7e40f04185f681826fd
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinBIND 9
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin BIND version 9 is a major rewrite of nearly all aspects of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin underlying BIND architecture. Some of the important features of
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin BIND 9 are:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - DNS Security
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin DNSSEC (signed zones)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin TSIG (signed DNS requests)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - IP version 6
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Answers DNS queries on IPv6 sockets
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin IPv6 resource records (A6, DNAME, etc.)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Bitstring Labels
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Experimental IPv6 Resolver Library
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - DNS Protocol Enhancements
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin IXFR, DDNS, Notify, EDNS0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Improved standards conformance
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Views
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin One server process can provide multiple "views" of
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the DNS namespace, e.g. an "inside" view to certain
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin clients, and an "outside" view to others.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Multiprocessor Support
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Improved Portability Architecture
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin BIND version 9 development has been underwritten by the following
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin organizations:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Sun Microsystems, Inc.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Hewlett Packard
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Compaq Computer Corporation
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin IBM
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Process Software Corporation
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Silicon Graphics, Inc.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Network Associates, Inc.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin U.S. Defense Information Systems Agency
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin USENIX Association
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Stichting NLnet - NLnet Foundation
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinBIND 9.1.0b2
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin BIND 9.1.0b2 is the second beta release of BIND 9.1.0.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin It fixes a number of bugs in 9.1.0b1.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin New features added since 9.0.x include:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Many BIND 8 features previously unimplemented in BIND 9,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin including domain-specific forwarding, the $GENERATE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin master file directive, and the "blackhole", "dialup",
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin and "sortlist" options
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Forwarding of dynamic update requests; this is enabled
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin by the "allow-update-forwarding" option
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - A new, simplified database interface and a number of
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin sample drivers based on it; see doc/misc/sdb for details
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Support for building single-threaded servers for
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin environments that do not supply POSIX threads
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - New configuration options: "min-refresh-time",
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "max-refresh-time", "min-retry-time", "max-retry-time",
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "additional-from-auth", "additional-from-cache",
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "notify explicit"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Faster lookups, particularly in large zones.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin BIND 9.1.0 also includes experimental implementations of a
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin number of DNS protocols extensions still under development
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin in the IETF. These include transparent processing of
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin unknown RR types and use of the EDNS "DNSSEC OK" bit to
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin explicitly enable DNSSEC processing in responses.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Cryptographic operations are now based on the OpenSSL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin library instead of DNSsafe.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Numerous bugs have been fixed.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin BIND 9.1.0 is primarily a name server software distribution.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin In addition to the name server, it also includes a new
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin lightweight stub resolver library and associated resolver
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin daemon that fully support forward and reverse lookups of both
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin IPv4 and IPv6 addresses. This library is still considered
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin experimental and is not a complete replacement for the BIND 8
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin resolver library. Applications that use the BIND 8 res_*
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin functions to perform DNS lookups or dynamic updates still need
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin to be linked against the BIND 8 libraries. For DNS lookups,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin they can also use the new "getrrsetbyname()" API.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin BIND 9.1.0 is capable of acting as an authoritative server
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin for DNSSEC secured zones. This functionality is believed to
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin be stable and complete except for lacking support for wildcard
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin records in secure zones.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin When acting as a caching server, BIND 9.1.0 can be configured
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin to perform DNSSEC secure resolution on behalf of its clients.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin This part of the DNSSEC implementation is still considered
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin experimental. For detailed information about the state of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin DNSSEC implementation, see the file doc/misc/dnssec.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin There are a few known bugs:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin On some systems, IPv6 and IPv4 sockets interact in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin unexpected ways. For details, see doc/misc/ipv6.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin To reduce the impact of these problems, the server
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin no longer listens for requests on IPv6 addresses
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin by default. If you need to accept DNS queries over
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin IPv6, you must specify "listen-on-v6 { any; };"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin in the named.conf options statement.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin There are known problems with thread signal handling
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin under Solaris 2.6.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin On FreeBSD systems, the server logs error messages
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin like "fcntl(8, F_SETFL, 4): Inappropriate ioctl for
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin device". This is due to a bug in the FreeBSD
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /dev/random device. The bug has been reported
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin to the FreeBSD maintainers. Versions of OpenBSD
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin prior to 2.8 have a similar problem.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin --with-libtool does not work on AIX.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin For a detailed list of user-visible changes from
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin previous releases, see the CHANGES file.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinBuilding
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin BIND 9 currently requires a UNIX system with an ANSI C compiler,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin basic POSIX support, and a good pthreads implementation.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin We've had successful builds and tests on the following systems:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin AIX 4.3
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin COMPAQ Tru64 UNIX 4.0D
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin COMPAQ Tru64 UNIX 5 (with IPv6 EAK)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin FreeBSD 3.4-STABLE, 3.5, 4.0, 4.1
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin HP-UX 11
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin IRIX64 6.5
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin NetBSD-current (with unproven-pthreads-0.17)
Red Hat Linux 6.0, 6.1, 6.2 [Linux kernel patch]
Solaris 2.6, 7, 8
Additionally, we have unverified reports of success building
previous versions of BIND 9 from users of the following systems:
Slackware Linux 7.0 with 2.4.0-test6 kernel and glibc 2.1.3
Slackware Linux 7.0.1 with glibc 2.1.3
OpenBSD 2.6, 2.8, -current
UnixWare 7.1.1
To build, just
./configure
make
Several environment variables that can be set before running
configure will affect compilation:
CC
The C compiler to use. configure tries to figure
out the right one for supported systems.
CFLAGS
C compiler flags. Defaults to include -g and/or -O2
as supported by the compiler.
STD_CINCLUDES
System header file directories. Can be used to specify
where add-on thread or IPv6 support is, for example.
Defaults to empty string.
STD_CDEFINES
Any additional preprocessor symbols you want defined.
Defaults to empty string.
To build shared libraries, specify "--with-libtool" on the
configure command line.
To build without multithreading, specify "--disable-threads"
on the configure command line.
If your operating system has integrated support for IPv6, it
will be used automatically. If you have installed KAME IPv6
separately, use "--with-kame[=PATH]" to specify its location.
To see additional configure options, run "configure --help".
"make install" will install "named" and the various BIND 9 libraries.
By default, installation is into /usr/local, but this can be changed
with the "--prefix" option when running "configure".
If you're planning on making changes to the BIND 9 source, you
should also "make depend". If you're using Emacs, you might find
"make tags" helpful.
Building with gcc is not supported, unless gcc is the vendor's usual
compiler (e.g. the various BSD systems, Linux).
A limited test suite can be run with "make test". Many of
the tests require you to configure a set of virtual IP addresses
on your system, and some require Perl; see bin/tests/system/README
for details.
Linux kernel patch:
To get useful core dumps under Linux it is necessary to get the
kernel to write the offending thread written to disk. There is
a patch, contrib/linux/coredump-patch, which achieves this.
Documentation
The BIND 9 Administrator Reference Manual is included with the
source distribution in DocBook XML and HTML format, in the
doc/arm directory.
Some of the programs in the BIND 9 distribution have man pages
under the doc/man directory. In particular, the command line
options of "named" are documented in doc/man/bind/named.8.
There is now also a set of man pages for the lwres library.
The man pages are currently not installed automatically by
"make install".
If you are upgrading from BIND 8, please read the migration
notes in doc/misc/migration.
Bug Reports and Mailing Lists
Bugs reports should be sent to
bind9-bugs@isc.org
To join the BIND 9 Users mailing list, send mail to
bind9-users-request@isc.org
If you're planning on making changes to the BIND 9 source
code, you might want to join the BIND 9 Workers mailing list.
Send mail to
bind9-workers-request@isc.org