wiki:WikiStart
Last modified 4 years ago Last modified on 07/23/10 00:17:02

DNSDusty -- An Uncomplicated Web-Based DDNS Management Tool

Explanation

I had been looking for a while for a web-based DNS management tool. There are many out there, but none seem to meet my needs. In particular most of them either:

  • required some sort of external database to track changes: this seems extraneous. Why do you need another database to track changes to your DNS database? Also, how do you handle the situation where records are added or removed outside your interface?
  • generates zonefiles and reloads BIND: this is old-school-cool, but doesn't work well if you say have a DHCP server that is doing dynamic updates to BIND. Anything that adds or removes records should ideally do it through the DDNS interface. After all, that's what it's for!
  • had security issues I wasn't comfortable with: The webmin module for BIND9 seemed to address my above concerns, but didn't seem to allow for signed updates. Also, it had a lot of functionality I didn't much care about.

Since I couldn't find any programs that didn't do one of the above, I ended up writing my own. I've named it after my dog, Dusty. She's about as low-maintenance a dog as you could ask for, which is exactly what I was looking for in a DNS management interface. Sadly, Dusty passed away in 2007 at the ripe old age of 15, but she lives on in this project!

Description

DNSDusty is my answer to the above problems that I saw in existing web-based DNS management tools. All updates to DNS are done through the dynamic DNS interface, using signed updates. There is no external database. It simply does a zone transfer when it needs to get a listing of records.

It has worked well for me so far on my home DHCP/DNS server, which uses the ISC BIND and DHCP server. It has very basic functionality at this point. You can add records one at a time, and can delete them via checkboxes.

DNSDusty is written in Perl, and is implemented as a CGI program. It requires a few Perl modules:

  • Net::DNS
  • CGI::Formbuilder
  • HTML::Template

It is released under the GNU Public License version 2. Patches are welcome.

Releases

Official releases are available here:

https://fedorahosted.org/releases/d/n/dnsdusty/

Development

Development is managed via git. Gitweb access is available here:

http://git.fedorahosted.org/git/?p=dnsdusty.git

Mailing List

By virtue of being a Fedora Hosted project, DNSDusty now has a mailing list. Questions, suggestions, concerns, and patches should now be sent to the mailing list:

https://fedorahosted.org/mailman/listinfo/dnsdusty-developers

Plea for a New Maintainer

I think there is still much potential for this approach to a web-based DNS management tool. As the lack of active development shows however, I no longer have the time or incentive to actively work on this project. If anyone is interested in taking over this project as maintainer or co-maintainer, please drop me an email and we can work out the details.

Attachments