Monday, February 26, 2007

Dynamic DNS and ddclient

This was originally posted on my family blog on 4/21/06. I will be slowly moving the geeky stuff from there to this blog.

Because I've been too cheap to pay for a real domain name, or a static IP address, I've been using the wonderful free services of DynDNS.org to bring you this family website. I use ddclient to keep DynDNS updated, but somehow I messed it up last night when configuring it for Ubuntu, and the family website has been unavailable all day. I know, your world had ended without it. I'm sorry! I've learned something from this though, and here are my new ddclient tips.

If your webserver is behind a router, like mine, then you need to have ddclient visit a webpage to get the router's IP address. To make ddclient do this, it's configuration file needs to have this line in it:

use=web, web=checkip.dyndns.org/, web-skip='IP Address' 

My mistake was that I also had the normal 'use' line in the config file, after that one:

use=if, if=eth1

so ddclient was using the IP address reported by my ethernet card, my local network IP. None of you have access to that one though :-/. To debug ddclient, you can run it from the command line as root with the verbose output enabled like so:

ddclient -daemon=0 -debug -verbose -noquiet

That gives you a pretty good idea of what it's doing and how you can fix it. At least, that's all I needed this evening.

1 comment:

Anonymous said...

Thanks for this! I found it strange that it forwarded my local ip to dyndns! But your solution solved it!