LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   dyndns not being updated by ddclient (https://www.linuxquestions.org/questions/linux-software-2/dyndns-not-being-updated-by-ddclient-757845/)

stephg 09-25-2009 10:26 PM

dyndns not being updated by ddclient
 
Hello everyone,

I have just installed and configured ddclient on my Ubuntu server to work with my dyndns. I decided to run a few tests to see if it was installed and working properly. What I did was log into dyndns.com with my account and directly modified my IP address to a bogus (but valid) address. I saved my changes. When I pinged myhost.dyndns.com it was pinging the bogus IP as expected. GOOD

I then ran ddclient -daemon=0 -noquiet -verbose thinking that it would update the entry to my real IP address. Well it doesn't. For some reason dyndns doesn't return the bogus address when ddclient is executed.

ddclient.conf is as follows
----------------------------

pid=/var/run/ddclient.pid
protocol=dyndns2
server=members.dyndns.org
login=mylogin
password='mypassword'
myhost.dyndns.com
use=web, web=checkip.dyndns.com, web-skip='IP Address'
daemon=600
syslog=yes
ssl=yes

result of sudo ddclient -daemon=0 -noquiet -verbose
---------------------------------------------------

=== opt ====
opt{cache} : <undefined>
opt{cmd} : <undefined>
opt{cmd-skip} : <undefined>
opt{daemon} : 0
opt{debug} : 1
opt{exec} : <undefined>
opt{facility} : <undefined>
opt{file} : <undefined>
opt{force} : <undefined>
opt{fw} : <undefined>
opt{fw-login} : <undefined>
opt{fw-password} : <undefined>
opt{fw-skip} : <undefined>
opt{geturl} : <undefined>
opt{help} : <undefined>
opt{host} : <undefined>
opt{if} : <undefined>
opt{if-skip} : <undefined>
opt{ip} : <undefined>
opt{login} : <undefined>
opt{mail} : <undefined>
opt{mail-failure} : <undefined>
opt{max-interval} : 2592000
opt{min-error-interval} : 300
opt{min-interval} : 30
opt{options} : <undefined>
opt{password} : <undefined>
opt{pid} : <undefined>
opt{priority} : <undefined>
opt{protocol} : <undefined>
opt{proxy} : <undefined>
opt{query} : <undefined>
opt{quiet} : 0
opt{retry} : <undefined>
opt{server} : <undefined>
opt{ssl} : <undefined>
opt{syslog} : <undefined>
opt{test} : <undefined>
opt{timeout} : <undefined>
opt{use} : <undefined>
opt{verbose} : 1
opt{web} : <undefined>
opt{web-skip} : <undefined>
=== globals ====
globals{daemon} : 60
globals{debug} : 1
globals{login} : mylogin
globals{password} : mypassword
globals{pid} : /var/run/ddclient.pid
globals{protocol} : dyndns2
globals{quiet} : 0
globals{server} : members.dyndns.org
globals{ssl} : 1
globals{syslog} : 1
globals{use} : web
globals{verbose} : 1
globals{web} : checkip.dyndns.com/
globals{web-skip} : IP Address
=== config ====
config{myhost.dyndns.com}{atime} : 1253932332
config{myhost.dyndns.com}{backupmx} : 0
config{myhost.dyndns.com}{cacheable} : ARRAY(0x2078ba8)
config{myhost.dyndns.com}{custom} : 0
config{myhost.dyndns.com}{host} : myhost.dyndns.com
config{myhost.dyndns.com}{ip} : a.b.c.d
config{myhost.dyndns.com}{login} : mylogin
config{myhost.dyndns.com}{max-interval} : 2592000
config{myhost.dyndns.com}{min-error-interval} : 300
config{myhost.dyndns.com}{min-interval} : 30
config{myhost.dyndns.com}{mtime} : 1253932332
config{myhost.dyndns.com}{mx} :
config{myhost.dyndns.com}{password} : mypassword
config{myhost.dyndns.com}{protocol} : dyndns2
config{myhost.dyndns.com}{server} : members.dyndns.org
config{myhost.dyndns.com}{static} : 0
config{myhost.dyndns.com}{status} : good
config{myhost.dyndns.com}{warned-min-error-interval} : 0
config{myhost.dyndns.com}{warned-min-interval} : 0
config{myhost.dyndns.com}{wildcard} : 0
config{myhost.dyndns.com}{wtime} : 30
=== cache ====
cache{myhost.dyndns.com}{atime} : 1253932332
cache{myhost.dyndns.com}{backupmx} : 0
cache{myhost.dyndns.com}{custom} : 0
cache{myhost.dyndns.com}{host} : myhost.dyndns.com
cache{myhost.dyndns.com}{ip} : a.b.c.d
cache{myhost.dyndns.com}{mtime} : 1253932332
cache{myhost.dyndns.com}{mx} :
cache{myhost.dyndns.com}{static} : 0
cache{myhost.dyndns.com}{status} : good
cache{myhost.dyndns.com}{warned-min-error-interval} : 0
cache{myhost.dyndns.com}{warned-min-interval} : 0
cache{myhost.dyndns.com}{wildcard} : 0
cache{myhost.dyndns.com}{wtime} : 30
DEBUG: proxy =
DEBUG: url = checkip.dyndns.com/
DEBUG: server = checkip.dyndns.com
CONNECT: checkip.dyndns.com
CONNECTED: using HTTP
SENDING: GET / HTTP/1.0
SENDING: Host: checkip.dyndns.com
SENDING: User-Agent: ddclient/3.7.3
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.1 200 OK
RECEIVE: Content-Type: text/html
RECEIVE: Server: DynDNS-CheckIP/1.0
RECEIVE: Connection: close
RECEIVE: Cache-Control: no-cache
RECEIVE: Pragma: no-cache
RECEIVE: Content-Length: 105
RECEIVE:
RECEIVE: <html><head><title>Current IP Check</title></head><body>Current IP Address: a.b.c.d</body></html>
DEBUG: get_ip: using web, checkip.dyndns.com/ reports a.b.c.d
SUCCESS: myhost.dyndns.com: skipped: IP address was already set to a.b.c.d.

If I run sudo ddclient -daemon=0 -noquiet -verbose -force and then I ping myhost.dyndns.com it pings my real IP address.

result of sudo ddclient -daemon=0 -noquiet -verbose -force
------------------------------------------------------------------

=== opt ====
opt{cache} : <undefined>
opt{cmd} : <undefined>
opt{cmd-skip} : <undefined>
opt{daemon} : 0
opt{debug} : 1
opt{exec} : <undefined>
opt{facility} : <undefined>
opt{file} : <undefined>
opt{force} : 1
opt{fw} : <undefined>
opt{fw-login} : <undefined>
opt{fw-password} : <undefined>
opt{fw-skip} : <undefined>
opt{geturl} : <undefined>
opt{help} : <undefined>
opt{host} : <undefined>
opt{if} : <undefined>
opt{if-skip} : <undefined>
opt{ip} : <undefined>
opt{login} : <undefined>
opt{mail} : <undefined>
opt{mail-failure} : <undefined>
opt{max-interval} : 2592000
opt{min-error-interval} : 300
opt{min-interval} : 30
opt{options} : <undefined>
opt{password} : <undefined>
opt{pid} : <undefined>
opt{priority} : <undefined>
opt{protocol} : <undefined>
opt{proxy} : <undefined>
opt{query} : <undefined>
opt{quiet} : 0
opt{retry} : <undefined>
opt{server} : <undefined>
opt{ssl} : <undefined>
opt{syslog} : <undefined>
opt{test} : <undefined>
opt{timeout} : <undefined>
opt{use} : <undefined>
opt{verbose} : 1
opt{web} : <undefined>
opt{web-skip} : <undefined>
=== globals ====
globals{daemon} : 60
globals{debug} : 1
globals{force} : 1
globals{login} : mylogin
globals{password} : mypassword
globals{pid} : /var/run/ddclient.pid
globals{protocol} : dyndns2
globals{quiet} : 0
globals{server} : members.dyndns.org
globals{ssl} : 1
globals{syslog} : 1
globals{use} : web
globals{verbose} : 1
globals{web} : checkip.dyndns.com/
globals{web-skip} : IP Address
=== config ====
config{myhost.dyndns.com}{atime} : 1253932332
config{myhost.dyndns.com}{backupmx} : 0
config{myhost.dyndns.com}{cacheable} : ARRAY(0xff7cd0)
config{myhost.dyndns.com}{custom} : 0
config{myhost.dyndns.com}{host} : myhost.dyndns.com
config{myhost.dyndns.com}{ip} : a.b.c.d
config{myhost.dyndns.com}{login} : mylogin
config{myhost.dyndns.com}{max-interval} : 2592000
config{myhost.dyndns.com}{min-error-interval} : 300
config{myhost.dyndns.com}{min-interval} : 30
config{myhost.dyndns.com}{mtime} : 1253932332
config{myhost.dyndns.com}{mx} :
config{myhost.dyndns.com}{password} : mypassword
config{myhost.dyndns.com}{protocol} : dyndns2
config{myhost.dyndns.com}{server} : members.dyndns.org
config{myhost.dyndns.com}{static} : 0
config{myhost.dyndns.com}{status} : good
config{myhost.dyndns.com}{warned-min-error-interval} : 0
config{myhost.dyndns.com}{warned-min-interval} : 0
config{myhost.dyndns.com}{wildcard} : 0
config{myhost.dyndns.com}{wtime} : 30
=== cache ====
cache{myhost.dyndns.com}{atime} : 1253932332
cache{myhost.dyndns.com}{backupmx} : 0
cache{myhost.dyndns.com}{custom} : 0
cache{myhost.dyndns.com}{host} : myhost.dyndns.com
cache{myhost.dyndns.com}{ip} : a.b.c.d
cache{myhost.dyndns.com}{mtime} : 1253932332
cache{myhost.dyndns.com}{mx} :
cache{myhost.dyndns.com}{static} : 0
cache{myhost.dyndns.com}{status} : good
cache{myhost.dyndns.com}{warned-min-error-interval} : 0
cache{myhost.dyndns.com}{warned-min-interval} : 0
cache{myhost.dyndns.com}{wildcard} : 0
cache{myhost.dyndns.com}{wtime} : 30
DEBUG: proxy =
DEBUG: url = checkip.dyndns.com/
DEBUG: server = checkip.dyndns.com
CONNECT: checkip.dyndns.com
CONNECTED: using HTTP
SENDING: GET / HTTP/1.0
SENDING: Host: checkip.dyndns.com
SENDING: User-Agent: ddclient/3.7.3
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.1 200 OK
RECEIVE: Content-Type: text/html
RECEIVE: Server: DynDNS-CheckIP/1.0
RECEIVE: Connection: close
RECEIVE: Cache-Control: no-cache
RECEIVE: Pragma: no-cache
RECEIVE: Content-Length: 105
RECEIVE:
RECEIVE: <html><head><title>Current IP Check</title></head><body>Current IP Address: a.b.c.d</body></html>
DEBUG: get_ip: using web, checkip.dyndns.com/ reports a.b.c.d
INFO: forcing update of myhost.dyndns.com.
DEBUG:
DEBUG: nic_dyndns2_update -------------------
INFO: setting IP address to a.b.c.d for myhost.dyndns.com
UPDATE: updating myhost.dyndns.com
DEBUG: proxy =
DEBUG: url = http: //members.dyndns.org/nic/update?system=dyndns&hostname=myhost.dyndns.com&myip=a.b.c.d
DEBUG: server = members.dyndns.org
CONNECT: members.dyndns.org
CONNECTED: using SSL
SENDING: GET /nic/update?system=dyndns&hostname=myhost.dyndns.com&myip=a.b.c.d HTTP/1.0
SENDING: Host: members.dyndns.org
SENDING: Authorization: Basic <random stuff>
SENDING: User-Agent: ddclient/3.7.3
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.1 200 OK
RECEIVE: Date: Sat, 26 Sep 2009 03:07:33 GMT
RECEIVE: Server: Apache
RECEIVE: Content-Type: text/plain
RECEIVE: Connection: close
RECEIVE:
RECEIVE: good a.b.c.d
SUCCESS: updating myhost.dyndns.com: good: IP address set to a.b.c.d

Anyone know what I'm doing wrong?

stephg 09-25-2009 10:41 PM

I think I might have answered my own question. Because ddclient caches my real IP in a file and uses that to compare with the result of checkip.dyndns.com it doesn't see that there is a difference. I will assume that the process works when my IP acctually does change ... which it hasn't yet.


All times are GMT -5. The time now is 11:11 AM.