The Sysadmin's Daily Grind: NicTool
For the longest time, Charly used vi to edit his nameserver's zone data, which isn't too elegant because a mere fat-finger will get you into DNS trouble. Fortunately, NicTool will help ease the pain – even in the midst of a move big enough to kick up a dust storm.
I wish the professional world could see the conditions under which these words are being written – our IT center is currently moving. My colleagues haven't been rifling through file cabinets like this since the crowning of Charlemagne, and they've become instant archaeologists making some valuable finds. One colleague – let's call him Qumran – has unearthed a document in Schwabacher typeface on SAN/NAS. An IBM printer that, without any accessories, can cut through rock is fascinating a bunch of mainframers. Just an hour ago, I fooled around with one of young Alexander Graham Bell's early cable modems. Next door, the shy apprentice IT networkers are sharing a '93 Slackware – an excellent year.
In contrast, NicTool , a comprehensive DNS management system written almost entirely in Perl, has been around only since 2000. The client components run as CGI on an Apache host. The management system takes its work assignments in two ways. First, there's a Perl API that, for example, feeds into a provisioning system. An Internet service provider can then easily integrate NicTool into its business processes: When a customer asks for web space, a simple command in the API can serve it a domain name in DNS.
The second possibility is in the accompanying web interface. I can use the web interface to manage multiple nameservers with their relevant zones (Figure 1). NicTool does plausibility and syntax checks for all zone modifications, which is a good way to avoid typo frustration. A hierarchical rule structure allows me to manage nameservers or delegate zones to someone else.
The client components forward all change requests per SOAP to the NicTool server, which sits on another Apache V host and runs the database. The server supports a variety of database systems; in my case, it's MySQL.
In order for the nameserver to get all the changes, I must export the data from NicTool. The software only provides the Tinydns format. Because I'm using BIND, I have to make some adjustments during the export, and a look at the NicTool forum  proves that I'm not alone in this respect. The forum includes a few scripts that have been of some help, and it also provided a Perl script that, after installation, nicely populated my NicTool database via a zone transfer – to my great relief. I was spared the chaos of yet another move.
- NicTool: http://www.nictool.com
- NicTool forum: http://www.tnpi.net/support/forums/index.php?t=i&cat=7&rid=0