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: