Synology NAS “schläft” nicht zuverlässig

Problem: Mein Synology DS213j wacht ständig auf, Ursache unklar. Infrage kämen aus meiner Sicht:

  • DS photo. Nutze ich für automatische Backups meiner Fotos aufs NAS. Allerdings habe ich den entsprechenden Task mal deaktiviert, ohne Erfolg
  • Meine FRITZ!Box 6490 Cable, über die das NAS im Internet und LAN ist
  • der DynDNS-Dienst auf dem NAS
  • irgendein anderer Systemdienst/Task/Cron Job/… im DSM
  • irgendein anderer Netzwerk-Client

Lösung allerdings: Statische v4 IP und IPv6 deaktivieren 🙂 (via):

… > IPv4 > Manuelle Konfiguration verwenden > …

und:

Systemsteuerung > Netzwerk > Netzwerk-Schnittstelle > LAN > bearbeiten > IPv6 > IPv6-Setup: Aus

UPDATE: Funktioniert nur begrenzt; es wurde besser, aber nicht gut.

UPDATE; Danke, Thomas: Deaktivieren der Backup-Lösungen (“Acronis True Image”, kenn’ ich nicht; evt. auch iCloud) kann Wunder wirken

Synology: Seinen eigenen DDNS-Service hosten

Achtung: Setzt inwx.de als Registrar voraus!

Der Service

Auf xuad.net gibt es eine entsprechende Anleitung für einen DDNS-Service, auf GitHub liegen die Sourcen. Dabei ist einiges zu beachten:

Man muss dieses Skript unter einer anderen (Sub-) Domain als das DDNS-“Ziel” laufen lassen, klar. Sobald man die DDNS-Domain dynamisch um-mapped, ist das Skript sonst nicht mehr erreichbar.

Wer bei INWX ein Passwort mit Sonderzeichen verwendet, sollte es in der .ini in Anführungszeichen setzen.

Wenn man die IP auslesen möchte, statt sie zu übergeben (siehe Comments in dem Post), und der Server nur schon IPv6 spricht, sollte man den hier beschriebenen “Fix” verwenden, denn INWX erwartet eine v4-Adresse:

Darüber hinaus muss bei INWX ein expliziter Eintrag für die Subdomain angelegt sein. Das Skript ruft diesen bestehenden Eintrag ab, extrahiert eine ID, und updated dann über diese ID. Gibt es keinen Eintrag, gibt es auch keine ID, und das Update kann nicht durchgeführt werden. Ein Wildcard-Eintrag genügt nicht.

Dann sollte das klappen. Falls nicht, kann man im DDNSManager.php Debugging einschalten, um Request und Response an INWX ausgeben zu lassen:

Und/oder PHP-Fehler anzeigen, klar:

 Den Service aufrufen (lassen)

Interessanter ist die Frage, wie und wann sich das NAS dann registriert. Der hauseigene DDNS-Client bietet zwar drölfzig Anbieter zur Auswahl, aber kein Feld für custom Skripte 🙁

Erste Idee: cron. Zwar bringen die Synologys cron mit, allerdings will man sich mit einem regelmäßigen Cronjob ja nicht seinen Ruhezustand versauen.

Zweite Idee: dhclient-exit-hooks.d (siehe auch), dhcpcdnetworkmanager, oder irgendwas, das einen Hook bei IP-Änderung bietet. Gibt es auf einem Synology offenbar (so) nicht.

Dritte Idee: Den erwähnten DDNS-Dienst pimpen. Google liefert tatsächlich einen Ansatz:

  • per SSH auf dem NAS einloggen, Benutzer “root”, Passwort vom “admin”-Account
  • /etc.defaults/ddns_provider.conf editieren (bsplw. mit vi)
  • Einen neuen Eintrag anlegen a la

Hier wäre übrigens möglich, die IP zu übergeben, dann muss man sie nicht auslesen: Neben __USERNAME__ und __PASSWORD__ sind __HOSTNAME__ und __MYIP__ möglich. Trotzdem: Die IPv6-Übersetzung scheint angebracht, wie gesagt wegen INWX.

htaccess-Authentifizierung habe ich hier nicht hinbekommen, sobald sich das ändert, gibt es hier ein Update.

Nun kann man im DSM seinen neuen DDNS-Service auswählen; “Hostname” kann in diesem Fall mit irgendwas gefüllt werden, da er in der Query-URL ja nicht verwendet wird

HTH