The /etc/named.boot file defines the name server configuration and tells named where to obtain the name server database information. named.boot contains the following types of records:
directory-path
Defines a default directory used for all subsequent file references anywhere in the named configuration. If named is forced to dump memory, the memory dump is stored in this directory.
domain-name file-name
Declares the local name server as the primary master server for the
domain specified by domain-name
. As a primary server, the system
loads the name server database from the local disk file specified by
name
in the file-name
field.
domain-name server-address-list file-name
Makes the local server a secondary master server for the domain identified
by domain-name
. The server-address-list
contains the IP
address of at least one other master server for this domain. Multiple
addresses can be provided in the list, but at least the primary server's
address should be provided. The local server will try each server in
the list until it successfully loads the name server database. The local
server transfers the entire domain database and stores all of the data it
receives in a local file identified by file-name
. After completing
the transfer, the local server answers all queries for information about
the domain with complete authority.
file-name
The cache command points to the file used to initialize the name server cache with a list of root servers. This command starts with the keyword cache, followed by the name of the root domain (.), and ends with the name of the file that contains the root server list. This file can have any name you wish, but it is usually called named.ca, named.root, or root.cache. The cache command is included in every named.boot file. named needs the list of root servers as a starting point from which to locate all other DNS domains.
server-address server-address ...
The forwarders command provides named with a list of
servers to try if it can't resolve a query from its own cache. In the
syntax shown, server-address
is the IP address of a server on
your network that can perform a recursive name server query for the
local host. (A recursive query
[2]
means that the remote server pursues
the answer to the query, even if it does not have the answer itself,
and returns the answer to the originator.) The servers listed on the
forwarders command line (the servers are also called
"forwarders") are tried in order until one responds to the query. The
listed servers develop an extensive cache that benefits every host
that uses them. Because of this, their use is often recommended. If
you plan to use forwarders, your network administrator should
define the list of forwarders for your network. The forwarders only
develop a rich cache if they are used by several hosts.
[2] Chapter 3, Network Services, discusses recursive and nonrecursive name server queries.
The slave command forces the local server to use only the servers listed on the forwarders command line. The slave command can only be used if a forwarders command is also present in the named.boot file. A server that has a slave command in its named.boot file is called a slave server. A slave server does not attempt to contact the authoritative servers for a domain, even if the forwarding servers do not respond to its query. Regardless of the circumstances, a slave server queries only the forwarders. The slave command is used when limited network access makes the forwarders the only servers that can be reached by the local host. The slave command is not used on systems that have full Internet access because it limits their flexibility.
network network ...
The sortlist command causes named to prefer addresses from the listed networks over addresses from other networks. Normally, DNS sorts the addresses in a response only if the host issuing the query and the name server share a network. In that case, the shared network is the preferred network.
address
[&mask] ...
The xfrnets command limits zone transfers to hosts with the specified
address
. The address
is written in dotted decimal notation
and is intepreted as a network address. The optional mask field
is used to change the interpretation of the address
. When a bit
is on in the mask field, that bit is significant for determining which
hosts will be allowed to receive a zone file transfer. For example,
xfrnets 172.16.0.0 allows every host on network 172.16 to do zone
file transfers, while xfrnets 172.16.12.3&255.255.255.255 limits
zone file transfers to the single host 172.16.12.3.
For security reasons, many sites do not want to let everyone list all of the hostnames in their domain. xfrnets limits the ability to retrieve your entire domain to specific, trusted hosts. tcplist is an alternative form of this command maintained for compatibility with older server implementations.
file
The include command includes the contents of file
at the location
that the command appears in the boot file. This command can be used
for very large configurations that are maintained by different people.
address address ...
The bogusns command prevents queries from being sent to the name server
specified by address
. address
must be an IP address, not
a domain name. This command is used to avoid cache contamination when
you know that a remote name server is providing incorrect informatiom.
bogusns is only a temporary fix placed in the boot file until the remote
domain administrator has a chance to fix the real problem.
name value
The limit command changes BIND's internal quotas. value
is a number that specifies the new quota setting. k, m, or
g, for kilobytes, megabytes, and gigabytes, respectively, can be
appended to the new quota value number as appropriate. name
is
the name of the quota being set. There are four possible values for
name
: datasize sets the process data size quota;
[3]
transfers-in sets the number of named transfer subprocesses that BIND
may spawn at any one time; transfers-per-ns sets the maximum number
of simultaneous zone transfers allowed to any one remote nameserver.
There can be multiple limit commands in a boot file - one for each quota
that is being set.
[3] This is a kernel quota and therefore can be set only on systems that provide a kernel call to implement this.
option option ...
The options command enables optional features of BIND. The option
keywords are Booleans. Specifying an option
on the command line
turns on the optional behavior. By default, the optional features
are turned off. Valid option
values are: query-log - logs all
queries via syslogd, which produces a very large amount of log
data. forward-only - all queries are to be sent to the forwarders;
this is exactly the same as the slave command, though this syntax is now
preferred over the slave syntax. fake-iquery - the nameserver
responds to inverse
queries with a fake reply rather than an error; used if you have some
clients that cannot properly handle the error. no-recursion - the
name server answers a query for data only in a zone for which it
is authoritative; all other queries are answered with a referral to
another server. no-fetch-glue - the
nameserver does not fetch missing glue records for a query response;
the resulting response could be incomplete; it is
used with no-recursion to limit cache growth and reduce the
chance of cache corruption.
source action
The check-names command tells the name server to check host
names against the standards for hostnames defined in RFC 952, and to
check non-hostname responses to make sure that they contain nothing
but printable characters. The source
is the source of the
hostname or string data that is being checked. The source
can
be primary for the primary zone file; secondary for the
secondary zone file, or response for the message received during
recursive search. The action
tells the name server what to do
when an error is detected: fail (reject the data; do not load,
cache, or forward it); warn (send an error message to the system
log); or ignore (process the data as if no error occurred).
Multiple check-names commands can appear in a boot file; one for
each source of data. The action for each source can be different.
value
The max-fetch command performs exactly the same function as the limit transfers-in command described previously. The limit command is now the preferred syntax.
At this writing, an experimental named.boot command is supported in some configurations:
domain-name server-address-list file-name
This command declares that this is a "stub" server for the domain specified
by domain-name
. The stub information is loaded from a server
specified in the server-address-list
and is stored in the file
identified by file-name
. The format of the stub command is
the same as the secondary command and the functions of the fields
in the command are the same. However, the stub command has very
limited applicability. It is only used on a primary host that is not
secondary for its subordinate domains. In that limited case, it is used
to ensure that the primary host has the correct NS records for its
subordinate domains.
There is a named.boot command that is no longer widely supported. You'll occasionally encounter descriptions of it in material written about name service, and for that reason it's discussed here. But don't use it in your configurations. It is: