10

I am having a really hard time getting ddclient (which updates OpenDNS with my current IP address) to work. I have it running as a daemon, but it never succeeds in updating my IP address at openDNS.

To troubleshoot, I am running ddclient from the command line as follows.

(In these examples, values in square brackets [] are stand-ins for the real values for security reasons)

My /etc/ddclient.conf contains:

use=web, web=checkip.dyndns.org/, web-skip='IP Address'
server=updates.opendns.com
protocol=dyndns2
login=[my login]
password=[my password]
Home

When I run:

sudo ddclient -daemon=0 -debug -verbose -noquiet

I get:

WARNING:  file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''
...
WARNING:  skipping update of Home from <nothing> to [my real ip].
WARNING:   last updated <never> but last attempt on Tue Oct  4 08:38:32 2011 failed.

If I rm the cache file, ddclient does work once, but then it fails on subsequent times.

5
  • OP are you still looking for an answer? If so, you may need to repost your question as this is flagged for closure. =)
    – Ringtail
    Mar 7, 2012 at 19:24
  • still haven't found a way to make it work
    – SpashHit
    Mar 9, 2012 at 15:09
  • Please consider editing your question to provide additional information. This may move your question to the top and revel an answer.
    – Ringtail
    Mar 11, 2012 at 18:32
  • What else can I add?
    – SpashHit
    Mar 12, 2012 at 14:00
  • have you tried client support? sourceforge.net/projects/ddclient/support
    – Ringtail
    Mar 12, 2012 at 19:44

3 Answers 3

5

Known bug - fixed upstream - get the latest version from a PPA

This is/was from a known "bug" -- it's caused by the dynamic DNS provider using the dyndns2 protocol incorrectly and sending malformed responses to ddclient.

The problem has long since been fixed in ddclient (based on one of the patches linked in the trac), but Ubuntu's ddclient is so ancient (inherited from upstream) that it can't even be patched manually. (Ubuntu is on rev. 106/Jan-2009, while the latest is r130/Nov-2011).

Solution:

  1. Add this PPA with sudo apt-add-repository ppa:nathan-renniewaldock/ppa
  2. sudo apt-get update && sudo apt-get install ddclient (will upgrade if necessary)

The PPA has the latest versions for 10.04, 11.10 and 12.04.


For the curious, here's the patch/buggy bit:

        # bug #10: some dyndns providers does not return the IP so
        # we can't use the returned IP
        my ($status, $returnedip) = split / /, lc $line;
        $ip = $returnedip if (not $ip);
4

You want the newer ddclient package from ppa:nathan-renniewaldock/ppa but beware that this PPA contains many other packages that you might not want if all you want to do is get ddclient working. Use these steps to only upgrade ddclient.

sudo apt-get install python-software-properties
sudo apt-add-repository ppa:nathan-renniewaldock/ppa

Now, as root, create the file /etc/apt/preferences.d/nathan-prefs and edit it to look like this (including the blank line which is important):

Package: *
Pin: release o=LP-PPA-nathan-renniewaldock
Pin-Priority: 400

Package: ddclient
Pin: release o=LP-PPA-nathan-renniewaldock
Pin-Priority: 500

This tells apt-get to ignore packages from the PPA other than ddclient. So now it should be safe to do this to install it:

sudo apt-get update && sudo apt-get install ddclient

Or if you have already installed it, do this:

sudo apt-get upgrade

Just check that only ddclient is going to be upgraded.

1
  • Its worth noting that this information is no longer valid. If you attempt to follow these instructions in ubuntu 12.04 you get this error: "FATAL: Error loading the Perl module Digest::SHA1 needed for freedns update". To fix this error you need ddclient 3.8.2 but this PPA only has 3.8.1.
    – frankster
    Jul 8, 2014 at 16:10
0

skipping update of @ from to 71.422.000.000.

Most of the time when I get this warning after setting up my ddclient
WARNING: file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''
it's because of a typo or just a small tweek in the ddclient.conf file. I need to stop and check it against my domain providers examples line by line.

I use NameCheap because I like the security of their password system which is tied to each domain individually, generated automatically and can be changed quickly and easily.

My latest problem was something that NameCheap does not show in their Knowledgebase example but was something I remembered having to do before. That is that I have to put a comma between the Host Names that I want updated (The name that comes before the Domain Name). So below is my example that currently works with my domain provider.

daemon=3600
ssl=yes
protocol=namecheap
use=web, web=dynamicdns.park-your-domain.com/getip
server=dynamicdns.park-your-domain.com
login=yourdomainname.com
password=0fc0ur5ethi5i5n0tmypa55w0rdfoob
@, hostname1
missing this tiny little comma throws an error

1
  • I dont know why this is geting downvotes. If you search for namecheep issues this pops up as a question. Your solution helped me perfectly. Thank you!
    – nbroeking
    Jun 10, 2016 at 21:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .