Having run into problems with several dynamic DNS providers (bad clients, unreliable service, ...) my own dyndns had to be implemented. Unfortunatly the only server solution found was quite heavyweight. So instead of writing my own dyndns based client + this heavyweight beast I went for DNS NSupdates.

The config of my Nameserver was quickly adjusted and the first update with "nsupdate" followed at a whimp. Now I could write my own Nsupdates based client that has the features I want:

As a result there's the "nspamper" client daemon. Its configured with your dynamic hostname + your TSIG key. The "nspamper-change" scriptlet tells it about the IP it should put into DNS. While this "wanted" doesn't match what DNS returns "nspamper" keeps retrying to update.

For now the daemon sends the nsupdates to the master listed in the dynamic hostname's zone's SOA.

I'm planning to make it look for SRV records within the zone and update all listed nameservers individually. In addition there'll be a periodic job that "syncs" all NS databases.

In addition to this fully fleged client there's also a dyn2nsup cgi that offers a dyndns.org like API and "translates" this to nsupdates.

To simplify server management I wrote the "ddns" script


0.0.5 2008-12-27

0.0.6 2008-12-30 23:13

0.1.0 2010-09-07

Download / Code:

In case you're interested in this, you can Browse the git repository with the latest development changes on github.