System Administration: Another Step toward the BIND - II

by Tom Adelstein

Yesterday, we looked at a named.conf file for a single domain we called Rather than send you back to the earlier article, we'll reproduce the file contents below:

options {
     pid-file "/var/run/bind/run/";
     directory "/etc/bind";
     // query-source address * port 53; };
// a master nameserver config
zone "." {
     type hint;
     file "db.root";

zone "" {
     type master;
     file "db.local";

zone "" {
     type master;
     file "";

zone "" {
     type master;
     file "";

The file refers to the four other configuration files: db.root, db.local, and

The zone file allow BIND to do its work. But before the daemon can get to the zones, it needs to consult the file above. So, let's look at named.conf and see what it does.

To give you a sort of context, notice that third line from the top lists the directory we've already mentioned previously. If you recall, we said that the configuration file on Debian lived in /etc/bind. The third line from the top of named.conf let's you know where you can find named.conf. That's important because different distributions of Linux put named.conf in different places.

Above the third line, you can see that the file actually starts with what we call the options statement. It contains two lines. The first shows the location of, which simply contains the process ID of the running named daemon. That may seem like an odd snippet of information to store, but it's very useful for utilities or applications that have to kill and/or restart named.

More significantly, the options statement also defines the directory containing named and files related to its running.

The zone statement identifies the location of several files containing configuration information. (The first two typically do not need altering and appear when you install BIND). You will have to add the reverse and primary zone files, the later of which contains the domain database. named.conf needs the following files designated:

Hints file

This file contains the names and addresses of the root servers on the Internet. The root servers know where the authoritative servers for your domain reside. The first points to the Top Level Domain (com, net, org, etc.) and the next is the authoritative server for your domain.

Local host file

Name servers are the masters of their own loopback domain ( The point of creating local zone files for each aspect of your localhost is to reduce traffic and allow the same software to work on your system as it does on the network. Reverse zone file

This file maps IP addresses to hosts. It's a reverse image of the zone master or primary zone file. You can recognize a reverse zone file because it has the extension

Primary Zone file

This file, sometimes called the domain database, defines most of the information needed to resolve queries about the domain you administer. It does not come pre-configured when you install BIND. Usually, you have to write this file from scratch or use one of the files accompanying BIND as a template.

The primary zone file maps names to IP addresses and provides information about the services offered by your computers to the Internet, including your web and FTP servers, email, name servers, etc.

Zone files use record classes so that other computers on the Internet can identify your domain and how it points to various resources. The main record classes include:

      SOA (start of authority)
       NS (name server)
        A (host name to address mapping)
      PTR (pointer, which maps addresses to names)
       MX (mail exchanger, which identifies a mail server in the domain) 
    CNAME (canonical name, which defines an alias for a host name in an A record)

It's not necessary to try to memorize or understand these record types at this point. We'll have an opportunity to use them as we begin to write example primary and reverse zone files.

Tomorrow, we'll start with a primary zone file and dissect it so that you can see how these records work. Just remember that BIND runs a daemon called named or NAME-DEE and it has a configuration file called named.conf. In turn, named.conf points to configuration files that named uses to do its job. Our job will consist of making sure we format the records coherently.