ddclient / ddclient

Ddclient updates dynamic DNS entries for accounts on a wide range of dynamic DNS services.

Home Page:https://ddclient.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

only ipv6 is not working for ddclient 3.10.0 (debian)

ghdoergeloh opened this issue · comments

Help. I cannot get it to work.
I tried different configurations, but did not find out the right for my case.
I do not have ipv4 (just via provider nat), so I only want to set my ipv6.

This is my config:

protocol=dyndns2
use=no
usev6=ifv6
ifv6=eth0
ssl=yes
server=dyndns.strato.com
login='***'
password='***'
example.com

if I execute:
ddclient -daemon=0 -debug -verbose -force

this is the output:

WARNING:  'if-skip' is deprecated and does nothing for IPv6
DEBUG:    Reply from 'ip -6 -o addr show dev eth0 scope global' :
DEBUG:    ------
DEBUG:    2: eth0    inet6 fd00::20/64 scope global noprefixroute \       valid_lft forever preferred_lft forever
DEBUG:    2: eth0    inet6 2a0a:a546:c179:0:19bd:a0b2:567b:db32/64 scope global temporary dynamic \       valid_lft 7201sec preferred_lft 3601sec
DEBUG:    2: eth0    inet6 2a0a:a546:c179:0:ece5:ebcc:a053:ea06/64 scope global dynamic mngtmpaddr noprefixroute \       valid_lft 7201sec preferred_lft 3601sec
DEBUG:    ------
DEBUG:    Raw IPv6 after filtering for GUA addresses eth0: (1)
DEBUG:    2: eth0    inet6 2a0a:a546:c179:0:ece5:ebcc:a053:ea06/64 scope global dynamic mngtmpaddr noprefixroute \       valid_lft 7201sec preferred_lft 3601sec
DEBUG:    get_ipv6: using (ifv6, eth0) reports 2a0a:a546:c179:0:ece5:ebcc:a053:ea06
INFO:     forcing update of example.com.
DEBUG:
DEBUG:    nic_dyndns2_update -------------------
Use of uninitialized value $_[0] in sprintf at /usr/bin/ddclient line 2160.
INFO:     setting IP address to  for example.com
UPDATE:   updating example.com
DEBUG:    proxy    = <undefined>
DEBUG:    protocol = https
DEBUG:    server   = dyndns.strato.com
DEBUG:    url      = nic/update?<redacted>
DEBUG:    ip ver   =
CONNECT:  dyndns.strato.com
CONNECTED:  using SSL
SENDING:  GET /nic/update?system=dyndns&hostname=example.com&myip= HTTP/1.1
SENDING:  Host: dyndns.strato.com
SENDING:  Authorization: Basic ******
SENDING:  User-Agent: ddclient/3.10.0
SENDING:  Connection: close
SENDING:
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Date: Sat, 09 Dec 2023 20:35:39 GMT
RECEIVE:  Server: Apache/2.4.37 (rocky) OpenSSL/1.1.1k mod_perl/2.0.12 Perl/v5.26.3
RECEIVE:  Content-Length: 43
RECEIVE:  Content-Type: text/plain; charset=ISO-8859-1
RECEIVE:  Vary: Accept-Encoding
RECEIVE:  Connection: close
RECEIVE:
RECEIVE:  abuse 2a0a:a546:c179:0:19bd:a0b2:567b:db32
FAILED:   updating example.com: abuse: The hostname specified is blocked for abuse; you should receive an email notification which provides an unblock request link.  More info can be found on https://www.dyndns.com/support/abuse.html

As you can see it determins the correct ipv6 address. If I put this address in the browser with ipv6 and enter my credentials it works and successfully updates "https://dyndns.strato.com/nic/update?system=dyndns&hostname=example.com&myip=2a0a%3Aa546%3Ac179%3A0%3Aece5%3Aebcc%3Aa053%3Aea06".

So the only problem is: it does not set my ipv6. What did I do wrong?

On my earlier debian11 with ddclient 3.9.1 Everything is working just fine (ifv6 did not exist, so i used if).

While writing this I noticed, that (if myip is not set), it uses my temporary ipv6 address, which the server uses for web requests. So that one is perfectly working, but it will not be forwarded by my router, so it needs to be the other ipv6 that was found by get_ipv6.

On v3.10.0 the dyndns2 provider is still implemented using a legacy structure. This has since been updated to use the latest structure instead.

Combining usev6 with a legacy provider only got fixed just an hour earlier - so not in a released version yet.

While staying on v3.10.0 you should be able to make IPv6 for dyndns2 work by using the legacy use parameter instead.
If you update to the latest version, dyndns2 will use the new provider structures and will therefore work with usev6

Closed due to inactivity. Feel free to reopen if needed