Tuesday, May 14, 2024
 Popular · Latest · Hot · Upcoming
4
rated 0 times [  4] [ 0]  / answers: 1 / hits: 19340  / 1 Year ago, thu, april 13, 2023, 5:35:32

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.


More From » networking

 Answers
0

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);

[#43220] Friday, April 14, 2023, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
impisaso

Total Points: 423
Total Questions: 106
Total Answers: 104

Location: Virgin Islands (U.S.)
Member since Tue, Feb 2, 2021
3 Years ago
;