In this section, I'll go over the basics of running a name server on your Unix network.
The most prevalent name server software, called named ("name dee") is
included with BIND, the
Berkeley Internet Name Domain, which also includes a resolver library
and other tools. As of this writing BIND is up to version 9.2.1. Version
8.3.1 is also in widespread use.
The main alternative to BIND is djbdns,
a package from the creator of qmail. It is designed for modularity and
security (the author has a standing offer of $500 to anyone who finds a
security hole in the software, which has gone unclaimed so far). It is
smaller and faster than BIND, but the license controlling the source
code is stricter, and djbdns gets a lot of flak for that. There's a compelling debate of the virtues of the two systems in the archives of the BIND users mailing list.
In this tutorial, I'm talking mostly about BIND, although I definitely
advocate djbdns as an alternative. Here is a guide to
switching from BIND to djbdns.
Presumably you have, at the very least, a domain name and an IP address,
and you want the one to point to the other. If you're not at that point
yet, you might want to talk to an ISP to see about getting an IP
address, and a registrar for the domain name.
First see if you have BIND already on your system. It may be there,
behind the scenes unsuspected. Type named -v on the command
line. If it returns a response telling you which version of BIND you're
running, that means you have it on your system, and don't need to
install it although BIND is a prime target of attacks, and if you
don't have the latest version you may be leaving yourself open to a
Otherwise, download the source and unzip it, then
install with ./configure ; make ; make install. Detailed
instructions on configuring the build for your system are available in
the INSTALL file; here is a walkthrough for Mac OS X.
Once you've installed BIND, you get to configure it. We don't have space
here to get into all the vicissitudes of configuring BIND. There's an
art to fine-tuning everything the way you want heck, there's a whole
book on that topic.
The DNS howto
will tell you how to set up the named.conf file, which contains the
configuration information for the name server. The zone data files
containing the DNS records we went over typically, one for local use
and another for external use are placed in a specified directory.
Then your system must be told to use the name server you have created.
Anyway, the howto explains all that better than I can.
With BIND set up, your name server is ready to rock. The DNS howto will
tell you how to set up the named.conf file, which contains the
configuration information for the name server. The file should say that
your name server is authoritative for mydomain.dom for forward lookups as
well as 40.168.192.in-addr.arpa for reverse lookups. The zone data files
containing the DNS records we went over typically, one for local use and
another for external use are placed in a specified directory. Then your
system must be told to use the name server you have created. Anyway, the
howto explains all that better than I can.