6869N/A BIND version 9 is a major rewrite of nearly all aspects of the
6869N/A underlying BIND architecture. Some of the important features of
6869N/A Answers DNS queries on IPv6 sockets
6869N/A IPv6 resource records (A6, DNAME, etc.)
6869N/A Experimental IPv6 Resolver Library
6869N/A - DNS Protocol Enhancements
Improved standards conformance
One server process can provide multiple "views" of
the DNS namespace,
e.g. an "inside" view to certain
clients, and an "outside" view to others.
- Improved Portability Architecture
BIND version 9 development has been underwritten by the following
Compaq Computer Corporation
Process Software Corporation
U.S. Defense Information Systems Agency
Stichting NLnet - NLnet Foundation
BIND 9.2.0rc1 is a release candidate for BIND 9.2.0.
BIND 9.2.0 has a number of new features over 9.1,
- The size of the cache can now be limited using the
- The server can now automatically convert RFC1886-style
recursive lookup requests into RFC2874-style lookups,
when enabled using the new option "allow-v6-synthesis".
This allows stub resolvers that support AAAA records
but not A6 record chains or binary labels to perform
lookups in domains that make use of these IPv6 DNS
- Performance has been improved.
- The man pages now use the more portable "man" macros
rather than the "mandoc" macros, and are installed
- The
named.conf parser has been completely rewritten.
It now supports "include" directives in more
places such as inside "view" statememnts, and it no
longer has any reserved words.
- The "rndc status" command is now implemented.
- rndc can now be configured automatically.
- A BIND 8 compatible stub resolver library is now
- OpenSSL has been removed from the distribution. This
means that to use DNSSEC, OpenSSL must be installed and
the --with-openssl option must be supplied to configure.
This does not apply to the use of TSIG, which does not
- The source distribution now builds on Windows NT/2000.
This distribution also includes a new lightweight stub
resolver library and associated resolver daemon that fully
support forward and reverse lookups of both IPv4 and IPv6
addresses. This library is considered experimental and
is not a complete replacement for the BIND 8 resolver library.
Applications that use the BIND 8 res_* functions to perform
DNS lookups or dynamic updates still need to be linked against
the BIND 8 libraries. For DNS lookups, they can also use the
new "getrrsetbyname()" API.
BIND 9.2 is capable of acting as an authoritative server
for DNSSEC secured zones. This functionality is believed to
be stable and complete except for lacking support for wildcard
When acting as a caching server, BIND 9.2 can be configured
to perform DNSSEC secure resolution on behalf of its clients.
This part of the DNSSEC implementation is still considered
experimental. For detailed information about the state of the
There are a few known bugs:
On some systems, IPv6 and IPv4 sockets interact in
To reduce the impact of these problems, the server
no longer listens for requests on IPv6 addresses
by default. If you need to accept DNS queries over
IPv6, you must specify "listen-on-v6 { any; };"
FreeBSD prior to 4.2 (and 4.2 if running as non-root)
and OpenBSD prior to 2.8 log messages like
"fcntl(8, F_SETFL, 4): Inappropriate ioctl for device".
--with-libtool does not work on AIX.
A bug in the Windows 2000 DNS server can cause zone transfers
from a BIND 9 server to a W2K server to fail. For details,
For a detailed list of user-visible changes from
previous releases, see the CHANGES file.
BIND 9 currently requires a UNIX system with an ANSI C compiler,
basic POSIX support, and a 64 bit integer type.
We've had successful builds and tests on the following systems:
COMPAQ Tru64 UNIX 5 (with IPv6 EAK)
FreeBSD 3.4-STABLE, 3.5, 4.0, 4.1
Red Hat Linux 6.0, 6.1, 6.2, 7.0
Additionally, we have unverified reports of success building
previous versions of BIND 9 from users of the following systems:
OpenBSD 2.6, 2.8, -current
Do not use a parallel "make".
Several environment variables that can be set before running
configure will affect compilation:
The C compiler to use. configure tries to figure
out the right one for supported systems.
C compiler flags. Defaults to include -g
and/or -O2
as supported by the compiler.
System header file directories. Can be used to specify
where add-on thread or IPv6 support is, for example.
Defaults to empty string.
Any additional preprocessor symbols you want defined.
Defaults to empty string.
To build shared libraries, specify "--with-libtool" on the
For the server to support DNSSEC, you need to build it
with crypto support. You must have OpenSSL 0.9.5a
or newer installed and specify "--with-openssl" on the
configure command line. If OpenSSL is installed under
a nonstandard prefix, you can tell configure where to
look for it using "--with-openssl=/prefix".
To build libbind (the BIND 8 resolver library), specify
"--enable-libbind" on the configure command line.
On some platforms, BIND 9 can be built with multithreading
support, allowing it to take advantage of multiple CPUs.
You can specify whether to build a multithreaded BIND 9
by specifying "--enable-threads" or "--disable-threads"
on the configure command line. The default is operating
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.
"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".
You may specify the option "--sysconfdir" to set the directory
where configuration files like "
named.conf" go by default,
and "--localstatedir" to set the default parent directory
--sysconfdir defaults to "/etc" and --localstatedir defaults to
"/var" if no --prefix option is given. If there is a --prefix
option, sysconfdir defaults to "$
prefix/etc" and localstatedir
To see additional configure options, run "configure --help".
Note that the help message does not reflect the BIND 8
compatibility defaults for sysconfdir and localstatedir.
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
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
The BIND 9 Administrator Reference Manual is included with the
source distribution in DocBook XML and HTML format, in the
Some of the programs in the BIND 9 distribution have man pages
in their directories. In particular, the command line
There is now also a set of man pages for the lwres library.
If you are upgrading from BIND 8, please read the migration
Bug Reports and Mailing Lists
Bugs reports should be sent to
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.
bind9-workers-request@isc.org