6

I'm having trouble to configure debian jessie as noip.com updater. My config looks like this:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

use=web
web=checkip.dyndns.com
web-skip='Current IP Address: '

protocol=dyndns2
server=dynupdate.no-ip.com/nic/update
login=myusername
password='mypass'
myhost.noip.me

everything seems to be fine but if I ping myhost.noip.me the ip address is not updated. By checking

ddclient -daemon=0 -debug -verbose -noquiet 2 /etc/ddclient.conf

I get the following reply:

.conf
=== 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{foreground}                      : <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{postscript}                      : <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}                       : myusername
globals{password}                    : mypass
globals{protocol}                    : dyndns2
globals{quiet}                       : 0
globals{server}                      : dynupdate.no-ip.com/nic/update
globals{use}                         : web
globals{verbose}                     : 1
globals{web}                         : checkip.dyndns.com
globals{web-skip}                    : Current IP Address:
=== config ====
config{myhost.noip.me}{atime}          : 0
config{myhost.noip.me}{backupmx}       : 0
config{myhost.noip.me}{cacheable}      : ARRAY(0x1770c50)
config{myhost.noip.me}{cmd}            : <undefined>
config{myhost.noip.me}{cmd-skip}       :
config{myhost.noip.me}{custom}         : 0
config{myhost.noip.me}{fw}             :
config{myhost.noip.me}{fw-login}       : <undefined>
config{myhost.noip.me}{fw-password}    :
config{myhost.noip.me}{fw-skip}        :
config{myhost.noip.me}{host}           : myhost.noip.me
config{myhost.noip.me}{if}             : ppp0
config{myhost.noip.me}{if-skip}        :
config{myhost.noip.me}{ip}             : <undefined>
config{myhost.noip.me}{login}          : myusername
config{myhost.noip.me}{max-interval}   : 2592000
config{myhost.noip.me}{min-error-interval} : 300
config{myhost.noip.me}{min-interval}   : 30
config{myhost.noip.me}{mtime}          : 0
config{myhost.noip.me}{mx}             :
config{myhost.noip.me}{password}       : mypass
config{myhost.noip.me}{protocol}       : dyndns2
config{myhost.noip.me}{script}         : /nic/update
config{myhost.noip.me}{server}         : dynupdate.no-ip.com/nic/update
config{myhost.noip.me}{static}         : 0
config{myhost.noip.me}{status}         :
config{myhost.noip.me}{use}            : web
config{myhost.noip.me}{warned-min-error-interval} : 0
config{myhost.noip.me}{warned-min-interval} : 0
config{myhost.noip.me}{web}            : checkip.dyndns.com
config{myhost.noip.me}{web-skip}       : Current IP Address:
config{myhost.noip.me}{wildcard}       : 0
config{myhost.noip.me}{wtime}          : 30
=== cache ====
cache{myhost.noip.me}{atime}           : 0
cache{myhost.noip.me}{backupmx}        : 0
cache{myhost.noip.me}{custom}          : 0
cache{myhost.noip.me}{host}            : myhost.noip.me
cache{myhost.noip.me}{ip}              : 12.34.56.78
cache{myhost.noip.me}{mtime}           : 1437992275
cache{myhost.noip.me}{mx}              :
cache{myhost.noip.me}{script}          : /nic/update
cache{myhost.noip.me}{static}          : 0
cache{myhost.noip.me}{status}          :
cache{myhost.noip.me}{warned-min-error-interval} : 0
cache{myhost.noip.me}{warned-min-interval} : 0
cache{myhost.noip.me}{wildcard}        : 0
cache{myhost.noip.me}{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.8.2
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: 103
RECEIVE:
RECEIVE:  <html><head><title>Current IP Check</title></head><body>Current IP Address: 12.34.56.78</body></html>
DEBUG:    get_ip: using web, checkip.dyndns.com reports 12.34.56.78
SUCCESS:  myhost.noip.me: skipped: IP address was already set to 12.34.56.78.

I tooks like my current (artificial) IP "12.34.56.78" has been set properly. Now if I ping (my artificial host) myhost.noip.me I get a different IP.

Any suggestion what I need to change to get ddclient working with noip.com?

1
protocol=noip

I'm using noip but with the protocol noip, like it was inside of the --help flag, look at this help to get more information.

0

The trace you show shows that ddclient polled checkip.dyndns.com for the IP of your machine, saw that the IP had not changed and consequently decided to skip contacting dynupdate.no-ip.com to change the IP. If it had contacted dynupdate.no-ip.com, you would see a line like this in your trace

CONNECT:  dynupdate.no-ip.com

and it would be followed by a bunch of SENDING and RECEIVE lines.

I found that if you want to force ddclient to perform the entire operation, you should stop any currently running daemon with sudo service ddclient stop and remove its cache file with sudo rm /var/cache/ddclient/ddclient.cache. Then any subsequent run will necessarily perform all the checks.

Also, your configuration file is wrong. You should not have /nic/update in the server setting, as this is part of the protocol setting. (Using dyndns2 as the protocol implies that /nic/update is appended.) For reference, my current configuration is:

use=cmd
cmd='dig +short myip.opendns.com @resolver1.opendns.com'

protocol=dyndns2
ssl=yes
server=dynupdate.no-ip.com
login=<YOUR LOGIN>
password=<YOUR PASSWORD>
<YOUR HOST>

I use the dig command to get my public IP rather than contact a server through HTTP.

0

The only thing wrong with your config is the server update address. It should be:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

use=web
web=checkip.dyndns.com
web-skip='Current IP Address: '

protocol=dyndns2
server=dynupdate.no-ip.com
login=myusername
password='mypass'
myhost.noip.me

You can test the configuration by executing:

sudo ddclient -verbose -foreground

And you should see the router part (extracting the IP addres using the 'web' provider), then the authentication with no-ip and the IP address being updated:

ONNECT:  checkip.dyndns.com
CONNECTED:  using HTTP
SENDING:  GET / HTTP/1.0
SENDING:   Host: checkip.dyndns.com
SENDING:   User-Agent: ddclient/3.8.3
SENDING:   Connection: close
SENDING:   
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Content-Type: text/html
RECEIVE:  Server: DynDNS-CheckIP/1.0.1
RECEIVE:  Connection: close
RECEIVE:  Cache-Control: no-cache
RECEIVE:  Pragma: no-cache
RECEIVE:  Content-Length: 106
RECEIVE:  
RECEIVE:  <html><head><title>Current IP Check</title></head><body>Current IP Address: X.X.X.X</body></html>
INFO:     setting IP address to X.X.X.X for myhost.noip.me
UPDATE:   updating myhost.noip.me
CONNECT:  dynupdate.no-ip.com
CONNECTED:  using HTTP
SENDING:  GET /nic/update?system=dyndns&hostname=myhost.noip.me&myip=X.X.X.X HTTP/1.0
SENDING:   Host: dynupdate.no-ip.com
SENDING:   Authorization: Basic bHBlbmFwQGdtYWlsLmNvbToyNjg3OGxhcA==
SENDING:   User-Agent: ddclient/3.8.3
SENDING:   Connection: close
SENDING:   
RECEIVE:  HTTP/1.0 200 OK
RECEIVE:  server: envoy
RECEIVE:  content-type: text/plain; charset=UTF-8
RECEIVE:  cache-control: no-cache
RECEIVE:  date: Fri, 26 Jul 2019 18:48:25 GMT
RECEIVE:  connection: close
RECEIVE:  
RECEIVE:  good X.X.X.X
SUCCESS:  updating myhost.noip.me: good: IP address set to X.X.X.X
-1
protocol=dyndns2
use=web, if=eth0
server=dynupdate.no-ip.com
login=username@email.com
password='mysuperpassword'
myhost.no-ip.org

You have "if=ppp0". Do you use a 'dial' connection? Mine has "if=eth0" because the dsl ppp is on modem/router.

Your ping test is on the same network, or you try on a different (outside) computer? Could be a local DNS issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.