In this section we provide some suggested configurations along with guidelines for their use. We also address the topic of reasonable option setting.
-
+
3.1
Sample Configurations
-
+
-
+
3.1.1 A Caching-only Nameserver
-
+
@@ -77,20 +77,16 @@ zone "0.0.127.in-addr.arpa" {
-
+
3.1.2 An Authoritative-only Nameserver
-
+
-This sample configuration is for an authoritative-only server that is the master server for "
-example.com
-" and a slave for the subdomain "
-eng.example.com
-".
+This sample configuration is for an authoritative-only server that is the master server for "example.com" and a slave for the subdomain "eng.example.com".
options {
@@ -131,12 +127,12 @@ zone "eng.example.com" {
-
+
3.2 Load Balancing
-
+
@@ -145,6 +141,7 @@ Primitive load balancing can be achieved in DNS using multiple A records for one
For example, if you have three WWW servers with network addresses of 10.0.0.1, 10.0.0.2 and 10.0.0.3, a set of records such as the following means that clients will connect to each machine one third of the time:
+
@@ -321,56 +318,51 @@ options
statement under RRset Ordering. This substatement is not supported in BIND 9, and only the ordering scheme described above is available.
-
+
3.3
Notify
-
+
-DNS Notify is a mechanism that allows master nameservers to notify their slave servers of changes to a zone's data. In response to a
-NOTIFY
- from a master server, the slave will check to see that its version of the zone is the current version and, if not, initiate a transfer.
+DNS Notify is a mechanism that allows master nameservers to notify their slave servers of changes to a zone's data. In response to a NOTIFY from a master server, the slave will check to see that its version of the zone is the current version and, if not, initiate a transfer.
+
DNS Notify is fully documented in RFC 1996. See also the description of the zone option
also-notify
- under Zone Transfers
-. More information about
-notify
- can be found under Boolean Options
-.
There are several indispensable diagnostic, administrative and monitoring tools available to the system administrator for controlling and debugging the nameserver daemon. We describe several in this section
-
+
3.4.1.1 Diagnostic Tools
-
+
@@ -488,19 +480,15 @@ nslookup
-Due to its arcane user interface and frequently inconsistent behavior, we do not recommend the use of
-nslookup
-, and it is not installed by default when installing BIND 9. Use
-dig
- instead.
+Due to its arcane user interface and frequently inconsistent behavior, we do not recommend the use of nslookup. Use dig instead.
-
+
3.4.1.2 Administrative Tools
-
+
@@ -561,40 +549,18 @@ Usage
As noted above, "reload" is the only command available for BIND 9.0.0.
The other commands, and more, are planned to be implemented for future
releases.
-
A configuration file is required, since all communication with the
- server is authenticated with digital signatures that rely on a shared
- secret, and there is no way to provide that secret other than with a
- configuration file. The default location for the rndc configuration
- file is /etc/rndc.conf, but an alternate location can be specified with
- the "-c" option.
-
The format of the configuration file is similar to that of named.conf,
- but limited to only three statements, the options{}, key{} and server{}
- statements. These statements are what associate the secret keys to the
- servers with which they are meant to be shared. The order of statements
- is not significant.
-
The options{} statement has two clauses: default-server and default-key.
- default-server takes a host name or address argument and represents the server that will be contacted if
- no "-s" option is provided on the command line. default-key takes the
- name of the key as its argument, as defined by a key{} statement. In
- the future a default-port clause will be added to specify the port to
- which rndc should connect.
-
The key{} statement names a key with its string argument. The string
- is required by the server to be a valid domain name, though it need
- not actually be hierarchical; thus, a string like "rndc_key" is a valid
- name. The key{} statement has two clauses: algorithm and secret. While
- the configuration parser will accept any string as the argument to algorithm,
- currently only the string "hmac-md5" has any meaning. The secret is
- a base-64 encoded string, typically generated with either dnssec-keygen
- or mmencode.
-
The server{} statement uses the key clause to associate a key{}-defined
- key with a server. The argument to the server{} statement is a host
- name or address (addresses must be double quoted). The argument to the
- key clause is the name of key as defined by the key{} statement. A port
- clause will be added to a future release to specify the port to which
- rndc should connect on the given server.
-
A sample minimal configuration file is as follows:
-
-key rndc_key {
+
A configuration file is required, since all communication with the server is authenticated with digital signatures that rely on a shared secret, and there is no way to provide that secret other than with a configuration file. The default location for the rndc configuration file is /etc/rndc.conf, but an alternate location can be specified with the "-c" option.
+
+
The format of the configuration file is similar to that of named.conf, but limited to only three statements, the options{}, key{} and server{} statements. These statements are what associate the secret keys to the servers with which they are meant to be shared. The order of statements is not significant.
+
+
The options{} statement has two clauses: default-server and default-key. default-server takes a host name or address argument and represents the server that will be contacted if no "-s" option is provided on the command line. default-key takes the name of the key as its argument, as defined by a key{} statement. In the future a default-port clause will be added to specify the port to which rndc should connect.
+
+
The key{} statement names a key with its string argument. The string is required by the server to be a valid domain name, though it need not actually be hierarchical; thus, a string like "rndc_key" is a valid name. The key{} statement has two clauses: algorithm and secret. While the configuration parser will accept any string as the argument to algorithm, currently only the string "hmac-md5" has any meaning. The secret is a base-64 encoded string, typically generated with either dnssec-keygen or mmencode.
+
+
The server{} statement uses the key clause to associate a key{}-defined key with a server. The argument to the server{} statement is a host name or address (addresses must be double quoted). The argument to the key clause is the name of key as defined by the key{} statement. A port clause will be added to a future release to specify the port to which rndc should connect on the given server.
+
+
A sample minimal configuration file is as follows:
This file, if installed as /etc/rndc.conf, would allow the command:
-
$ rndc reload
-
to connect to 127.0.0.1 port 953 and cause the nameserver to reload,
- if a nameserver on the local machine were running with following controls
- statements:
-
-controls {
+
+
This file, if installed as /etc/rndc.conf, would allow the command:
+
+
$ rndc reload
+
+
to connect to 127.0.0.1 port 953 and cause the nameserver to reload, if a nameserver on the local machine were running with following controls statements:
diff --git a/doc/arm/Bv9ARM.4.html b/doc/arm/Bv9ARM.4.html
index 5d7fad9813..22201ac32e 100644
--- a/doc/arm/Bv9ARM.4.html
+++ b/doc/arm/Bv9ARM.4.html
@@ -1,22 +1,22 @@
-
+
@@ -751,9 +751,9 @@ Two output files will be produced:
Kchild.example.+003+12345.key
and
Kchild.example.+003+12345.private
- (where 12345 is an example of a key identifier). The key file names contain the key name (
+ (where 12345 is an example of a key tag). The key file names contain the key name (
child.example.
-), algorithm (3 is DSA, 1 is RSA, etc.), and the key identifier (12345 in this case). The private key (in the
+), algorithm (3 is DSA, 1 is RSA, etc.), and the key tag (12345 in this case). The private key (in the
.private
file) is used to generate signatures, and the public key (in the
.key
@@ -761,7 +761,7 @@ child.example.
-To generate another key with the same properties (but with a different key identifier), repeat the above command.
+To generate another key with the same properties (but with a different key tag), repeat the above command.
[ directorypath_name; ]
[ named-xferpath_name; ]
[ tkey-domaindomainname; ]
- [ tkey-dhkeykeynamekeyid; ]
+ [ tkey-dhkeykey_namekey_tag; ]
[ dump-filepath_name; ]
[ memstatistics-filepath_name; ]
[ pid-filepath_name; ]
diff --git a/doc/arm/Bv9ARM.7.html b/doc/arm/Bv9ARM.7.html
index 3b6cd4e20e..3e346853ba 100644
--- a/doc/arm/Bv9ARM.7.html
+++ b/doc/arm/Bv9ARM.7.html
@@ -1,22 +1,22 @@
-
+
@@ -68,17 +68,17 @@ good idea
Here is an example of how to properly apply ACLs:
-
+
// Set up an ACL named "bogusnets" that will block RFC1918 space,
// which is commonly used in spoofing attacks.
-
+
acl bogusnets { 0.0.0.0/8; 1.0.0.0/8; 2.0.0.0/8; 192.0.2.0/24; 224.0.0.0/3;
10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16; };
// Set up an ACL called our-nets. Replace this with the real IP numbers.
-
+
acl our-nets { x.x.x.x/24; x.x.x.x/21; };
-
+
options {
...
...
@@ -150,7 +150,7 @@ chroot()
, and to run named setuid
to user 202:
-
+
/usr/local/bin/named -u 202 -t /var/named
diff --git a/doc/arm/Bv9ARM.8.html b/doc/arm/Bv9ARM.8.html
index b018adb55a..a989bcffed 100644
--- a/doc/arm/Bv9ARM.8.html
+++ b/doc/arm/Bv9ARM.8.html
@@ -1,22 +1,22 @@
-
+
@@ -85,7 +85,7 @@ The Internet Software Consortium (ISC) offers a wide range of support and servic
-To discuss arrangements for support, contact
+To discuss arrangements for support, contact
info@isc.org
diff --git a/doc/arm/Bv9ARM.9.html b/doc/arm/Bv9ARM.9.html
index 85308635e9..e2baccc2fe 100644
--- a/doc/arm/Bv9ARM.9.html
+++ b/doc/arm/Bv9ARM.9.html
@@ -1,28 +1,28 @@
-
+
-
+
Appendices
diff --git a/doc/arm/Bv9ARM.css b/doc/arm/Bv9ARM.css
index 21c7aebe23..9e1b28bece 100644
--- a/doc/arm/Bv9ARM.css
+++ b/doc/arm/Bv9ARM.css
@@ -500,7 +500,7 @@ H1.AppendixLevel1, H2.AppendixLevel1, H3.AppendixLevel1, H4.AppendixLevel1, H5.A
font-size: 14.000000pt;
font-weight: Bold;
font-style: Regular;
- color: #0000ff;
+ color: #000000;
text-decoration: none;
vertical-align: baseline;
text-transform: none;
@@ -532,7 +532,7 @@ H1.AppendixLevel2, H2.AppendixLevel2, H3.AppendixLevel2, H4.AppendixLevel2, H5.A
font-size: 11.000000pt;
font-weight: Bold;
font-style: Regular;
- color: #0000ff;
+ color: #000000;
text-decoration: none;
vertical-align: baseline;
text-transform: none;
@@ -564,7 +564,7 @@ H1.AppendixLevel3, H2.AppendixLevel3, H3.AppendixLevel3, H4.AppendixLevel3, H5.A
font-size: 11.000000pt;
font-weight: Bold;
font-style: Regular;
- color: #0000ff;
+ color: #000000;
text-decoration: none;
vertical-align: baseline;
text-transform: none;
diff --git a/doc/arm/Bv9ARM.html b/doc/arm/Bv9ARM.html
index 713e2fac2a..05141d8e15 100644
--- a/doc/arm/Bv9ARM.html
+++ b/doc/arm/Bv9ARM.html
@@ -1,22 +1,22 @@
-
+
diff --git a/doc/arm/Bv9ARM.txt b/doc/arm/Bv9ARM.txt
index e99004b0fa..8d51963554 100644
--- a/doc/arm/Bv9ARM.txt
+++ b/doc/arm/Bv9ARM.txt
@@ -1,3 +1,8 @@
+Copyright (C) 2000 Internet Software Consortium.
+See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
+
+$Id: Bv9ARM.txt,v 1.3.2.6 2000/08/22 19:29:20 gson Exp $
+
BIND 9 Administrator Reference Manual
July 2000
Copyright (c) 2000 Internet Software Consortium
@@ -94,17 +99,17 @@ Section 6 : BIND 9 Configuration Reference
6.2.1 acl Statement Grammar
6.2.2 acl Statement Definition and Usage
6.2.3 controls Statement Grammar
-6.2.4 controls Statement Definition and Usage
+6.2.4 controls Statement Definition and Usage
6.2.5 include Statement Grammar
6.2.6 include Statement Definition and Usage
6.2.7 key Statement Grammar
6.2.8 key Statement Definition and Usage
6.2.9 logging Statement Grammar
-6.2.10 logging Statement Definition and Usage
+6.2.10 logging Statement Definition and Usage
6.2.10.1 The channel Phrase
6.2.10.2 The category Phrase
6.2.11 options Statement Grammar
-6.2.12 options Statement Definition and Usage
+6.2.12 options Statement Definition and Usage
6.2.12.1 Boolean Options
6.2.12.2 Forwarding
6.2.12.3 Name Checking
@@ -653,7 +658,7 @@ Usage
nslookup [-option ...] [host-to-find | -[server]]
Interactive mode is entered when no arguments are given (the default
-nameserver will be used) or when the first argument is a hyphen (`-') and
+nameserver will be used) or when the first argument is a hyphen ('-') and
the second argument is the host name or Internet address of a nameserver.
Non-interactive mode is used when the name or Internet address of the host
@@ -673,8 +678,7 @@ For more information and a list of available commands and options, see the
nslookup man page.
Due to its arcane user interface and frequently inconsistent behavior, we do
-not recommend the use of nslookup, and it is not installed by default when
-installing BIND 9. Use dig instead.
+not recommend the use of nslookup. Use dig instead.
3.4.1.2 Administrative Tools
@@ -1209,14 +1213,14 @@ dnssec-keygen -a DSA -b 768 -n ZONE child.example.
Two output files will be produced: Kchild.example.+003+12345.key and
Kchild.example.+003+12345.private (where 12345 is an example of a key
-identifier). The key file names contain the key name ( child.example.),
-algorithm (3 is DSA, 1 is RSA, etc.), and the key identifier (12345 in this
+tag). The key file names contain the key name ( child.example.),
+algorithm (3 is DSA, 1 is RSA, etc.), and the key tag (12345 in this
case). The private key (in the .private file) is used to generate
signatures, and the public key (in the .key file) is used for signature
verification.
To generate another key with the same properties (but with a different key
-identifier), repeat the above command.
+tag), repeat the above command.
The public keys should be inserted into the zone file with $INCLUDE
statements, including the .key files.
@@ -2078,7 +2082,7 @@ options {
[ directory path_name; ]
[ named-xfer path_name; ]
[ tkey-domain domainname; ]
- [ tkey-dhkey keyname keyid; ]
+ [ tkey-dhkey key_name key_tag; ]
[ dump-file path_name; ]
[ memstatistics-file path_name; ]
[ pid-file path_name; ]
@@ -2119,7 +2123,7 @@ options {
[ transfer-source ip4_addr; ]
[ transfer-source-v6 ip6_addr; ]
[ also-notify { ip_addr; [ ip_addr; ... ] }; ]
- [ max-ixfr-log-size number; ]
+ [ max-ixfr-log-size number; ]
[ coresize size_spec ; ]
[ datasize size_spec ; ]
[ files size_spec ; ]
@@ -2451,7 +2455,7 @@ the amount of load that transfers place on the system. The following options
apply to zone transfers.
-
+
also-notify Defines a global list of IP addresses that are also
sent NOTIFY messages whenever a fresh copy of the
zone is loaded. This helps to ensure that copies of
@@ -2606,7 +2610,7 @@ Resource limits are not yet implemented in BIND 9.
the cache every cleaning-interval minutes. The default
is 60 minutes. If set to 0, no periodic cleaning will
occur.
-
+
heartbeat-interval The server will perform zone maintenance tasks for all
zones marked dialup yes whenever this interval
expires. The default is 60 minutes. Reasonable values
@@ -3693,7 +3697,7 @@ containing critical data such as the IP addresses of public web and mail
servers need not allow dynamic update at all.
------------------------------------------------------------------------
-
+
Section 8. Troubleshooting
8.1 Common Problems