What this is and isn't.
For starters, DNS is is the Domain Name System. The rules that name machines and software that maps those names to IP numbers. This HOWTO documents how to define such mappings using a Linux system. A mapping i simply a association between two things, in this case a machine name, like ftp.linux.org, and the machines IP number, 199.249.150.4.
DNS is, to the uninitiated (you ;-), one of the more opaque areas of network administration. This HOWTO will try to make a few things clearer. It describes how to set up a simple DNS name server. Starting with a caching only server and going on to setting up a primary DNS server for a domain. For more complex setups you can check the FAQ section of this document. If it's not described there you will need to read the Real Documentation. I'll get back to what this Real Documentation consists of in the last chapter.
Before you start on this you should configure your machine so that
you can telnet in and out of it, and make successfully make all kinds
of connections to the net, and you should especially be able to do
telnet 127.0.0.1
and get your own machine (test it now!). You
also need a good /etc/host.conf
(or
/etc/nsswitch.conf
), /etc/resolv.conf
and
/etc/hosts
files as a starting point, since I will not
explain their function here. If you don't already have all this set
up and working the networking/NET-2 HOWTO explains how to set it up.
Read it.
If you're using SLIP or PPP you need that working. Read the PPP HOWTO if it's not.
When I say `your machine' I mean the machine you are trying to set up DNS on. Not any other machine you might have that's involved in your networking effort.
I assume you're not behind any kind of firewall that blocks name queries. If you are you will need a special configuration, see the section on FAQ.
Name serving on Unix is done by a program called named
. This
is a part of the bind package which is coordinated by Paul Vixie for
The Internet Software Consortium. Named
is included in most
Linux distributions and is usually installed as
/usr/sbin/named
. If you have a named you can probably use
it; if you don't have one you can get a binary off a Linux ftp site,
or get the latest and greatest source from
ftp.vix.com:/pub/bind in
either the release or testing subdirectory, whatever fits your
lifestyle best.
DNS is a net-wide database. Take care about what you put into it. If you put junk into it, you, and others will get junk out of it. Keep your DNS tidy and consistent and you will get good service from it. Learn to use it, admin it, debug it and you will be another good admin keeping the net from falling to it's knees overloaded by mismanagement.
In this document I state flatly a couple of things that are not completely true (they are at least half truths though). All in the interest of simplification. Things will (probably ;-) work if you believe what I say.
Tip: Make backup copies of all the files I instruct you to change if you already have them, so if after going through this nothing works you can get it back to your old, working state.