Is It DNS, BIND, or Named?

There is always some confusion about how DNS, BIND, and named relate to each other, so let's try and explain it.

We know that DNS refers to the Domain Name System, and that it comprises both a client and a server portion within its specification. BIND is an acronym for Berkeley Internet Name Daemon and is a popular free software implementation of DNS. It includes a binary called named, which is its server portion, and supplies a set of libraries that are the client portion and perform the resolving.

Solaris bases its implementation of DNS on BIND, and, as with BIND, a server portion is included, which in this case is a binary called in.named. Again, the resolver client is a set of libraries included with the operating system.

Named Versions

As with any program, there have been quite a few changes to BIND over the years and these are also reflected in Sun's version of in.named. We don't want to complicate matters by describing details about each revision, but one we will show later is the difference between the top-level configuration files of BIND Version 4 and BIND Version 8 (known as /etc/named.boot and /etc/named.conf, respectively).

Table 16.1 shows the relationship between the Solaris Release and the version of BIND that in.named is based on.

Table 16.1. OS Release and BIND Version Comparison
Solaris ReleaseBIND Version
2.64.9.4
78.1.2
88.1.2
98.2.4

This can easily be confirmed by checking the binary itself. For example, a system running Solaris 9 would show something similar to the following:

antimony# strings /usr/sbin/in.named |grep "(#)in.named"
@(#)in.named BIND 8.2.4 Tue Dec 11 22:09:49 PST 2001 s81_53-5.9-May 2002
antimony#

The Boot File

Now let's compare the two configuration file formats. We've created an example configuration that contains the equivalent entries within the two files so it's easy to see what is common between them. However, we'll also place the files in subdirectories to organize them better and ease future administration of them.

Version 4 File Format
antimony# cat /etc/named.boot
;
; boot file for the name server
;
directory  /var/named
cache      .                              named.root
primary    solarisbootcamp.com            hosts.primary
secondary  anotherDomain.com  137.84.63.1 hosts.secondary
primary    44.168.192.in-addr.arpa        hosts.reverse
primary    0.0.127.in-addr.arpa           hosts.local
antimony#

Version 8 File Format
antimony# cat /etc/named.conf
//
// named.conf file
//
options {
        directory  "/var/named";
};
zone "." in {
        type hint;
        file "named.root";
};
zone "solarisbootcamp.com" in {
        type master;
        file "hosts.primary";
};
zone " anotherDomain.com " in {
        type slave;
        file "hosts.secondary";
        masters { 137.84.63.1; };
};
zone "44.168.192.in-addr.arpa" in {
        type master;
        file "hosts.reverse";
};
zone "0.0.127.in-addr.arpa" in {
        type master;
        file "hosts.local";
};
antimony#

OK, so what does all this mean and how do the two files compare? Let's use Table 16.2 to show the different entries and how they relate to each other.

Table 16.2. Boot File Syntax
Version 4Version 8Meaning
;
#
/*……*/
//
Used to specify a comment line. A common problem is forgetting to use the new comment syntax when upgrading from version 4 to version 8.
directory /var/namedoptions {
   directory "/var/named";
};
Specifies the location of the zone files for this name server.
cache . named.rootzone."in" {
  type hint;
  file "named.root";
};
Informs the name server which file contains information about the root servers (i.e., /var/named/named.root).
primary solarisbootcamp.com hosts.primaryzone solarisbootcamp.com in {
  type master;
  file "hosts.primary";
};
Specifies that the name server is acting as the master for the domain “solarisbootcamp.com” and that the zone file is called hosts.primary.
secondary anotherDomain.com 137.84.63.1 hosts.secondaryzone "anotherDomain.com" in {
  type slave;
  file hosts.secondary";
  masters { 137.84.63.1; };
};
Specifies that the name server is acting as a slave for the domain “anotherDomain.com,” and the data can be obtained from 137.84.63.1 then stored in the zone file hosts.secondary.
primary 44.168.192.in-addr.arpa hosts.reversezone "44.168.192.in-addr.arpa" in {
  type master;
  file "hosts.reverse";
};
Specifies that the name server is acting as the master for the special domain used to provide reverse lookups. The zone file is called hosts.reverse.
primary 0.0.127.in-addr.arpa hosts.localzone "0.0.127.in-addr.arpa" in {
  type master;
  file "hosts.local";
};
Specifies that the name server is acting as the master for the loopback interface. This is needed to translate “local host” reverse lookups.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset