DDNS Updater Cloudflare

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Njol

Benutzer
Registriert
09. März 2013
Beiträge
5
Reaktionspunkte
0
Punkte
0
Hallo,
Ich würde gerne Cloudflare für meine Website, welche auf der DS der Familie gehostet wird, benutzen. Jedoch konnte ich bis jetzt den DDNS Updater nicht dazu überreden mit Cloudflare zu kommunizieren. Entweder kommt "Keine Antwort vom Server" oder der Status bleibt auf unbekannt.

Ich habe Perl & SSL installiert sowie SSL aktiviert, und meine Einstellungen sind:
Rich (BBCode):
protocol=cloudflare
server=www.cloudflare.com
login=<e-mail>
password=<API key>
use=web
backupmx=no
wildcard=no
static=no
custom=no
njol.ch

laut Cloudflare sind diese Einstellungen richtig.

PS: Ich hatte mit curl und wget schon Probleme mit SSL, könnte irgendeine systemweite Einstellung schuld sein?
 
Die Integration des Protokolls "cloudflare" habe ich anhand des ddclient von der Cloudflare-Seite vorgenommen. Habe eben noch mal kontrolliert, ist alles ok.

Welche Probleme hattest du denn mit SSL bis jetzt?

Was steht im Log vom DDNS updater, kannst das hier mal posten? (Benutzernamen und Passwörter bitte entfernen)
 
Seltsam, laut Log finded DDNS Updater das Perl SSL modul nicht:
Rich (BBCode):
Mar  9 15:04:28 ddclient[25624]: INFO   :  service started
Mar  9 14:33:09 ddclient[7871]: FATAL:     On Synology Diskstation, the package perl and perl-IO-Socket-SSL must be installed.
Mar  9 14:33:09 ddclient[7871]: FATAL:    Error loading the Perl module IO::Socket::SSL needed for SSL connect.
Laut IPKG ist es aber installiert:
Rich (BBCode):
DiskStation> ipkg install perl
Package perl (5.10.0-6) installed in root is up to date.
DiskStation> ipkg install perl-io-socket-ssl
Package perl-io-socket-ssl (0.999-1) installed in root is up to date.
Hie noch meine PATH variable, falls das wichtig sein sollte:
Rich (BBCode):
DiskStation> echo $PATH
/opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
Ausserdem scheint der Cache nicht ganz in Ordnung zu sein:
Rich (BBCode):
Mar  9 14:15:20 ddclient[31826]: INFO   :  service stopped
Mar  9 13:56:08 ddclient[31826]: WARNING:   Wait at least 5 minutes between update attempts.
Mar  9 13:56:08 ddclient[31826]: WARNING:   last updated <never> but last attempt on Sat Mar  9 13:54:53 2013 failed.
Mar  9 13:56:08 ddclient[31826]: WARNING:  skipping update of njol.ch from <nothing> to 83.77.65.176.
Mar  9 13:54:53 ddclient[31826]: WARNING:  file /tmp/cache/ddclient/ddclient.cache: file /tmp/cache/ddclient/ddclient.cache must be accessible only by its owner (fixed).
Mar  9 13:47:48 ddclient[31826]: WARNING:  file /tmp/cache/ddclient/ddclient.cache: file /tmp/cache/ddclient/ddclient.cache must be accessible only by its owner (fixed).
Mar  9 13:47:36 ddclient[31826]: WARNING:  file /tmp/cache/ddclient/ddclient.cache: file /tmp/cache/ddclient/ddclient.cache must be accessible only by its owner (fixed).
Mar  9 13:47:23 ddclient[31826]: WARNING:  file /tmp/cache/ddclient/ddclient.cache: file /tmp/cache/ddclient/ddclient.cache must be accessible only by its owner (fixed).
Mar  9 13:47:12 ddclient[31826]: WARNING:  file /tmp/cache/ddclient/ddclient.cache: file /tmp/cache/ddclient/ddclient.cache must be accessible only by its owner (fixed).
// etc...

PS: die SSL-Probleme liegen bei wget daran, dass SSL standardmässig nicht unterstützt wird, und bei curl muss ich den Pfad zur cacert.pem manuell angeben.
 
Die Zeile
Rich (BBCode):
 WARNING:  file /tmp/cache/ddclient/ddclient.cache: file /tmp/cache/ddclient/ddclient.cache must be accessible only by its owner (fixed)
sollte nur einmal auftauchen, danach wurden die Rechte durch ddclient angepasst.

Was mich wundert ist, dass trotz offensichtlich installiertem Perl + SSL er das Modul nicht findet. Check mal bitte, ob im Kopf von ddclient #!/opt/bin/perl -w drin steht.

Dann mal als root per ssh oder Telnet auf der DS anmelden und das folgende eingeben und die Rückmeldungen hier posten.

Prüfe mal welches Perl bei dir aktiv ist
Rich (BBCode):
which perl
Es sollte keine Fehlermeldung angezeigt werden.
Rich (BBCode):
perl -e "require IO::Socket::SSL"
 
Perl scheint korrekt installiert, neuere Tests ergeben keine Fehlermeldungen über Perl.
Rich (BBCode):
DiskStation> which perl
/opt/bin/perl
perl -e "require IO::Socket::SSL" gibt auch keine Fehlermeldung aus.
ddclient schein auch i.O. - '#!/opt/bin/perl -w'

Da die Fehlermeldung com DDNS Updater 'keine Antwort vom Server' ist, könnte wohl auch die Firewall schuld sein, obwohl curl keine Probleme damit hat...
Ich füge wohl mal ein paar print statements zum ddclient hinzu um zu sehen wo's happert. Edit: sehe gehade, dass schon welche drin sind - wo wird denn der log gespeichert (falls überhaupt)? Edit2: habe debug parameter von ddnsupdate.sh gefunden =3

Edit 3:
Per debug kommt eine Rückmeldung:
Code:
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Server: cloudflare-nginx
RECEIVE:  Date: Sun, 10 Mar 2013 18:03:14 GMT
RECEIVE:  Content-Type: text/html; charset=UTF-8
RECEIVE:  Connection: close
RECEIVE:  Expires: Thu, 19 Nov 1981 08:52:00 GMT
RECEIVE:  Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
RECEIVE:  Pragma: no-cache
RECEIVE:  Vary: Accept-Encoding
RECEIVE:  Set-Cookie: __cfduid=<langer Schlüssel>; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.cloudflare.com
RECEIVE:  CF-RAY: 4d1eba4268902da
RECEIVE:
RECEIVE:  njol.ch E_NOUPDATE
Die DNS-Einträge bei cloudflare zeigen jetzt auch alle zu meiner IP, aber das scheint früher passiert zu sein da E_NOUPDATE zurück kommt.

Ich werde es in 5 Minuten nochmals mit dem WebUI problieren (nach Änderung der IPs auf cloudflare)
 
Zuletzt bearbeitet:
Dann wundert mit aber diese Meldung vom DDNS updater:
Rich (BBCode):
Mar  9 15:04:28 ddclient[25624]: INFO   :  service started
Mar  9 14:33:09 ddclient[7871]: FATAL:     On Synology Diskstation, the package perl and perl-IO-Socket-SSL must be installed.
Mar  9 14:33:09 ddclient[7871]: FATAL:    Error loading the Perl module IO::Socket::SSL needed for SSL connect.
Ist die vielleicht älter?
 
Dieser Logeintrag scheint wirklick "sehr" alt zu sein, da ich jetzt erfolgreich die IP von test.njol.ch auf meine IP ändern konnte, und zwar direkt vom WebUI aus.
Es wird allerdings immer noch 'Keine Antwort vom Server' im Status angezeigt. Vielleicht ist cloudflares ddclient-Modifikation nicht 100% mit DDNS Updater kompatibel und zeigt deshalb die falsche Statusmeldung an, trotz erfolgreicher DNS-Änderung.

Also alles in allem ist das Problem nicht Perl oder SSL, sondern eine falsche Statusmeldung.
 
Welche Meldung kommt denn von cloudflare zurück, wenn der DDNS updater den Request macht, kannst du das sehen?
 
Dann meldet cloudflare "<host> OK":
Rich (BBCode):
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Server: cloudflare-nginx
RECEIVE:  Date: Sun, 10 Mar 2013 20:00:53 GMT
RECEIVE:  Content-Type: text/html; charset=UTF-8
RECEIVE:  Connection: close
RECEIVE:  Expires: Thu, 19 Nov 1981 08:52:00 GMT
RECEIVE:  Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
RECEIVE:  Pragma: no-cache
RECEIVE:  Vary: Accept-Encoding
RECEIVE:  Set-Cookie: __cfduid=<iein key>; expires=Mon, 23-Dec-2019 23:50:00 GMT; path=/; domain=.cloudflare.com
RECEIVE:  CF-RAY: 4d297fc36b000e1
RECEIVE:
RECEIVE:  test.njol.ch OK
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat