Getting local names to resolve (DNS) (named – the name server)
This article shows how to set up named, the DNS daemon. This version
uses BIND 4. Eventually, I’ll upgrade to BIND 8.
Resolve? What do you mean?
I have named my three machines, NT1, NT2, and FreeBSD.
It
would be nice to be able to type ping NT2 instead of ping 10.0.0.2.
The process of converting the name to an IP address is referred to as resolving.
How resolution works
There are two main ways of resolving a host name (e.g. NT2). One is a
hosts file, the other is DNS. With a hosts file, you list all of the computers in a
file and refer to it from there. Normally, each machine would contain a hosts
file. With DNS, you list the hosts in a file on one computer, and all the other
computers use the service on that computer. I’ve decided to use DNS.
During my
installation of DNS, I got to the point where everything I wanted to do, worked just
fine. But one thing didn’t work. And that was qpopper.
When my Pegasus mail client on NT1 connected to the POP server on FreeBSD, the following
message would be displayed on the console:
unable to get canonical name of client
When searching the mailing
list archives, I found a reference to the above message. There is also a
semi-obscure reference to this situation within the man pages for qpopper, but
no direct reference to this message. Basically, qpopper does a reverse
DNS lookup on the IP address it it given when you try to read your mail. It then
does a DNS lookup on that name to verify that the IP address matches. If it does
not, it puts out the above message but continues to process the request. In that
respect, the message is only a warning. Services can continue otherwise unhindered.
26 July 1998
I’ve received lots of help from a FreeBSD Questions
mailing list person, who shall remain nameless until future notice. He suggested
I send him my named files as a starting point. So off went the following
files:
host.conf
named.boot
named.local
named.root
resolv.conf
My helper suggested sevearal changes to my DNS files. There were many glaring
errors, which, when pointed out, were obvious even to me. Some of my reverse IP
entries where totally incorrect.
27 July 1998
I implemented the changes as suggested by my helper. But no luck. It
didn’t work. I reported back the results.
28 July 1998
Tonight I received a very detailed reply from my helper. Much work had been
carried out on my behalf. Specifically, my setup had been duplicated at his site.
The files used for that duplication had been forwarded to me.
After implementing
the changes, everything worked perfectly. I’ll write up what I did at a later date.
29 July 1998
This morning, someone posted a message to the FreeBSD Questions
mailing list requesting information on named. I replied that I would
complete this diary note tonight as it directly applied to their situation.
First, you
should have a look at the topology of my sub-net. This
will help you to understand the DNS suggestions I’m about to make.
I recommend you read the following book: TCP/IP Network Administration by
Craig Hunt and published by O’Reilly, ISBN 1-56592-322-7. This book is
also known as the crab book (you’ll know why when you see the cover).
Read it. Try to understand the four chapters before you do anything with Unix;
you’ll be a lot better off. I wish I had before I started this project.
I found a good DNS reference on the FreeBSD site. It’s the Creating a mini-DNS system section
of the PPP – Pedantic PPP Primer.
However, I also found it lacking in some detail. I found details of it were not
fully explained. So read that book before you start!
A working example
I suggest that you following the instructions for Starting the DNS Server
on the FreeBSD site. I don’t wish to duplicate their efforts. However, given
the complex and often confusing nature of DNS, I have provided an example
taken from the zone files on my subnet (names and numbers are changed for security
reasons).
404 Not Found
http://www.freebsd.org/tutorials/ppp/book.html
[%sig%]