ddclient: zusätzliche Antwortzeilen

Allgemeine Fragen zu Problemen. Keine Fehlerberichte oder Feature-Anfragen

Moderator: Securepoint

Antworten
Rainer K
Beiträge: 4
Registriert: Do 09.02.2023, 09:07

ddclient: zusätzliche Antwortzeilen

Beitrag von Rainer K »

Ich versuche, meinen DNS-Eintrag mittels ddclient 3.10 zu aktualisieren. Die HTTP-Antwort des Servers update\.spdyn\.de enthält jedoch zusätzliche Zeilen, mit denen ddclient nicht klarkommt.

Die Antwort im HTTP-Body lautet:

14
nochg meine.ip.adresse
0

Wenn ich das dyndns2-Protokoll richtig verstehe, sollte die Antwort jedoch einfach nur lauten:

nochg meine.ip.adresse

Könnt ihr das fixen? Oder sehe ich das falsch? Danke!

Benutzeravatar
Bastie
Securepoint
Beiträge: 4
Registriert: Mo 22.06.2020, 16:05

Beitrag von Bastie »

Moin Rainer,
Die Antwort im HTTP-Body lautet:

14
nochg meine.ip.adresse
0
Wo bzw. wie hast du den HTTP-Body überprüft?

Ich habe das ganze mal in meiner Shell mit folgendem Befehl getestet:
MY_HOST_NAME, MY_UPDATE_TOKEN und MY_IP_ADDRESS müssen mit den jeweiligen Daten ersetzt werden.

Code: Alles auswählen

curl -w "\n" https://MY_HOST_NAME:MY_UPDATE_TOKEN@update.spdyn.de/nic/update\?hostname\=MY_HOST_NAME\&myip\=MY_IP_ADDRESS
Dort bekomme ich die korrekte Antwort laut dyndns2-Protokoll:

Code: Alles auswählen

nochg MY_IP_ADDRESS
Kannst du den Befehl einmal mit deinen Daten testen und berichten welche Response zurückkommt?

VG
Basti

Rainer K
Beiträge: 4
Registriert: Do 09.02.2023, 09:07

Beitrag von Rainer K »

Hallo Basti,

sehr interessant, danke!

Der curl-Befehl funktioniert bei mir hervorragend. Zwei Unterschiede sehe ich zu dem, was ddclient macht:
  • Bei ddclient gibt es den zusätzlichen Parameter system=dyndns.
  • ddclient verwendet Basic Authentication statt das Update-Tokens.
ddclient protokolliert alle Mögliche und auch die HTTP-Response, wenn man die Option -verbose verwendet. Anonymisierter Auszug:

UPDATE:  updating myhost.spdns.de
CONNECT:  update.spdyn.de
CONNECTED:  using SSL
SENDING:  GET /nic/update?system=dyndns&hostname=myhost.spdns.de&myip=123.456.789.123 HTTP/1.1
SENDING:  Host: update.spdyn.de
SENDING:  Authorization: Basic **********=
SENDING:  User-Agent: ddclient/3.10.0
SENDING:  Connection: close
SENDING: 
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Server: openresty
RECEIVE:  Content-Type: text/plain; charset=UTF-8
RECEIVE:  Transfer-Encoding: chunked
RECEIVE:  Connection: close
RECEIVE:  Vary: Accept-Encoding
RECEIVE:  Cache-Control: no-cache
RECEIVE:  Date: Thu, 09 Feb 2023 06:44:59 GMT
RECEIVE:  X-RateLimit-Limit: 600
RECEIVE:  X-RateLimit-Remaining: 599
RECEIVE:  Expires: Mon, 09 Jan 2023 06:44:59 GMT
RECEIVE:  X-Frame-Options: DENY
RECEIVE:  X-Content-Type-Options: nosniff
RECEIVE:  X-XSS-Protection: 1; mode=block
RECEIVE:  Content-Security-Policy: default-src 'self' ; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://apis.google.com https://www.google.com/recaptcha/ https://www.gstatic.com/recaptcha/ https://stats.spdns.de; object-src 'none' ; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com/ ; img-src 'self' data: https://ssl.gstatic.com/ https://stats.spdns.de https://status.securepoint.de; media-src 'none'; frame-src https://stats.spdns.de/ https://www.google.com/recaptcha/ https://www.youtube.com/embed/; connect-src 'self' https://*.checkdns.spdyn.de/ https://*.checkcat.spdyn.de/; font-src 'self' https://fonts.gstatic.com
RECEIVE:  Referrer-Policy: no-referrer
RECEIVE:  Expect-CT: max-age=86400
RECEIVE:  Feature-Policy: accelerometer 'none'; camera 'none'; geolocation 'none'; gyroscope 'none'; magnetometer 'none'; microphone 'none'; payment 'none'; usb 'none'
RECEIVE: 
RECEIVE:  14
RECEIVE:  nochg 123.456.789.123
RECEIVE:  0
RECEIVE:

Benutzeravatar
Bastie
Securepoint
Beiträge: 4
Registriert: Mo 22.06.2020, 16:05

Beitrag von Bastie »

Ich hab den curl Befehl mal angepasst (anonymisiert) so dass er auch die verbose Informationen ausgibt. Zusätzlich habe ich auch den von dir genannten Parameter system=dyndns hinzugefügt.

Code: Alles auswählen

curl -w "\n" -v https://myhost.spdns.de:abcd-abba-acdc@update.spdyn.de/nic/update\?hostname\=myhost.spdns.de\&myip\=123.456.789.123\&system\=dyndns
Dieser curl Befehl nutzt auch Basic Authentication für die Authentifizierung. Nur verwendet er als Username den Hostnamen und als Passwort den Update-Token für diesen Host damit nur dieser Host geupdatet werden kann.

Dieser Befehl liefert bei mir auch die korrekte Antwort:

Code: Alles auswählen

// hier stehen dann die verbose Informationen ähnlich wie beim ddclient
nochg 123.456.789.123
Läuft der angepasste curl Befehl bei dir auch ordnungsgemäß durch? Sollte das der Fall sein vermute ich aufgrund deiner Vorbose-Ausgabe das hier eventuell der ddclient für den zusätzlichen Output verantwortlich ist.

Rainer K
Beiträge: 4
Registriert: Do 09.02.2023, 09:07

Beitrag von Rainer K »

Ja, auch dieser curl-Befehl läuft bei mir einwandfrei. Das Problem liegt offenbar wirklich beim ddclient. Ich schaue mir das mal näher an. Besten Dank für deine Unterstützung! Das was sehr hilfreich!

Benutzeravatar
Bastie
Securepoint
Beiträge: 4
Registriert: Mo 22.06.2020, 16:05

Beitrag von Bastie »

Gerne  :)
Ich hoffe du wirst fündig.
Wenn du rausfindest woran es gelegen hat wäre ich dir sehr dankbar wenn du es hier kurz erläutern könntest.

Rainer K
Beiträge: 4
Registriert: Do 09.02.2023, 09:07

Beitrag von Rainer K »

Ich bin bis jetzt leider nicht dazu gekommen, mir die Sache näher anzusehen, und ich werde wohl auch in absehbarer Zeit nicht dazu kommen.

Nun ist allerdings auch der Handlungsdruck eher gering, da das Problem zwar relativ häufig auftritt, aber nicht jedes Mal. Der DNS-Eintrag bleibt jedenfalls am Leben, und das reicht mir erst einmal. Ist zwar unbefriedigend, aber so ist es nun einmal.

Antworten