Namecheap multiple domain hosts with ddclient

DNSNamecheap

 

 

Wednesday, August 22, 2012

Linux Make ddclient Work with Multiple Namecheap Domains

 

If you are using ddclient 3.8.1 or older, and are updating multiple Namecheap domains, there is a possibility it is not working.

If you are updating multiple domains, for example foo.com and foobar.com, along with multiple hostnames for each domain, for example @, www, or mail, ddclient will only update the first hostname it encounters.

For example, if your /etc/ddclient/ddclient.conf looks like the configuration below, during each update only foo.com, www.foo.com, mail.foo.com, and smtp.foobar.com will be updated. foobar.com, www.foobar.com, and mail.foobar.com will not be updated because those hostnames were already checked for the first domain name.

protocol=namecheap, \ server=dynamicdns.park-your-domain.com, \ login=foo.com \ password=faefjawpefoij30498320493r23 \ @, www, mail protocol=namecheap, \ server=dynamicdns.park-your-domain.com, \ login=foobar.com \ password=faefjawpefoij30498320493r23 \ @, www, mail, smtp

The following steps can be followed to fix this. Note that this patch has only been tested on ddclient 3.8.1 running on RHEL 6. Your mileage may vary with different versions and Linux distributions, and this patch may be applied to future ddclient releases negating the need for these steps.

Patch ddclient

Stop the ddclient service:

service ddclient stop

Copy your existing ddclient binary to another folder:

mkdir /root/ddclient-patch cp /usr/sbin/ddclient /root/ddclient-patch/

Download and save the ddclient patch:

wget http://thornelabs.net/downloads/ddclient.patch -O /root/ddclient-patch/ddclient.patch

Change to the directory:

cd /root/ddclient-patch

Apply the patch:

patch -b -p0 -i ddclient.patch # Successful output patching file ddclient

Copy the newly patched ddclient back:

cp /root/ddclient-patch/ddclient /usr/sbin/

Modify /etc/ddclient/ddclient.conf

Modify your /etc/ddclient/ddclient.conf file and add the domain name to each hostname like so:

protocol=namecheap, \ server=dynamicdns.park-your-domain.com, \ login=foo.com \ password=faefjawpefoij30498320493r23 \ @.foo.com, www.foo.com, mail.foo.com protocol=namecheap, \ server=dynamicdns.park-your-domain.com, \ login=foobar.com \ password=faefjawpefoij30498320493r23 \ @.foobar.com, www.foobar.com, mail.foobar.com, smtp.foobar.com

Start the ddclient Service Again

Remove the ddclient cache file:

rm /var/cache/ddclient/ddclient.cache

Start the service:

service ddclient start

Monitor /var/log/messages to verify everything is working.

 

http://thornelabs.net/2012/08/22/linux-make-ddclient-work-with-multiple-namecheap-domains.html

Leave a Reply