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!
ddclient: zusätzliche Antwortzeilen
Moderator: Securepoint
Moin Rainer,
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.
Dort bekomme ich die korrekte Antwort laut dyndns2-Protokoll:
Kannst du den Befehl einmal mit deinen Daten testen und berichten welche Response zurückkommt?
VG
Basti
Wo bzw. wie hast du den HTTP-Body überprüft?Die Antwort im HTTP-Body lautet:
14
nochg meine.ip.adresse
0
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
Code: Alles auswählen
nochg MY_IP_ADDRESS
VG
Basti
Hallo Basti,
sehr interessant, danke!
Der curl-Befehl funktioniert bei mir hervorragend. Zwei Unterschiede sehe ich zu dem, was ddclient macht:
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:
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.
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:
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.
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:
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.
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 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
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.
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.