bind9/README

469 lines
16 KiB
Text
Raw Normal View History

2000-02-04 13:03:07 -05:00
BIND 9
1999-05-03 16:52:18 -04:00
2000-02-04 17:54:46 -05:00
BIND version 9 is a major rewrite of nearly all aspects of the
2000-09-05 20:23:59 -04:00
underlying BIND architecture. Some of the important features of
BIND 9 are:
- DNS Security
DNSSEC (signed zones)
TSIG (signed DNS requests)
- IP version 6
Answers DNS queries on IPv6 sockets
2003-03-24 20:20:00 -05:00
IPv6 resource records (AAAA)
2000-09-05 20:23:59 -04:00
Experimental IPv6 Resolver Library
- DNS Protocol Enhancements
IXFR, DDNS, Notify, EDNS0
Improved standards conformance
- Views
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.
- Multiprocessor Support
- Improved Portability Architecture
2000-02-04 17:54:46 -05:00
BIND version 9 development has been underwritten by the following
organizations:
2000-09-05 20:23:59 -04:00
Sun Microsystems, Inc.
Hewlett Packard
Compaq Computer Corporation
IBM
Process Software Corporation
Silicon Graphics, Inc.
Network Associates, Inc.
U.S. Defense Information Systems Agency
2000-02-04 20:14:42 -05:00
USENIX Association
Stichting NLnet - NLnet Foundation
Nominum, Inc.
1999-05-03 16:52:18 -04:00
For a summary of functional enhancements in previous
releases, see the HISTORY file.
For a detailed list of user-visible changes from
previous releases, see the CHANGES file.
2013-12-11 23:04:10 -05:00
For up-to-date release notes and errata, see
http://www.isc.org/software/bind9/releasenotes
2015-11-16 23:30:12 -05:00
BIND 9.9.9
2016-02-23 21:13:27 -05:00
BIND 9.9.9 is a maintenance release and addresses bugs found
in BIND 9.9.8 and earlier, as well as the security flaws
described in CVE-2015-8000, CVE-2015-8461, CVE-2015-8704,
CVE-2016-1285, and CVE-2016-1286.
2015-11-16 23:30:12 -05:00
2015-07-14 18:01:11 -04:00
BIND 9.9.8
BIND 9.9.8 is a maintenance release and addresses bugs
found in BIND 9.9.7 and earlier, as well as the security
2015-08-13 18:31:39 -04:00
flaws described in CVE-2015-4620, CVE-2015-5477,
CVE-2015-5722, and CVE-2015-5986.
It also makes the following new features available via a
compile-time option:
2015-08-03 15:50:59 -04:00
- New "fetchlimit" quotas are now available for the use of
recursive resolvers that are are under high query load for
domains whose authoritative servers are nonresponsive or are
experiencing a denial of service attack.
+ "fetches-per-server" limits the number of simultaneous queries
that can be sent to any single authoritative server. The
configured value is a starting point; it is automatically
adjusted downward if the server is partially or completely
non-responsive. The algorithm used to adjust the quota can be
configured via the "fetch-quota-params" option.
+ "fetches-per-zone" limits the number of simultaneous queries
that can be sent for names within a single domain. (Note:
Unlike "fetches-per-server", this value is not self-tuning.)
+ New stats counters have been added to count
2015-08-03 15:50:59 -04:00
queries spilled due to these quotas.
NOTE: These options are NOT built in by default; use
"configure --enable-fetchlimit" to enable them.
2014-12-18 16:50:42 -05:00
BIND 9.9.7
BIND 9.9.7 is a maintenance release and addresses bugs
found in BIND 9.9.6 and earlier, as well as the security
2015-02-11 00:39:56 -05:00
flaws described in CVE-2014-8500 and CVE-2015-1349.
2014-12-18 16:50:42 -05:00
2014-02-07 01:52:51 -05:00
BIND 9.9.6
BIND 9.9.6 is a maintenance release, and also includes
2014-12-18 16:50:42 -05:00
the following new functionality.
2014-02-07 01:52:51 -05:00
- The former behavior with respect to capitalization of names
2014-12-18 16:50:42 -05:00
(prior to BIND 9.9.5) can be restored for specific clients via
the new "no-case-compress" ACL.
2014-02-07 01:52:51 -05:00
BIND 9.9.5
BIND 9.9.5 is a maintenance release, and patches the security
flaws described in CVE-2013-6320 and CVE-2014-0591. It also
includes the following functional enhancements:
2013-12-11 23:04:10 -05:00
- "named" now preserves the capitalization of names when
responding to queries.
- new "dnssec-importkey" command allows the use of offline
DNSSEC keys with automatic DNSKEY management.
- When re-signing a zone, the new "dnssec-signzone -Q" option
drops signatures from keys that are still published but are
no longer active.
- "named-checkconf -px" will print the contents of configuration
files with the shared secrets obscured, making it easier to
share configuration (e.g. when submitting a bug report)
without revealing private information.
2013-12-10 20:15:50 -05:00
2013-07-01 13:00:53 -04:00
BIND 9.9.4
BIND 9.9.4 is a maintenance release, and patches the security
2013-07-25 20:19:29 -04:00
flaws described in CVE-2013-3919 and CVE-2013-4854. It also
introduces DNS Response Rate Limiting (DNS RRL) as a
2013-09-05 01:08:22 -04:00
compile-time option. To use this feature, configure with
2013-07-25 20:19:29 -04:00
the "--enable-rrl" option.
2013-07-01 13:00:53 -04:00
2013-01-10 23:21:41 -05:00
BIND 9.9.3
BIND 9.9.3 is a maintenance release and patches the security
2013-03-26 21:55:51 -04:00
flaws described in CVE-2012-5688, CVE-2012-5689 and CVE-2013-2266.
2013-01-10 23:21:41 -05:00
2012-08-24 00:15:33 -04:00
BIND 9.9.2
2012-07-20 01:40:54 -04:00
2012-08-24 00:15:33 -04:00
BIND 9.9.2 is a maintenance release and patches the security
flaw described in CVE-2012-4244.
2012-07-20 01:40:54 -04:00
2012-04-26 23:58:44 -04:00
BIND 9.9.1
BIND 9.9.1 is a maintenance release.
2011-08-22 22:06:46 -04:00
BIND 9.9.0
BIND 9.9.0 includes a number of changes from BIND 9.8 and earlier
2011-08-22 22:06:46 -04:00
releases. New features include:
2013-12-11 23:04:10 -05:00
- Inline signing, allowing automatic DNSSEC signing of
master zones without modification of the zonefile, or
"bump in the wire" signing in slaves.
- NXDOMAIN redirection.
- New 'rndc flushtree' command clears all data under a given
name from the DNS cache.
- New 'rndc sync' command dumps pending changes in a dynamic
zone to disk without a freeze/thaw cycle.
- New 'rndc signing' command displays or clears signing status
records in 'auto-dnssec' zones.
- NSEC3 parameters for 'auto-dnssec' zones can now be set prior
to signing, eliminating the need to initially sign with NSEC.
- Startup time improvements on large authoritative servers.
- Slave zones are now saved in raw format by default.
- Several improvements to response policy zones (RPZ).
- Improved hardware scalability by using multiple threads
to listen for queries and using finer-grained client locking
- The 'also-notify' option now takes the same syntax as
'masters', so it can used named masterlists and TSIG keys.
- 'dnssec-signzone -D' writes an output file containing only DNSSEC
data, which can be included by the primary zone file.
- 'dnssec-signzone -R' forces removal of signatures that are
not expired but were created by a key which no longer exists.
- 'dnssec-signzone -X' allows a separate expiration date to
be specified for DNSKEY signatures from other signatures.
- New '-L' option to dnssec-keygen, dnssec-settime, and
dnssec-keyfromlabel sets the default TTL for the key.
- dnssec-dsfromkey now supports reading from standard input,
to make it easier to convert DNSKEY to DS.
- RFC 1918 reverse zones have been added to the empty-zones
table per RFC 6303.
- Dynamic updates can now optionally set the zone's SOA serial
number to the current UNIX time.
- DLZ modules can now retrieve the source IP address of
the querying client.
- 'request-ixfr' option can now be set at the per-zone level.
- 'dig +rrcomments' turns on comments about DNSKEY records,
indicating their key ID, algorithm and function
- Simplified nsupdate syntax and added readline support
2011-08-22 22:06:46 -04:00
1999-05-03 16:52:18 -04:00
Building
2000-02-04 13:12:43 -05:00
BIND 9 currently requires a UNIX system with an ANSI C compiler,
basic POSIX support, and a 64 bit integer type.
2000-02-04 13:12:43 -05:00
We've had successful builds and tests on the following systems:
2000-02-04 13:03:07 -05:00
COMPAQ Tru64 UNIX 5.1B
Fedora Core 6
FreeBSD 4.10, 5.2.1, 6.2
HP-UX 11.11
Mac OS X 10.5
NetBSD 3.x, 4.0-beta, 5.0-beta
OpenBSD 3.3 and up
Solaris 8, 9, 9 (x86), 10
Ubuntu 7.04, 7.10
Windows XP/2003/2008
2013-12-11 23:04:10 -05:00
NOTE: As of BIND 9.5.1, 9.4.3, and 9.3.6, older versions of
Windows, including Windows NT and Windows 2000, are no longer
supported.
2000-08-08 19:33:22 -04:00
We have recent reports from the user community that a supported
version of BIND will build and run on the following systems:
AIX 4.3, 5L
CentOS 4, 4.5, 5
Darwin 9.0.0d1/ARM
Debian 4, 5, 6
Fedora Core 5, 7, 8
FreeBSD 6, 7, 8
HP-UX 11.23 PA
MacOS X 10.5, 10.6, 10.7
Red Hat Enterprise Linux 4, 5, 6
SCO OpenServer 5.0.6
Slackware 9, 10
SuSE 9, 10
2000-02-04 13:03:07 -05:00
To build, just
./configure
make
2001-02-09 13:35:11 -05:00
Do not use a parallel "make".
2000-11-30 16:40:42 -05:00
Several environment variables that can be set before running
configure will affect compilation:
2000-11-30 16:40:42 -05:00
CC
The C compiler to use. configure tries to figure
out the right one for supported systems.
2000-11-30 16:40:42 -05:00
CFLAGS
C compiler flags. Defaults to include -g and/or -O2
2012-05-25 00:47:38 -04:00
as supported by the compiler. Please include '-g'
if you need to set CFLAGS.
2000-11-30 16:40:42 -05:00
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.
2000-11-30 16:40:42 -05:00
STD_CDEFINES
Any additional preprocessor symbols you want defined.
Defaults to empty string.
Possible settings:
Change the default syslog facility of named/lwresd.
-DISC_FACILITY=LOG_LOCAL0
Enable DNSSEC signature chasing support in dig.
-DDIG_SIGCHASE=1 (sets -DDIG_SIGCHASE_TD=1 and
-DDIG_SIGCHASE_BU=1)
Disable dropping queries from particular well known ports.
-DNS_CLIENT_DROPPORT=0
2014-12-18 16:50:42 -05:00
Sibling glue checking in named-checkzone is enabled by default.
2008-10-23 20:52:49 -04:00
To disable the default check set. -DCHECK_SIBLING=0
named-checkzone checks out-of-zone addresses by default.
To disable this default set. -DCHECK_LOCAL=0
To create the default pid files in ${localstatedir}/run rather
than ${localstatedir}/run/{named,lwresd}/ set.
-DNS_RUN_PID_DIR=0
2008-11-08 17:44:10 -05:00
Enable workaround for Solaris kernel bug about /dev/poll
-DISC_SOCKET_USE_POLLWATCH=1
The watch timeout is also configurable, e.g.,
-DISC_SOCKET_POLLWATCH_TIMEOUT=20
2004-07-20 03:13:43 -04:00
LDFLAGS
Linker flags. Defaults to empty string.
The following need to be set when cross compiling.
BUILD_CC
The native C compiler.
BUILD_CFLAGS (optional)
BUILD_CPPFLAGS (optional)
Possible Settings:
-DNEED_OPTARG=1 (optarg is not declared in <unistd.h>)
BUILD_LDFLAGS (optional)
BUILD_LIBS (optional)
2000-11-30 16:40:42 -05:00
To build shared libraries, specify "--with-libtool" on the
configure command line.
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".
2016-03-08 08:49:37 -05:00
On some platforms it is necessary to explicitly request large
2008-10-13 23:33:01 -04:00
file support to handle files bigger than 2GB. This can be
done by "--enable-largefile" on the configure command line.
2001-05-03 16:24:53 -04:00
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
system dependent.
2000-11-30 16:40:42 -05:00
2013-12-11 23:04:10 -05:00
Support for the "fixed" rrset-order option can be enabled
or disabled by specifying "--enable-fixed-rrset" or
"--disable-fixed-rrset" on the configure command line.
The default is "disabled", to reduce memory footprint.
2000-05-12 15:42:25 -04:00
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.
2000-02-04 13:03:07 -05:00
"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
of "run/named.pid". For backwards compatibility with BIND 8,
--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
defaults to "$prefix/var".
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
"make tags" helpful.
If you need to re-run configure please run "make distclean" first.
This will ensure that all the option changes take.
2000-02-04 13:03:07 -05:00
Building with gcc is not supported, unless gcc is the vendor's usual
compiler (e.g. the various BSD systems, Linux).
2003-02-20 23:52:48 -05:00
Known compiler issues:
2003-02-20 23:52:48 -05:00
* gcc-3.2.1 and gcc-3.1.1 is known to cause problems with solaris-x86.
2003-03-25 18:28:13 -05:00
* gcc prior to gcc-3.2.3 ultrasparc generates incorrect code at -02.
* gcc-3.3.5 powerpc generates incorrect code at -02.
2005-03-30 23:22:31 -05:00
* Irix, MipsPRO 7.4.1m is known to cause problems.
2000-02-04 13:03:07 -05:00
2000-12-05 15:16:06 -05:00
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.
SunOS 4 requires "printf" to be installed to make the shared
libraries. sh-utils-1.16 provides a "printf" which compiles
on SunOS 4.
2012-05-25 00:47:38 -04:00
Known limitations
Linux requires kernel build 2.6.39 or later to get the
performance benefits from using multiple sockets.
Documentation
The BIND 9 Administrator Reference Manual is included with the
2000-12-05 15:16:06 -05:00
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
2001-03-27 18:56:24 -05:00
in their directories. In particular, the command line
options of "named" are documented in /bin/named/named.8.
2000-12-05 15:16:06 -05:00
There is now also a set of man pages for the lwres library.
If you are upgrading from BIND 8, please read the migration
notes in doc/misc/migration. If you are upgrading from
BIND 4, read doc/misc/migration-4to9.
2000-02-04 13:03:07 -05:00
2002-02-11 15:15:21 -05:00
Frequently asked questions and their answers can be found in
2002-02-10 23:02:37 -05:00
FAQ.
2013-12-11 23:04:10 -05:00
Additional information on various subjects can be found
in the other README files.
2011-11-04 18:27:09 -04:00
Change Log
A detailed list of all changes to BIND 9 is included in the
file CHANGES, with the most recent changes listed first.
Change notes include tags indicating the category of the
change that was made; these categories are:
[func] New feature
[bug] General bug fix
[security] Fix for a significant security flaw
[experimental] Used for new features when the syntax
2014-12-18 16:50:42 -05:00
or other aspects of the design are still
2011-11-04 18:27:09 -04:00
in flux and may change
[port] Portability enhancement
[maint] Updates to built-in data such as root
server addresses and keys
[tuning] Changes to built-in configuration defaults
2016-03-08 08:49:37 -05:00
and constants to improve performance
2011-11-04 18:27:09 -04:00
2016-02-01 12:52:57 -05:00
[performance] Other changes to improve server performance
[protocol] Updates to the DNS protocol such as new
2011-11-04 18:27:09 -04:00
RR types
2013-12-11 23:04:10 -05:00
[test] Changes to the automatic tests, not
affecting server functionality
2011-11-04 18:27:09 -04:00
2013-12-11 23:04:10 -05:00
[cleanup] Minor corrections and refactoring
2011-11-04 18:27:09 -04:00
[doc] Documentation
2014-02-05 17:55:06 -05:00
[contrib] Changes to the contributed tools and
libraries in the 'contrib' subdirectory
2014-02-05 12:25:28 -05:00
[placeholder] Used in the master development branch to
reserve change numbers for use in other
branches, e.g. when fixing a bug that only
exists in older releases
2011-11-04 18:27:09 -04:00
In general, [func] and [experimental] tags will only appear
in new-feature releases (i.e., those with version numbers
ending in zero). Some new functionality may be backported to
older releases on a case-by-case basis. All other change
types may be applied to all currently-supported releases.
Bug Reports and Mailing Lists
Bug reports should be sent to:
2000-02-04 13:03:07 -05:00
bind9-bugs@isc.org
Feature requests can be sent to:
2000-02-04 13:03:07 -05:00
bind-suggest@isc.org
2000-02-04 13:03:07 -05:00
To join or view the archives of the BIND Users mailing list,
visit:
https://lists.isc.org/mailman/listinfo/bind-users
2000-02-04 13:03:07 -05:00
If you're planning on making changes to the BIND 9 source
code, you may also want to join the BIND Workers mailing
list:
2000-02-04 13:03:07 -05:00
https://lists.isc.org/mailman/listinfo/bind-workers
Information on read-only Git access, coding style and developer
guidelines can be found at:
http://www.isc.org/git/
2000-02-04 13:03:07 -05:00
1999-02-01 21:07:21 -05:00