|
Home page HOWTO build a DNS registry Sheets Credits How to contribute Legal notice Whois service |
Printable version
Version française
My domain works. Why should I test it? Because the appearence of working is not enough. Your domain may work only from some places in the Internet (for instance because not all your nameservers are synchronized). Or your domain may be terribly slow because of a configuration error[1]. Or your domain may work only with some DNS resolvers but not all. This is why you should really implement some form of quality assessment, in other words, testing. All the studies show that most domains, even the TLD, have configuration problems. For instance, Generic NIC monitoring tool monitors the ccTLD and find many of them in various states of breakage. A paper by Jim Reid also emphasizes the bad consequences of the lack of quality control in most ccTLD. A study by Mark Foster says the same thing. When your TLD is fine, you can start chasing defects in your subzones. For instance, you may decide, like it is done in Germany, Brazil or France, or by RIPE-NCC for in-addr.arpa domains, to require a proper setup of subzones before or during delegation. Just be sure that this requirment is written in the contract you have with your registrants so that people are warned in advance. You can either test once before the delegation (and suspend the delegation as long as the domain does not really work) or do the test periodically and, if there is a failure, freeze or delete the domaine after, say, three consecutive failures. You can test your domain with any DNS debugging tool such as dig. However, when you have to conduct several tests on all your name servers, manually running dig has its limitations. You can either wrap it into a script or use an already made tool. We will study check_soa and ZoneCheck. check_soa was written by Liu and Albitz and is described in their DNS book. You can retrieve the source code for all their examples, including check_soa. check_soa asks all the name servers of the given domain and simply checks that they reply and are authoritative for the domain. It is a very simple tool, but which catches most of the configuration failures. You run it from the Unix command line:
We can see here that only one out of five name servers for this ccTLD are actually responding properly. Three seem dead (use ping to check) and one has no name server running (BIND stopped and was never restarted?). On another domain:
One of the servers is in "lame delegation" which means that it is listed as authoritative but is not. In that case, it is the primary and there was a syntax error in the configuration file of BIND, preventing it from starting properly. Very often, a lame delegation is due to a server which was listed for secondary service, without bothering to ask its administrators to set it up. You can see that check_soa catches a lot of problems. If you want more thorough tests, we will use a more powerful tool. ZoneCheck is written and maintained by Stephane d'Alu at AFNIC. You can use ZoneCheck from the Web or you can download it and install it locally, for instance as a tool to check your subzones. In the examples here, we will use it locally. Let's test other ccTLD with more subtle errors:
We added various verboseness options to see what's going on. Here, ns.ripe.net is listed as a nameserver for '.dj' but it refused to answer (probably another form of lame delegation). Fatal errors from ZoneCheck should be taken seriously. This domain has another fatal error:
Do note that ZoneCheck displays the specific section of the RFC which mandates the correct behavior (here, a DNS server must be reachable with TCP, not only UDP). Another domain has no fatal errors but exhibit some warnings:
Here, a nameserver has no PTR record. ZoneCheck is quite configurable: by default it uses the configuration file choosen by its author but you can change it to suit your local policy. [1] Resolvers, the DNS clients, may have to try several nameservers to find a good one, thus slowing the application. |
Last news THIS IS THE TITLE HOWTO setup a domain registry Anycast, une nouvelle technique de gestion d'un parc de serveur de noms NDI (Noms de Domaines Internationaux) Changing the IP address of the TLD name server Setting up a DNS registry with XML and XSL Checking your domaine: why and how The choices for a nameserver The zone file generator Modélisation de données The whois service |
DocBook/XML source of this page
For every question about generic NIC, please ask info@generic-nic.net.
(last rebuild by WML 2.0.11 (19-Aug-2006): Monday 10 November 2008)