Goals and Presentation

The problems described above lead us to the development of the Ddt (Domain Debug Tools) package. This package allows the verification of the coherence of one or more zones, both syntactically and semantically. Most of the errors presented above are detected by Ddt. Therefore, this package can play an important role helping administrators to eliminate most of the usual errors. Besides this, it also allows the production of several statistics over the DNS data, as for example: hosts per domain, more popular names, etc.

The Ddt package is a set of commands working over zone files cached locally. We took this option because it allows an efficient analisys of the coherence of a set of zones. This is the only way some errors can be detected. Furthermore, it is much more efficient to work over local data than querying servers on line. When the connections aren't good enough, as is the case in our country, this is the only realistic alternative. Zone files may be outdated when they are analyzed, however, even if the servers were queried on line, it is also possible to face a similar situation. This means that working over cached data is really the only alternative.

A command is available to try to cache the ``real world'' situation as close as possible. This command, ddt-xfer 3, allows the transfer of a zone to the cache, and, eventually, all its descendants zones. If you have enough disk and bandwith, you can cache all the zones of the world with one only command. Probably, when you will end, you should start again because some of the cached zones should not reflect the real ones anymore. (ddt-xfer would avoid unnecessary zone transfers by comparing cached version numbers with the current ones.)

Ddt has commands to analyze zone definitions, zone RRs, zone glue records, zone MX RRs, reverse mappings and zone statistics. Each command can run over one or more zone files, allowing the analysis of one zone or a set of zones as a whole, as for example, a country, or even a continent.

With the purpose of helping the interpretation of the diagnosis messages, we have introduced four severity levels. With these levels we want to distinguish between the most and the least important messages. The four levels are the following:

Messages belonging to [Warning 1] level are the most serious. On the other hand, messages belonging to [Comment] level are less important, but this doesn't mean that these messages can be completely ignored. Unfortunately, there are some serious errors that were included in the this level because, when the message is displayed, Ddt has not enough data (zone files) to take an effective decision. The next section presents the available commands.