ubuntuusers.de

ddclient findet eigene IPv4 nicht

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

Emma2

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 603

Seit einiger Zeit kann mein ddclient den DynDNS-Eintrag bei INWX nicht mehr aktualisieren.

Ich erhalte nacheinander die beiden Meldungen "WARNING: found neither IPv4 nor IPv6 address" und "WARNING: Could not determine an IP for <myDomain>".
Und es liegt eindeutig auch genau nur daran, denn der Aufruf

1
sudo ddclient -daemon=0 -debug -verbose -noquiet -ip <meineIP>

funktioniert einwandfrei.

Andererseits schlägt

1
sudo ddclient -daemon=0 -debug -verbose -noquiet -if enp3s0

fehl, obwohl die Schnittstelle so heißt (oder ist der Name falsch?).

Irgendwas mache ich da vermutlich falsch,, aber ich weiß nich, was das ist. Seht Ihr es?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

Emma2 schrieb:

[…] die Schnittstelle so heißt (oder ist der Name falsch?)

Die Namen der Schnittstellen erhältst Du mit:

ip link 

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14246

Emma2 schrieb:

Andererseits schlägt

1
sudo ddclient -daemon=0 -debug -verbose -noquiet -if enp3s0

fehl, obwohl die Schnittstelle so heißt (oder ist der Name falsch?).

Ist das die Schnittstelle von deinem border device? Wenn es um IPv4 geht, dann siehe z. B. die Ausgabe von:

host -t a myip.opendns.com 208.67.220.220

(oder gleichwertig).

micneu

Avatar von micneu

Anmeldungsdatum:
19. Januar 2021

Beiträge: 691

Wohnort: Hamburg

@Emma2 Alternativ schreib dir doch einen eigenen Client, schau dir die Dokumentation zu deinem Provider an und schreib dir ein eigenes script. Ich nutze desec.io mit eigener Domain und habe ab und zu Systeme im Einsatz, wo ich keine optionale Software nachinstallieren kann, also habe ich mir ein bash script geschrieben was alles Mögliche abdeckt

  • IPv4 only

  • IPv4 + IPv6

  • IPv6 only

Alternativ kannst du doch deren bash script nutzen, was spricht dagegen?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14246

Emma2 schrieb:

Andererseits schlägt

1
sudo ddclient -daemon=0 -debug -verbose -noquiet -if enp3s0

fehl, obwohl die Schnittstelle so heißt ...

BTW: Versuch mal mit:

sudo ddclient -daemon=0 -verbose -noquiet -query -use if -if enp3s0

(wenn die NIC enp3s0 ok ist), denn:

ddclient prioritizes command line arguments, then falls back to ddclient.conf, then falls back to in-built defaults.

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 603

kB schrieb:

Emma2 schrieb:

[…] die Schnittstelle so heißt (oder ist der Name falsch?)

Die Namen der Schnittstellen erhältst Du mit:

ip link 

lubux schrieb:

Emma2 schrieb:

Andererseits schlägt

1
sudo ddclient -daemon=0 -debug -verbose -noquiet -if enp3s0

fehl, obwohl die Schnittstelle so heißt (oder ist der Name falsch?).

Ist das die Schnittstelle von deinem border device? Wenn es um IPv4 geht, dann siehe z. B. die Ausgabe von:

host -t a myip.opendns.com 208.67.220.220

(oder gleichwertig).

Danke, lubux und kB, das funktioniert beides, meine Schnittstelle (und natürlich ist das die am "WAN") heißt so.

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 603

Emma2 schrieb:

Danke, lubux und kB, das funktioniert beides, meine Schnittstelle (und natürlich ist das die am "WAN") heißt so.

Ach, nee, falsch, was ich schrieb:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:25:90:d3:0c:b8 brd ff:ff:ff:ff:ff:ff
3: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:25:90:d3:0c:b9 brd ff:ff:ff:ff:ff:ff
4: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:25:90:d3:0c:ba brd ff:ff:ff:ff:ff:ff
5: enp6s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:25:90:d3:0c:bb brd ff:ff:ff:ff:ff:ff

Aber ich erhalte meine eigene externe IP mit

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
$ ifconfig
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 88.206.xxx.yyy  netmask 255.255.255.0  broadcast 88.206.xxx.255
        inet6 <ipv6-ip>  prefixlen 64  scopeid 0x20<link>
        ether 00:25:90:d3:0c:b8  txqueuelen 1000  (Ethernet)
        RX packets 2770169588  bytes 3012535966244 (3.0 TB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2905674024  bytes 1606366246769 (1.6 TB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xf7400000-f747ffff  

enp4s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:25:90:d3:0c:b9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xf7300000-f737ffff  

enp5s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.99  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::225:90ff:fed3:cba  prefixlen 64  scopeid 0x20<link>
        ether 00:25:90:d3:0c:ba  txqueuelen 1000  (Ethernet)
        RX packets 2049797415  bytes 1487923970040 (1.4 TB)
        RX errors 0  dropped 251  overruns 0  frame 0
        TX packets 2767304383  bytes 2965672352445 (2.9 TB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xf7200000-f727ffff  

enp6s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:25:90:d3:0c:bb  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xf7100000-f717ffff  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 88217  bytes 5848786 (5.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 88217  bytes 5848786 (5.8 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 603

lubux schrieb:

BTW: Versuch mal mit:

sudo ddclient -daemon=0 -verbose -noquiet -query -use if -if enp3s0

Das funktioniert wohl (wobei jetzt, nach einmaligem Erfolg, auch der Aufruf ohne -use if funktioniert. Danke so weit.

Aber dann habe ich drei Anschlussfragen:

  1. Was trage ich dazu in die ddclient.conf ein? In der Doku zu ddclient finde ich keinen passenden Eintrag?

  2. Alternativ: Wo stehen die "Kommandozeilenparameter"? (Ich bin nicht sooo firm in Linux, habe ddclient nur installiert und die ddclient.conf editiert; ehrlicherweise weiß ich nicht einmal, wo die mit dem System zusammen gestartet wird. 🙄 )

  3. Auf meiner OPNsense wird (in der GUI) explizit die richtige Schnittstelle ausgewählt, aber ich erhalte trotzdem dort ebenfalls diesen Fehler.

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 603

Emma2 schrieb:

  1. Was trage ich dazu in die ddclient.conf ein? In der Doku zu ddclient finde ich keinen passenden Eintrag?

  2. Alternativ: Wo stehen die "Kommandozeilenparameter"? (Ich bin nicht sooo firm in Linux, habe ddclient nur installiert und die ddclient.conf editiert; ehrlicherweise weiß ich nicht einmal, wo die mit dem System zusammen gestartet wird. 🙄 )

  3. Auf meiner OPNsense wird (in der GUI) explizit die richtige Schnittstelle ausgewählt, aber ich erhalte trotzdem dort ebenfalls diesen Fehler.

Ach, doch, habe es gefunden, das ist die Sektion "routers", das passt dann wohl. Jetzt muss ich "nur noch" auf meiner OPNsense herumsuchen...
(Übrigens: Nein, meine Frage ist hier richtig, denn ich habe das selbe Problem auf einem Ubuntu-Host und auf meiner OPNsense.)

... wobei das fürs Ubuntu jetzt wohl gelöst ist. Ich sage schonmal jetzt "Danke!" und starte gleich mal neu, um zu sehen, ob es nun funzt.

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14246

Emma2 schrieb:

  1. Was trage ich dazu in die ddclient.conf ein?

Wenn:

curl -s -4 http://api4.ipify.org

auf deinem System deine richtige externe IPv4-Adresse anzeigt, kannst Du in der ddclient.conf, mit der Zeile:

use=web, web=api4.ipify.org

versuchen.

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 603

Hmm, danke, das funktioniert auch. Allerdings habe ich jetzt ein anderes Problem...

Ich habe den Rechner von Ubuntu 22.04 auf 24.04 aktualisiert (oder muss ich dann die Frage neu stellen?).
"Zur Sicherheit" habe ich ddclient ge-purge-t und neu installiert, dabei wurde ich dann nach Einstellungen gefragt und habe die meines Hosters (INWX) eingetragen, so dass meine ddclient.conf jetzt so aussieht (https://kb.inwx.com/en-us/8-dyndns/96-setup-ddclient):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
 Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2 \
use=if, if=enp3s0 \
server=dyndns.inwx.com \
login=myloginname \
password='mypassword' \
subdomainof.mydynamicdomain.de

Dabei fällt mir auf, dass vorher keine Hochkommata um das Kennwort herum standen.

Wenn ich nun ddclient aufrufe, erhalte ich den Fehler

1
2
3
4
$ sudo ddclient
WARNING:  skipping update of subdomainof.mydynamicdomain.de from <nothing> to 88.206.xxx.yyy.
WARNING:  last updated <never> but last attempt on Tue Jan 21 16:28:10 2025 failed.
WARNING:  Wait at least 5 minutes between update attempts.

und auch der Versuch, den Eintrag trotz nicht geänderter IP zu aktualisieren, schlägt fehl:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 sudo ddclient -debug -force
DEBUG:    Reply from 'ip -4 -o addr show dev enp3s0 scope global' :
DEBUG:    ------
DEBUG:    2: enp3s0    inet 88.206.xxx.yyy/24 metric 100 brd 88.206.xxx.255 scope global dynamic enp3s0\       valid_lft 83369sec preferred_lft 83369sec
DEBUG:    ------
DEBUG:    get_ip: using if, enp3s0 reports 88.206.xxx.yyy
DEBUG:    
DEBUG:    nic_dyndns2_update -------------------
DEBUG:    proxy    = <undefined>
DEBUG:    protocol = http
DEBUG:    server   = dyndns.inwx.com
DEBUG:    url      = nic/update?<redacted>
DEBUG:    ip ver   = 
FAILED:   updating subdomainof.mydynamicdomain.de: unexpected status (5)
Use of uninitialized value $h in hash element at /usr/bin/ddclient line 4103.
Use of uninitialized value $_[0] in sprintf at /usr/bin/ddclient line 2160.
WARNING:  updating : nochg: No update required; unnecessary attempts to change to the current address are considered abusive
Use of uninitialized value $h in hash element at /usr/bin/ddclient line 4112.
Use of uninitialized value $h in hash element at /usr/bin/ddclient line 4113.
Use of uninitialized value $h in hash element at /usr/bin/ddclient line 4114.
Use of uninitialized value $h in hash element at /usr/bin/ddclient line 4103.
Use of uninitialized value $_[0] in sprintf at /usr/bin/ddclient line 2160.
FAILED:   updating : unexpected status (0)
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
Use of uninitialized value in string ne at /usr/bin/ddclient line 1154.
FAILED:    was not updated because protocol <undefined> is not supported.

... und dabei verwirrt mich insbesondere die letzte Zeile: Wieso ist das Protokoll "undefined"?

Mache ich da jetzt etwas falsch?

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14246

Emma2 schrieb:

... Allerdings habe ich jetzt ein anderes Problem...

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

protocol=dyndns2 \
use=if, if=enp3s0 \
server=dyndns.inwx.com \
login=myloginname \
password='mypassword' \
subdomainof.mydynamicdomain.de

Hast Du statt myloginname, mypassword und statt subdomainof.mydynamicdomain.de, deine Daten/Kennwerte eingetragen?

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 603

lubux schrieb:

Hast Du statt myloginname, mypassword und statt subdomainof.mydynamicdomain.de, deine Daten/Kennwerte eingetragen?

🤣 Na klar, im Gegenteil musste ich gut aufpassen, alle "meine" Daten hier zu anonymisieren. (Es steht dort ja auch nicht "falsche Credentials".)

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14246

Emma2 schrieb:

🤣 Na klar, ...

Dann versuch mal beim password, ohne Hochkommas.
Ich habe von meinem dyndns-Provider ein token und der muss mit Hochkommas benutzt werden:

login=######.*****.eu
password='yxyx-####-yyyy'
######.*****.eu

Emma2

(Themenstarter)

Anmeldungsdatum:
28. Dezember 2018

Beiträge: 603

lubux schrieb:

Dann versuch mal beim password, ohne Hochkommas.

Nö, das ändert leider genau gar nichts.

Antworten |