|
please send suggestions to: matthew@ella-associates.org or matth3wbishop@yahoo.com 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. |