Dient das NAS als persönliche Cloud, möchte man in der Regel auch von außerhalb des Heimnetzwerks darauf zugreifen. Auf Dateien und PIM-Informationen soll jederzeit zugegriffen werden können. Dazu gibt es zwei Vorgehensweise. Erstens die Freigabe von einzelnen Diensten für externen Zugriff und zweitens die Verbindung mit dem Heimnetz via VPN:
Die Erreichbarkeit aus dem Netz ist immer ein Risiko. Man sollte sich also gut überlegen, ob man das wirklich braucht oder ob die Synchronisation im Heimnetz ausreicht.
Es gibt zwei unterschiedliche Methoden, um das NAS per Fernzugriff anzusteuern. Beide können wahlweise auch kombiniert werden.
- DynDNS URL / Let’s Encrypt Zertifikat & Portfreigabe im Router
- DynDNS URL & VPN
Bei Variante 1 erstellt man bei einem Diensteanbieter eine URL, die immer auf den lokalen Anschluss zeigt. Diese URL versieht man mit einem Let’s Encrypt-Zertifikat, wodurch man die Möglichkeit hat, die Daten auf dem Transportweg über eine HTTPS-Verbindung zu verschlüsseln. Durch eine Portfreigabe im Router macht man das NAS oder einzelne Dienste von außen erreichbar.
Bei Variante 2 benötigt man ebenfalls eine DyDNS-URL, aber anstatt die Dienste über die Portfreigabe freizugeben, baut man eine VPN-Verbindung zum Router auf. Danach befindet man sich virtuell im Heimnetzwerk und kann das NAS wie zu Hause nutzen.
Welche Variante man bevorzugt, hängt ganz von den persönlichen Nutzungsszenarien ab. Möchte man möglichst nah an die Nutzungserfahrungen professioneller Cloud-Anbieter herankommen, empfiehlt sich Variante 1. Variante 2 ist etwas sicherer, erfordert aber für jede Synchronisation und jeden Zugriff den vorherigen Aufbau einer VPN-Verbindung. Es sind auch Mischvarianten denkbar, bei denen z.B. die DAV-Ports offen, die Ports für sensiblere Dienste aber geschlossen bleiben. Allgemeingültige Empfehlungen können an dieser Stelle nicht gegeben werden.
DynDNS einrichten
Synology bietet mit der Funktion QuickConnect die Möglichkeit, in der Systemsteuerung unter Externer Zugriff den Router und die Portfreigaben automatisch zu konfigurieren – ein entsprechendes Routermodell vorausgesetzt. Diese Variante wurde hier nicht getestet, da solche Lösungen unnötige Abhängigkeiten von einem Anbieter schaffen.
Bei den meisten Internetprovidern verändern sich die zugewiesenen IP-Adressen in einem gewissen Rhythmus. Mittels DDNS/DynDNS lässt sich der Server immer über die gleiche Adresse aufrufen, selbst wenn die gegenwärtig vergebene IP für den Nutzer unbekannt ist.
Zwei Voraussetzungen werden für DDNS benötigt:
- Eine entsprechende Funktion im Router
- Ein DDNS-Anbieter.
Die Funktionsweise ist recht simpel: Der Client (in diesem Fall die Funktion im Router) erkennt die geänderte IP-Adresse und überträgt diese Information an den DDNS-Anbieter.
DDNS-Anbieter, sowohl kostenlose (mit gewissen Einschränkungen), als auch kostenpflichtige gibt es viele (eine Auswahl). Eine eindeutige Empfehlung kann hier nicht ausgesprochen werden. Ggf. hat man auch bereits einen Webhoster, der eine DDNS-Funktion anbietet und einem somit die Wahl eines Dienstleisters erspart bleibt.
Von diesem erhält man die entsprechenden Daten, die man im Router hinterlegt:
Man wählt (oder bekommt zugewiesen) einen Domainnamen, über den man später auf den eigenen Server zugreifen kann, sowie ein Passwort. In der Konfiguration des Routers trägt man dann die Serveradresse, den Domainnamen, den Account und das Passwort ein. Je nach Routerhersteller sind bekannte DDNS-Anbieter bereits hinterlegt und erleichtern so die Konfiguration.
Variante 1: Let’s Encrypt & Portfreigabe
Portfreigaben einrichten
Beim anschließenden Aufruf der DDNS-Adresse erscheint der NAS allerdings noch nicht. Um einen Server hinter einem Router aus dem Internet erreichbar zu machen, müssen entsprechende Anfragen vom Router an das richtige Gerät weitergeleitet werden. Dies wird meist als Portfreigabe bezeichnet. Die meisten Router erleichtern die Konfiguration durch entsprechende Eingabemasken. Welche Ports weitergeleitet werden müssen, hängt von der Konfiguration des Dienstes ab.
Anschließend kann der Server über die gewählte Domain über das Internet erreicht und die Daten auf dem NAS jederzeit, überall und mit jedem Gerät abgerufen werden. Das ist Verheißung und Warnung zugleich. Gepflegte Systeme sind ohnehin eine Selbstverständlichkeit, aber bei einem Server, der offen im Internet steht, umso mehr. Regelmäßige (besser automatische) Updates und die Berücksichtigung der EOL-Fristen des jeweiligen Systems sind von größter Bedeutung.
Let’s Encrypt Zertifikat beantragen und einrichten
Um eine Transportverschlüsselung einzurichten, bietet Synology eine einfache Konfiguration eines Let’s Encrypt Zertifikats an. Wichtig ist, dass Port 80 freigeschaltet und DDNS korrekt konfiguriert ist.
Dazu beantragt man in der Systemsteuerung unter Sicherheit im Reiter Zertifikat ein neues Zertifikat.
Hier kann man im zweiten Schritt wählen, ob man ein Zertifikat importieren, ein selbstsigniertes verwenden oder ein neues Zertifikat bei Let’s Encrypt beantragen möchte. Letzteres ist unbedingt zu empfehlen. Anschließend muss der DDNS-Domainname eingetragen und eine Kontakt-E-Mail-Adresse hinterlegt werden. Die Beantragung und Einrichtung nimmt dann etwas Zeit in Anspruch.
Sofern alles erfolgreich abgeschlossen wurde, sollte man – die Freigabe des Ports 5001 vorausgesetzt – über die DDNS Domain eine HTTPS Verbindung zur NAS Oberfläche aufbauen können. Für die Synchronisation wie WebDAV, CalDAV, CardDAV oder mittels Drive Client ist keine Portfreigabe für die DSM-Oberfläche notwendig.
Hinter der Schaltfläche Einstellungen verbirgt sich die Möglichkeit, unterschiedliche Zertifikate für die verschiedenen Synology-Dienste zu wählen.
Es kann auch sinnvoll sein, alle HTTP-Zugriffe auf eine sichere HTTPS-Verbindung umzuleiten. Dies kann in der Systemsteuerung im Bereich Anmeldeportal auf der Registerkarte DSM konfiguriert werden. Bei internen Zugriffen über IP löst dies jedoch eine Sicherheitswarnung im Browser aus.
Sind alle Schritt absolviert, lassen sich die verschiedenen Synology-Dienste über eine sichere HTTPS-Verbindung aufrufen. Die Daten sind damit auf dem Transportweg sicher.
Variante 2: VPN/Wireguard (FRITZ!Box)
Mit einer Fritz!Box kann jeder Benutzer sehr einfach eine VPN-Verbindung zu seinem Heimnetzwerk aufbauen. Bei einer VPN-Verbindung wird – vereinfacht ausgedrückt – zunächst eine sichere Verbindung zum VPN-Provider (in unserem Beispiel die eigene Fritz!Box) aufgebaut. Über diese Verbindung/Tunnel werden alle Daten geleitet. Das Gerät, das über VPN mit dem Heimnetzwerk verbunden ist, verhält sich – vereinfacht gesagt – so, als wäre es im Heimnetzwerk.
Die Fritz!Box unterstützt in der neuesten Version auch den modernen Wireguard-Standard. Zusätzlich bietet man noch den älteren IPSec-Standard. Neue VPN-Konfigurationen sollten mit Wireguard umgesetzt werden und ältere IPSec-VPNs sollten sukzessive umgestellt werden.
Wireguard einrichten
In der Fritz!Box-Konfigurationoberfläche wählt man unter Internet > Freigaben den Reiter VPN (Wireguard) und geht dort auf Neue Verbindung hinzufügen. Im darauffolgenden Dialog wählt man die Vereinfachte Einrichtung. Die andere Option ist für spezielle Einsatzszenarien gedacht. Anschließend wählt man einen beliebigen Namen.
Die Fritz!Box prüft nun die Berechtigung, indem man eine Nummer im Telefon wählt oder eine Taste betätigt. Danach erscheinen die Konfigurationseinstellungen für die Endgeräte.
Endgeräte konfigurieren
Die Einrichtung auf den Endgeräten unterscheidet sich je nachdem, ob es ein mobiles Gerät oder ein Desktopsystem ist. Für mobile Geräte mit den Betriebssystemen Android und iOS wird in der Oberfläche der Fritz!Box ein QR-Code angezeigt. Diesen scannt man mittels der Wireguard App. (F-Droid / Apple Store).
Etwas komplexer ist die Situation bei Desktopsystemen. Die Fritz!Box bietet die Möglichkeit eine Konfigurationsdatei herunterzuladen. Linux bietet über den NetworkManager die Möglichkeit an Wireguard-Konfigurationen zu importieren. In der grafischen Oberfläche hat dies bisher aber nur KDE umgesetzt. Bei GNOME ist der Import nur über die Kommandozeile möglich, Wireguard lässt sich aber anschließend grafisch an- und abschalten. Die sichere Variante ist der Import via Kommandozeile, da das zuverlässig funktioniert.
$ sudo nmcli connection import type wireguard file "$file"
Code-Sprache: JavaScript (javascript)