Setting Up a DNS Server
How to Set Up a DNS Server
Become superuser.
Set the server up as a DNS client (this includes setting up the server's resolv.conf file). See "Setting Up a DNS Client".
Set up the boot file. See "Example Boot Files".
Set up the data files. You need to set up four data files.
named.ca
hosts
hosts.rev
named.local
Initialize the server. See "Initializing the Server".
Test the server. See "Testing Your Installation".
Note - The most common use of DNS is to connect your network to the Internet. To connect to the Internet, your network IP address must be registered with whomever is administering your parent domain. Who that administrator is varies according to your geographic location and type of parent domain. This manual does not describe how to register networks with domain administrators.
How to Specify a Master Server
The two types of master server are as follows.
Zone master server. Each zone has one server that is designated as the master master server for that zone. A zone's master master server is the authoritative server for that zone.
Zone slave server. A zone can have one or more slave master servers. Slave master servers obtain their DNS data from the zone's master server.
To specify a server as the master server for a given zone, you create three master records in that server's named.boot file.
Create the master record for the zone.
This record designates the server as a master server for the zone and tells the server where to find the authoritative hosts file. A "master" record has three fields.
The first field designates the server as master.
The second field identifies the zone the master serves.
For example, the following line in a boot file specifies that the server is the master server for the doc.com zone, using authoritative data from the file db.doc.
master doc.com db.doc
Create a master record for the zone's reverse map.
This record designates the server as a master server for the zone's reverse address map, that is, the reverse address domain for doc.com. The record also tells the server where to find the authoritative hosts file. This record has three fields. The first field designates the server as master, the second field identifies the zone, and the third field identifies the hosts.rev file.
The reverse address domain for a zone contains the zone's IP address in reverse order followed by in-addr.arpa. For example, suppose that the doc.com zone's IP address is 10.0.0. In that case, the reverse address domain would be 0.0.10.in-addr.arpa.
Thus, the following line in a boot file specifies that the server is the master server for the reverse address domain of the doc.com zone, using authoritative data from the file doc.rev.
master 0.0.10.in-addr.arpa doc.rev
Create a master record for the reverse address of the local loopback interface or host.
This record designates the server as a master server for the loopback host, and tells the server where to find the authoritative hosts file. This record has three fields, the first field designates the server as master, the second field identifies the loopback host reverse address, and the third field identifies the hosts file.
Note - Loopback hosts are always identified as 0.0.10.in-addr.arpa.
Thus, the following line in a boot file specifies that the server is the master server for the reverse address domain of the loopback host using authoritative data from the file named.local.
master 0.0.10.in-addr.arpa named.local
How to Specify a Slave Server
A slave server maintains a copy of the data for the zone. The master server sends its data and delegates authority to the slave server. Clients can query a slave server for DNS information. By using slave servers, you can improve response time and reduce network overhead by spreading the load over multiple machines. Slave servers also provide redundancy in case the master server is not available.
When in.named starts, it requests all the data for the given zone from the master. The slave server then periodically checks with the master to see if it needs to update its database. The process of sending the most recent zone database from the master to the slave is called a zone transfer. Thus, you do not modify data files on a slave server, you modify the data files on the zone's master server and the slave servers update their files from the master.
To specify that a server is to be the slave server for a given zone, you create slave records in that server's named.boot file. Separate records can designate the server as a slave server for the zone, the zone's reverse address domain, and the loopback host.
A slave record has three required fields:
The first field designates the server as slave.
The second field identifies the zone it serves.
The third field identifies the IP address of the master server for the zone from which the slave server obtains its authoritative data.
A "slave" record can have one or more optional fields after the required fields. The optional fields are:
slave servers
After the IP address of the master server, you can add IP addresses of other slave servers. These provide additional sources from which the slave server can obtain data. Adding IP addresses of slave servers might, under some circumstances, reduce performance unless those IP addresses are additional network addresses of a multihome master server.
Backup file
After the IP address of the master (and optional slave) servers, you can add the name of a backup hosts file. If a backup file name is present, the slave server loads its data from that file, then checks with the master (and optional slave) servers to make sure that the data in the backup file is up to date. If the backup file is not up to date, it is brought up to date, based on the information received from the master server.
For example, the following lines in a boot file specify that the server is the slave server for the doc.com zone and its reverse address domain, that it obtains its authoritative data from the master server with an IP address of 172.16.0.1, that it uses the server 172.16.0.2 as a slave source of zone data, and initially loads its data from the file doc.com.bakup:
slave doc.com 129.146.168.119 192.146.168.38 doc.com.bakup slave 4.0.32.128.in-addr.arpa 129.146.168.119 |
In the context of the various example files presented in this chapter, the sample boot file lines above correspond to the boot file of the dnsslave server, which is an alias for the sirius machine whose IP address is 192.146.168.38.
Note - A server can act as the master server for one or more zones, and as the slave server for one or more zones. The mixture of entries in the boot file determines whether a server is a master or slave server for a given zone.