The DHCP and DNS Maintenance System

I have developed a system for maintaining DHCP and DNS. The user interface is an Excel spreadsheet.  We used this in the Department of Electrical and Communications Engineering, and also in the Department of Computing and Mathematics.  The Computer Centre also uses part of this system for maintaining DHCP in the campus.  It runs on Linux. It is implemented in Perl and a number of shell scripts.

Executive Summary

Background

When I first moved to the Department of Computing and Mathematics (as it was then called), I found the following situation:

I saw this “blue collar” approach to network management, and decided to do something about it. This is one of the things that I did.

How It Works:

Issues When Using BIND 9.x

The system need a small modification when the DNS is BIND 9.x.  The DNS creates journal files with the extension .jnl in the /var/named directory.   named assumes that these binary files match the text resource record files.  If you update the text files, they will not match the journal files, and the server will not start.  The workaround is simple; adjust the scripts to delete /var/named/*.jnl before restarting named, but after generating the new text resource records.   named will recreate the journal files when necessary.

Limitations Of The System

The system has a number of other limitations that can be solved by a bit of hacking.

How Do We Troubleshoot This System?

The main place is the system logs. These are in /var/log. The main log file is /var/log/messages.  To watch the log as things happen, do:

tail -f /var/log/messages

Another useful technique is to temporarily turn on email in the cron table. Make sure that you filter this to its own mailbox; cron will fill that mailbox very quickly (one email every two minutes.)

Other Documentation

There is documentation for:

Printed books:

Mailing Lists

The dhcp-server and dhcp-client mailing lists are very active and are very helpful.  See the Internet Software Consortium (ISC) site.

Any Questions?

If you have any questions about this, please contact me.

Licensing

All the software written by me is licensed under the GPL version 2 or later. This includes all the software linked to from this page to this same server, except for /usr/local/bin/h2n-nick, which is a slightly modified version of h2n provided with DNS and BIND.


Queries welcome:
Nick Urbanik nicku@nicku.org