See this page in (approximate): Español| Français| Italiano| Deutsch| Português

Domain Name Service (DNS) Learning Materials

[make a comment about (or add to) this document] | [Alexis Documentation Home]

1. INTRODUCTION
2. DNS EXPLANATION
3. QUICK CONCLUSIONS
4. TIPS FOR USING BIND
5. GENERAL BIND INFORMATION
6. BIND CONFIGURATION
7. GENERAL BIND TOOLS
8. BIND MAILING LISTS
9. BIND CONFIGURATION TOOLS
10. IMPORTANT BIND FILES
11. EXAMPLE DIG COMMANDS
12. DNS OFFICIAL SPECIFIATION
13. GENERAL DNS INFORMATION
14. MISCELANEOUS



please send suggestions to:
  [email protected] or [email protected]

1. INTRODUCTION [TOC]

  This document attempts to provide some information and URL links to
  information about the Domain Name System and the BIND Domain Name
  server software. Bind appears to be the 'de facto' standard for
  Domain Name Servers. The original DNS system for Ella Associates was set
  up by Nick Reddel and then modified by me (mjb) to point to the
  American RedHat Linux Server.

  Use a thing called rdns or something similar in order to administer bind.
  At some point you need to issue the 'flush' command to the rdns utility
  when you change various files

2. DNS EXPLANATION [TOC]

  Here is my explanation of DNS.

  The Domain Name System is a text database which consists of records which
  each have two fields; An IP address field and a 'Domain Name' field. A
  domain name is a set of text string separated by dots. In order to
  remove the need to have a huge text file containing all the ip address
  on the Internet and their corresponding Domain Names this text database
  is divided up into many text files which may reside on different
  computers around the Internet. These text files which contain a portion
  of the DNS database are called 'zones' or 'zone files'.

  Because the text database is divided up into many different text files
  there also needs to be a type of record in the database which links
  all the text files together. This 'linking' record is the 'NS' record.
  NS stands for Name Server. The linking record in the DNS database is
  a URL which points to a Computer on the internet where other parts
  of the DNS database can be found. This linking record or field is
  analogeous to the link fields in a 'link list' datastructure.

  The DNS database is divided up in a structured way. This structure is
  'hierarchical'. Each 'branch' of the hierarchical tree is called a
  'Domain'. Domains have nothing to do with geographical domains. This can
  be confusing because some domains such as .uk and .au have a geographical
  connotation (England and Australia respectively). However this is just
  a 'convenience'. There is no requirement that an address in the
  .uk domain needs to be in England (although this is often, perhaps usually,
  the case.  Each Domain in the DNS database contains records of IP and
  domain name pairs and also links to subdomains. A sub-domain is represented
  by adding another dot and a text string to the current domain.
  For example 'yahoo.com' is a subdomain of the 'com' domain. Remember that
  yahoo.com is just a branch of the hierarchical text DNS database.
  So the yahoo.com domain contains a series of text records stored in text
  files located on various computers on the internet. These records contain
  the following information. IP addresses and the corresponding 'host names'
  and pointers to other DNS servers for subdomains of yahoo.com

  For example: The yahoo.com domain (a branch of the hierarchical text
  database) may contain records like this

     123.12.123.23  joe.yahoo.com
     141.123.123.23 james.yahoo.com

     NS 123.123.12.23 jane.yahoo.com

   The first two records allow people to type 'joe.yahoo.com' into their
   web browsers and be directed to the computers specified by the IP
   addresses. The last record points to another part of the DNS database
   which is located on the computer specified by the ip address. The text
   'NS' indicates that this record is  a pointer record (This is not actually
   perfectly correct DNS syntax, but it shows the idea). The last record
   says that people wanting to find ....

   This is incomplete and not very clear. Oh well.




  Another point to remember is that the dots in domain names have nothing
  whatsoever to do with the dots in IP addresses. This also can be confusing.



3. QUICK CONCLUSIONS [TOC]

  I still am not particularly confident about how to configure bind. It would
  be nice to find some script or program which could guess at the correct
  values for the various configuration files.

4. TIPS FOR USING BIND [TOC]

  When a configuration file is changed you need to type the command
    rndc reload


  If you want to get rid of the dns 'cache' (so that you can see if named is
  actually looking up stuff properly, you can use 'rndc flush'

  dig -x 127.0.0.1  should check if a name server is working

5. GENERAL BIND INFORMATION [TOC]

  [*]http://www.swelltech.com/support/webminguide/ch08.html
     A not very helpful introduction to dns and bind.

  [*]http://www.intac.com/~cdp/cptd-faq/
     A reasonable looking FAQ

6. BIND CONFIGURATION [TOC]

[*]http://www.muine.org/~hoang/dns.html
    This is another article which consists mainly of example configuration
    files and brief notes.

[*]http://www.nominum.com/books.php
    Contains a link to the bind 9 reference manual. This is the
    site of the company which wrote bind 9

[*]http://www.nominum.com/content/documents/bind9arm.pdf
    The bind 9 reference manual. 113 pages. This same (?) manual may
    also be accessable as part of the bind9 package at the file system
    location
        /usr/share/doc/bind9-doc/arm/Bv9ARM.html

[*]http://www.ripe.net/ripe/docs/ripe-192.html
    Apparently a 'cut-and-paste' configuration file for setting up
    bind 8 on unix.

[*]http://www.tldp.org/LDP/lame/LAME/linux-admin-made-easy/domain-name-server.html
    Some instructions for configuring bind. This is for version 8. This page
    gives examples of configuration files, but doesn't really tell you 'why'
    you are doing what you are doing.

[*]http://www.yolinux.com/TUTORIALS/LinuxTutorialWebSiteConfig.html#DNS
    Another article about how to configure bind

[*]http://www.ibiblio.org/Linux/HOWTO/DNS-HOWTO-5.html
    A tldp doc. This document contains an example of using the 'dig' tool to
    diagnose DNS connections

7. GENERAL BIND TOOLS [TOC]

  dig
    This is the tool to use to diagnose DNS set ups

[*]http://www.domtools.com/dns/
    A collection of DNS tools

8. BIND MAILING LISTS [TOC]

[*]http://www.isc.org/ml-archives/
    Links to mailing list archives for bind

9. BIND CONFIGURATION TOOLS [TOC]

[*]http://dataconv.org/apps_source.html
    This page contains a link to a program that claims to make a full bind
    configuration out of a 'hosts' file (bind 8, 9).

[*]http://www.webmin.org/
    Webmin provides a bind configuration tools which apparently makes
    everything a bit simpler.

  named-bootconf.pl
    may help to configure named

  h2n
    may be able to take a hosts file and generate a working DNS config

[*]http://dnsupdate.sourceforge.net/
    Another tool to generate Bind config files from a hosts file

10. IMPORTANT BIND FILES [TOC]

  /etc/hosts
    may be needed to make the Configuration work

  On Debian: /var/cache/bind/ella-associates.org.hosts
    This appears to be the actual file which determines what ip address the
    domain name is associated with.

  /etc/named.conf
    This seems to be the 'master' conf file

  /etc/resolv.conf
    This appears to tell the computer what to use for DNS lookup

11. EXAMPLE DIG COMMANDS [TOC]

  The command below performs a non recursive query against the server
  specified after @. The very final '.' character IS significant
    dig +norec +noques +nostats +nocmd prep.ai.mit.edu. @D.ROOT-SERVERS.NET.

  This is a very useful way of diagnosing problems with DNS since by stopping
  recursion it is possible to see the 'route' that is taken in resolving a
  host-name

12. DNS OFFICIAL SPECIFIATION [TOC]

[*]http://www.crynwr.com/crynwr/rfc1035/
    The main rfc in HTML

[*]http://www.ietf.org/rfc/rfc1035.txt
    The main rfc in Text format


13. GENERAL DNS INFORMATION [TOC]

[*]http://directory.google.com/Top/Computers/Internet/Protocols/DNS/
    Googles DNS directory

[*]http://www.acmebw.com/askmrdns/
     'Ask mr dns' this is a kind of FAQ for DNS. This is very very
     Good. Lots of questions and good answers extracted from
     mailing lists.

[*]http://www.scit.wlv.ac.uk/~jphb/comms/dns.html
    A dns tutorial. This is good. Recomended by a thing called the
    web-opedia. Only 9 pages, sadly

[*]http://www.dns.net/dnsrd/
     Some DNS information and good links to other resources
     The links seem reasonably old (2001). This site is known as the
     'DNS Resources Directory'

[*]http://michael.iserver.com/dns/
     This is a very basic tutorial, divided into small chunks
     of html (each page doesn't contain much information)

[*]http://www.freeos.com/articles/3956/
     A (5 page) description of setting up DNS on linux. It is
     not written in the best English.

[*]http://www.dns.net/dnsrd/docs/domain.ps
     Another introduction to DNS in post-script format. Apparently
     this is included as part of the 'bind' distribution.

[*]http://www.nwc.com/netdesign/cook5.html
     A page on building DNS. Updated 1997

[*]http://pluto.iis.nsk.su/docs/bsd-4.3/named.html
     A manual entitled 'name server operations for bind'. Possibly
     quite old

[*]http://hotwired.lycos.com/webmonkey/geektalk/97/03/index4a.html?tw=backend
     A two page introduction to DNS

14. MISCELANEOUS [TOC]

[*]http://oac3.hsc.uth.tmc.edu/staff/snewton/tcp-tutorial/
    A short introduction to tcp protocols, including dns.


BACK TO THE TABLE OF CONTENTS
If you wish, you may add a comment, suggestion or other contribution which will appear at the end of this document.
Any input you make is greatly appreciated.


Your Comment (or other contribution to this document)


Your Name [OPTIONAL BUT NICE]


See this page in (approximate): Español| Français| Italiano| Deutsch| Português
Hosted by www.Geocities.ws

1