Externer Zugriff auf die DiskStation (Nextcloud auf einer Synology DiskStation/DSM 6/DSM 7/DSM 7.1) [Updated 09/18]

Bisher hab ich dieses Thema ausgespart, zum einen hat es mit den bisherigen Nextcloud-Artikeln nichts oder nur indirekt zu tun gehabt. Zum anderen habe ich den externen Zugriff noch unter DSM 5 eingerichtet. Die DiskStation hat die Einstellungen auf DSM6 übernommen, doch dort sind viele Punkte nicht mehr dort wo sie vorher waren bzw. nicht mehr vorhanden. Da aber Nachfrage an dem Thema besteht, habe ich mich beschlossen doch einen Artikel darüber zu schreiben und die Konfiguration auf DSM 6 rekonstruiert.

Update September 2018: Ich habe in der Zwischenzeit mein DS neu aufgesetzt und die Einrichtung erneut vorgenommen, die Anleitung habe ich basierend darauf ergänzt und aktualisiert.

Das Tutorial funktioniert (abgesehen vom DiskStaion-Teil) für alle Server-Dienste in eurem LAN. Für das Tutorial verwende ich als Dienst den Webserver der DiskStation und als Anwendung Nextcloud. Das ganze Funktioniert aber auch mit jeder beliebigen Anwendung die auf der WebStation laufen. Über diesen Weg könnt ihr auch andere Synology-Pakete verfügbar machen, wie etwa DSM selbst oder die Photo Station oder die Video Station. Dazu sind aber auf der DiskStation zusätzliche Einstellungen notwendig um die Sicherheit zu erhöhen. Diese kann ich im Rahmen dieses Artikels nicht alle abdecken. Eventuell werde ich mich dem in einem zukünftigen Artikel annehmen.

Voraussetzungen

  • Eine installierte Nextcloud-Instanz auf eurer DiskStation. Wie das geht, findet ihr hier.
  • Einen konfigurierbaren (NAT/Portforwarding, optional DDNS) Router der mit dem Internet verbunden ist. Hier gibt es einige Stolpersteine, mehr dazu, weiter unten.
  • Eine der beiden Optionen:
    • entweder eine statische IP, die hat man in der Regel nicht als Privatkunde, bei manchen Providern kann man aber nachfragen, ob man eine bekommen kann. Andere Provider erlauben auch Privatkunden das Bestellen von Business-Paketen, die haben meist eine statische IP und sind oft nur minimal teurer als Privat-Pakete.
    • oder einen Account bei einem DDNS-Anbieter, mehr dazu, weiter unten.
  • (Optional) Eine eigene Domain. Natürlich könnt ihr die Nextcloud/DiskStation auch über die (statische) IP aufrufen, DDNS-Anbieter stellen meist Domains im Format <EinName>.<DDNSAnbieter>.<com/net/…> zur Verfügung.

DDNS einrichten

Habt ihr keine statische IP, kommt ihr um DDNS nicht herum, es sei denn ihr wollt jedes mal nach Ablauf der IP die neue IP im DNS eures Domainanbieters eintragen. Synology bietet euch für eure registrierte DiskStation eine Subdomain mit DDNS an und zwar kostenlos. Der Vorteil ist, neben den nicht vorhandenen Kosten, dass ihr den Synology-DDNS-Account direkt in der DiskStation eintragen könnt. Nachteil: Ihr habt nur genau eine Subdomain zur Verfügung <EureDS>.synology.me. Normalerweise reicht das auch vollkommen aus. Ihr habt ja auch nur eine externe IP. Selbst wenn ihr mehrere Dienste von außen aufrufen wollt – die vielleicht auch auf anderen Rechnern/Servern laufen und nicht auf der DS – dann ist das kein Problem. Mit dem DDNS-Hostnamen erreicht ihr über eure externe IP euren Router, der ist dann dafür zuständig die Anfrage zum richtigen Host in eurem LAN weiterzuleiten.

Beispiele:
meineDS.synology.me(:8080)               - Webserver über http
https://meineDS.synology.me              - Webserver über https
http(s)://meineDS.synology.me/Nextcloud  - Nextcloud
http(s)://meineDS.synology.me/photo      - PhotoStation
https://meineDS.synology.me:5001         - DSM
http(s)://meineDS.synology.me/blog       - DS Blog, eure Homepage, sonstige Webseiten
meineDS.synology.me:<Port>               - Dienst auf einem anderen Rechner im LAN

Solltet ihr verschiedene (Sub)Domains bzw. virtual Hosts verwenden wollen, braucht ihr einen weiteren DDNS-Anbieter, bzw. einen Anbieter der euch mehrere Subdomains erlaubt. Habt ihr z.B. keine eigene Domain, könnt ihr die verschiedenen Subdomains des DDNS-Anbieters für verschiedene Dienste zu nutzen (siehe vhost). DiskStation sowie einige Router haben Vorkonfigurierte Anbieter eingespeichert. Einige Router, wie auch die DS erlauben das Hinzufügen von Anbietern.

Wie DDNS funktioniert

DNS verknüpft eine Domain mit einer bestimmten IP. Wenn jemand die Domain besuchen möchte, bekommt er vom DNS die IP-Adresse mitgeteilt, die dahinter steckt. Aber diese DNS-Einträge sind statisch. Wenn ihr also täglich eine neue IP zugewiesen bekommt, ist der DNS-Eintrag ungültig. Natürlich könnte man jedes Mal den DNS-EIntrag händisch aktualisieren, das ist aber dumm und funktioniert nicht wirklich, wenn euer Dienst/eure Seite rund um die Uhr erreichbar sein soll. DDNS löst das Problem, indem es einen automatischen Updatemechanismus anbietet. Nachteil: Ihr braucht ein Tool, dass den DDNS-Eintrag für euch aktualisiert. Dieses Tool muss auf einem Rechner/Router in eurem LAN laufen und zwar praktisch immer (zumindest gibts kein Update wenn das Tool nicht läuft). So ein Tool kann man auf jedem PC oder einem Raspberry Pi installieren. Glücklichwerweise haben aber viele Router und die DiskStation ein solches Tool.

Wählt die Lösung die für euch am besten passt

Ihr müsst jetzt mehrere Dinge prüfen. Es empfiehlt sich DDNS am Router zu konfigurieren, kann euer Router das nicht, könnt ihr auf die DS ausweichen. Informiert euch über das Angebot der vorkonfigurierten Anbieter, sollte euch keiner zusagen, könnt ihr einen anderen Anbieter wählen. Kann euer Router keine eigenen Anbieter hinzufügen, müsst ihr wieder auf die DS ausweichen.
Ich verwende den DDNS-Dienst von Synology selbst sowie spDyn, hab aber auch schon einige andere Dienste getestet. Solltet ihr nach einer Alternative zu Synology suchen, kann ich spDyn empfehlen, der deutsche Anbieter ist kostenlos und erlaubt bis zu 5 Hosts (im Normalfall reicht einer, da ihr ja nur einen Internetanschluss und somit eine externe IP habt, vor allem wenn ihr eine eigene Domain habt und diese auf eure DDNS Subdomain verweisen lasst), dazu lässt sich spDyn via DiskStation updaten (DS Konfig muss erweitert werden). Außerdem kann für jeden Host ein eigener Update-Token erstellt werden. Der Token ersetzt beim Updater das Passwort und der Hostname ersetzt den Nutzernamen des Accounts. Mit dem Token kann man sich nicht in den Account einloggen und mit dem Token kann nur der zugehörige Host upgedatet werden. Somit bleibt der Account sicher. Habt ihr einen besseren Anbieter, könnt ihr gerne einen Kommentar hinterlassen. Das Prinzip ist bei allen gleich. Ihr legt euch eine Subdomain an die mit eurer externen IP verknüpft wird. Da sich diese aber laufend ändert, bieten DDNS-Anbieter eine API, über die die IP aktualisiert werden kann. Bekommt ihr eine neue IP von Provider zugewiesen, muss jemand in eurem Netzwerk den DDNS-Anbieter benachrichtigen. Da der Router als Erster die neue Adresse mitbekommt ist es besser diesen das Update zu überlassen. Sollte der Router das nicht können, könnt ihr eben auch auf die DiskStation ausweichen, hier kann es aber zu einer kurzen Verzögerung bei der Aktualisierung kommen, vor allem wenn die DS nicht 24/7 im Betrieb ist. Habt ihr außer der DS keine anderen Server in eurem Netzwerk, sollte das aber kein Problem sein.
Fügt einen neuen Host hinzu und wählt eine Subdomain aus. Als IP wird meist die aktuelle externe IP automatisch eingetragen, der Wert ist erstmal egal und wird später automatisch angepasst.
Generiert den Update-Token, sofern euer Anbieter das Feature bereitstellt.
Wollt ihr den Synology DDNS-Dienst verwenden, müsst ihr euch auf synology.com anmelden und eure DiskStation registrieren. Da nur eine Subdomain zur Verfügung steht, kann ich die einzelnen Schritte leider nicht beschreiben.

Neuen Hosteintrag hinzufügen
Neuen Hosteintrag hinzufügen

 

Synology DDNS Service
Synology DDNS Service

Konfiguration der DiskStation

DDNS

Sollte euer Router den DDNS-Anbieter eurer Wahl nich vorkonfiguriert haben – und ihr ihn nicht selbst konfigurieren können – nutzt ihr die DiskStation als Update-Client.

  1. Öffnet das Kontrollzentum.
  2. Geht auf den Punkt “Externer Zugriff”.
  3. In der DDNS-Tabelle klickt auf “Hinzufügen” und sucht im Dropdown euren Anbieter. Habt ihr ihn gefunden, macht bei Punkt 7 weiter.
    DDNS Verwaltung
    DDNS Verwaltung
  4. Ist euer Anbieter nicht in der Liste schließt das Fenster wieder und klickt auf “Anpassen”.
  5. Vergebt einen Namen und fügt die Update-URL ein. Die Update-URL stellt der DDNS-Anbieter zur Verfügung und kann immer etwas abweichen. __HOSTNAME__ und __MYIP__ sind hingegen Variablen der DiskStation, achtet darauf dass es sich bei den _ um doppelte _ handelt.
    weitere DDNS Anbieter hinzufügen
    weitere DDNS Anbieter hinzufügen
  6. Speichert die Einstellungen und geht wieder auf “Hinzufügen”.
  7. Gebt die Daten für euren DDNS-Account ein. Hostname ist die Subdomain die ihr euch ausgesucht habt. Benutzt ihr einen Update-Token ersetzt dieser das Passwort.
  8. Habt ihr alles richtig eingegeben, zeigt euch die DiskStation sofort ob das Aktualisieren funktioniert, oder ob es einen Fehler gibt.
    DDNS erfolgreich eingerichtet
    DDNS erfolgreich eingerichtet

NAT/Portweiterleitung

Prinzipiell könnt ihr NAT am Router direkt über die DiskStation konfigurieren, wenn ihr einen kompatiblen Router habt. Wenn nicht, konfiguriert ihr NAT direkt am Router.
Hinweis: Selbst wenn euer Router unterstützt wird, solltet ihr zur Sicherheit einen Blick ins Routermenü werfen, ob auch alles Richtig ist. Bei meinem TP Link wurden die Einstellungen zwar übertragen, allerdings im Unterpunkt PnP und nicht unter NAT.
Ich empfehle nur Port 443 (https) einzutragen, wenn ihr keine zwingende Verwendung für Port 80 habt. Das erhöht die Sicherheit, euer Webserverver ist dann nicht unter http erreichbar und ihr braucht auch nicht http auf https umzuleiten.

Routerkonfiguration

Viele Provider stellen eigene Modem/Router-Kombis bereit die oft eine stark beschnittene Firmware haben. Einige davon kann man als reinen AccessPoint konfigurieren, die Einwahl macht dann der eigene Router oder die Provider-Geräte lassen sich komplett durch eigene Geräte ersetzen. Ist das nicht möglich kann nur noch Doppel-NAT (langsam) oder eine DMZ abhelfen.
Für die weiteren Schritte gehe ich davon aus, dass ihr den Router, der mit dem Internet verbunden ist, entsprechend konfigurieren könnt.

DHCP – statische IP-Vergabe

Damit die weiteren Schritte funktionieren, muss die DiskStation immer die selbe lokale IP-Adresse zugewiesen bekommen. Die Standardeinstellung vieler Router vergibt die IP-Adressen dynamisch und zeitlich begrenzt. In den DHCP-Einstellungen des Routers gibt es meist eine Tabelle für statische IP-Adressen. Hier müsst ihr nur die MAC-Adresse eurer DS eingeben und ihr die gewünschte IP zuweisen.

DDNS

Optional könnt ihr noch DDNS am Router einrichten. Kann euer Router das nicht, könnt ihr das auch über die DiskStation machen (siehe oben). Habt ihr DDNS schon auf der DiskStation eingerichtet, braucht ihr es am Router nicht mehr zu machen.
Hier kann ich euch keine genaue Anleitung geben, da mein Router diese Option nicht hat. Die Einstellung kann je nach Router und Firmware unterschiedlich sein. Am besten ihr googelt nach eurem Router und DDNS, dann solltet ihr Anleitungen finden.

NAT/Portweiterleitung

Damit die DiskStation über das Internet erreichbar ist, muss am Router NAT konfiguriert werden können. Die folgenden Schritte sind nur notwendig, wenn euer Router nicht über die DS konfiguriert werden kann, oder wie bei mir, die Einstellungen vom Router falsch übernommen werden.

  1. Geht in das entsprechende Menü auf eurem Router.
  2. Fügt einen neuen Eintrag hinzu
  3. Beim NAT wird der Zugriff auf die externe IP + Port auf eine interne IP und den selben Port umgeleitet, wird auch auf einen anderen Port umgeleitet, spricht man vom Portforwarding. Für unsere Zwecke reicht ein einfaches NAT. Gebt also als externen Port/Service Port (oder wie immer es bei eurem Router heißt) 443 für https an. Als internen Port ebenfalls 443 und als IP, die Adresse eurer DiskStation im LAN.
    Hinweis: Es ist wichtig, dass ihr eurer DiskStation eine statische, lokale IP zuweist. Das geht in den DHCP-Einstellungen des Routers. Standardeinstellung ist meist die zufällige vergabe von IP-Adressen.
  4. Erstellt auch einen Eintrag für Port 80, den braucht ihr nur zum testen, ihr könnt ihn später wieder entfernen bzw deaktivieren.
Network-Address-Translation
Network-Address-Translation

Gebt nur die Ports frei, die ihr auch Tatsächlich braucht. Ports die nicht benötigt werden, bieten eine zusätzliche Angriffsfläche von außen. Wenn ihr keine Dienste habt die unbedingt den Port 80 benötigt (Webseite/Blog ohne https) gebt ihn gar nicht erst frei. Dann braucht ihr euch auch keine Gedanken darüber zu machen, http-Zugriffe auf https umzuleiten. Habt ihr den http-Port in Verwendung, überlegt euch auf https (Port 443) umzusteigen und den Port 80 zu schließen. Um https nutzen zu können, braucht ihr ein SSL-Zertifikat. Das könnt ihr über die DS erledigen (siehe unten). Im Bild seht ihr zwar einen Eintrag für den Port 80, der ist aber deaktiviert, warum das so ist, könnt ihr ebenfalls im SSL-Teil nachlesen.

Testet jetzt ob ihr den Webserver eurer DiskStation erreicht. Gebt im Browser (nutzt euer Smartphone oder ein anderes Gerät, dass nicht im selben LAN hängt) die Subdomain, die ihr in eurem DDNS-Account eingestellt habt, ein. Ihr solltet das blaue Testbild der WebStation sehen, sofern ihr die index.php im /web-Ordner nicht getauscht/geändert habt oder sonstige Umleitungen eingestellt habt.

Nextcloud

Mit https://euer.ddns.com/<NextcloudFolder> solltet ihr auf eure Nextcloud zugreifen können.
Nextcloud wird sich eventuell mit der Nachricht melden, dass die Domain die ihr nutzt, nicht in der Liste der “Trusted Domains” eingetragen ist. Klickt auf den Button um die Domain automatisch in das config-File einzutragen. Ihr müsst euch danach mit dem Nextcloud-Adminkonto einloggen. Alternativ findet ihr den Punkt im config.php eurer Nextcloud-Installation.

untrusted domain
untrusted domain

Das wärs eigentlich, eure Nextcloud bzw. generell euer Webserver ist über das Internet erreichabr, aber wir wollen ja https nutzen. Ich erkläre euch auch noch wie ihr eure eigene Domain verwenden könnt und wie man einen vhost erstellt (und wozu).

https-Verschlüsselung/SSL-Zertifikat

Eure Nextcloud ist zwar über den https-Port erreichbar, allerdings noch nicht abgesichert, da euch das Zertifikat fehlt. Im Browser werdet ihr mit einer entsprechenden Sicherheitswarnung darauf hingewiesen.
In der DiskStation könnt ihr ein Zertifikat generieren. Ihr habt mehrere Möglichkeiten, neben extern erworbenen Zertifikaten könnt ihr ein eigenes Zertifikat generieren lassen oder euch eines von Let’s Encrypt holen. Das eigene Zertifikat hat den Vorteil, dass ihr ein Verfallsdatum weit in der Zukunft angeben könnt und somit nicht erneuern müsst. Angeblich hat die NSA Zugriff auf diverse CAs (die Aussteller der Root-Zertifikate, gegen die die eigenen Zertifikate geprüft werden) und somit könnte die NSA SSL-Zertifikate dieser CAs umgehen. Bei selbstsignierten Zertifikaten ist das nicht der Fall.  Nachteil ist, dass ihr von Browsern Sicherheitswarnungen bekommt (selbst nach dem Importieren des Zertifikats in Chrome habe ich die Meldung nicht wegbekommen) und dass einige Clients/Smartphone Apps keine selbstsignierten Zertifikate erlauben. Ein Let’s Encrypt-Zertifikat ist ein vertrauenswürdiges Zertifikat und wird von allen Browsern und Clients erkannt. Nachteil, ihr müsst das Zertifikat alle 90 Tage erneuern. Das geht zwar recht flott und ihr werdet vorher per Mail benachrichtig, kann aber dennoch lästig sein.

Let’s Encryp Zertifikat einrichten

  1. Damit das Zertifikat angefordert werden kann, muss eure DiskStation über den Port 80 erreichbar sein. Auch für das Erneuern des Zertifikats muss der Port 80 erreichbar sein. Fügt eurer NAT-Konfiguration also einen Eintrag für den externen Port 80 auf den internen Port 80 und die IP eurer DS ein. Vorhin habe ich noch gesagt den Port 80 freizugeben wäre ein Sicherheitsrisiko. Nach dem Einrichten könnt ihr den Port auch gleich wieder schließen. Für das Erneuern müsst ihr ihn wieder kurz öffnen und dann wieder schließen. Je nach Router-Firmware könnt ihr den Eintrag in der NAT-Tabelle einfach deaktivieren und müsst ihn nicht jedes mal neu anlegen.
  2. Öffnet das Kontrollzentrum.
  3. Klickt auf Sicherheit.
  4. Aktiviert den Zertifikat-Tab.
  5. Klickt auf “Hinzufügen”.
  6. Wählt “neues Zertifikat hinzufügen”.
  7. Wählt “Let’s Encrypt Zertifikat”.
  8. Einstellungen:
    1. Gebt euren Domainnamen – für den das Zertifikat gelten soll – an. Ihr könnt für alle Domains und Dienste ein einziges Zertifikat erstellen oder auch für jede Domain ein eigenes. Habt ihr unterschiedliche externe Benutzer, empfiehlt es sich mehrere Zertifikate anzulegen. Ihr könnt angeben, welcher Dienst welches Zertifikat nutzen soll, auch jeder vhost kann sein eigenes Zertifikat haben.**
    2. Gebt eine Emailadresse an.
    3. Gebt bei alternativen Namen wieder euren Domainnamen an und andere Domainnamen die für das Zertifikat gelten. Es sind nur Domains erleubt, IPs nicht, weder interne noch externe, auch der Alias der DiskStation ist nicht erlaubt.***
  9. Fordert das Zertifikat an.
    1. Schlägt das fehl habt ihr mit sehr hoher Warscheinlichkeit den Port 80 nicht offen oder ihr hab bei den Domains eine ungültige Angabe gemacht.

Let’s Encrypt limitiert die Anzahl an Zertifikaten pro Domain, das macht es schwierig für DDNS-Hostnamen. Habt ihr keine eigene Domain versucht euer Glück mit eurem DDNS-Hostnamen. synology.me funktioniert nicht mehr. Andere Anbieter wie spDyn bieten verschiedene Domains zu Auswahl, eventuell funktionieren diese noch. Alternativ könnt ihr ein selbstsigniertes Zertifikat anlegen. Sobald https funktioniert, könnt ihr den Port 80 auf eurem Router wieder deaktivieren/schließen.

**Es gibt hier nur einige Einschränkungen die ihr berücksichtigen müsst. Es ist z.B. nicht möglich die Photo Station als vhost einzurichten. Die Photo Station hat also automatisch das Standard-Zertifikat. Hier hat Nextcloud ein kleines Problem: hat man Nextcloud als vhost eingerichtet, bekommt man zwar das zugewiesene Zertifikat, der Nextcloud Desktop-Client bekommt aber das Standard-Zertifikat, d.h. Nextcloud und Photo Station können keine unterschiedlichen Zertifikate habe.
***Das gilt nicht für selbst signierte Zertifikate.

Eigene Domain einrichten

Möchtet ihr eure eigene (Sub-)Domain verwenden, geht in die DNS-Einstellungen eurer Domainverwaltung. Ihr müsst einen Eintrag vom Typ “CNAME” erstellen. Ihr lasst eure (Sub-)Domain auf eure DDNS-Domain verweisen.

cname Eintrag
CNAME Eintrag

Gebt eure Domain in den Browser ein (nicht vergessen das Smartphone und den Zugang über ein anderes Netz zu verwenden, damit alles im LAN richtig läuft, lest hier nach).

Jetzt könnt ihr euren Server mit eurer eigenen Domain erreichen. Ihr könnt auch mehrere Domains auf die DDNS-Domain zeigen lassen. Das ist besonderns in Verbindung mit vhosts hilfreich. Vergesst nicht, die Domain zeigt letztendlich nur auf euren Router, ihr könnt hier keine Protokolle (http, https, ftp, …) oder Portnummern angeben. Der Router entscheidet dann, basierend auf der Portnummer, wo er die Anfrage hinleiten soll. Wenn ihr also keine Portnummer oder kein Protokoll angebt, landet ihr immer auf Port 80 also auf dem Webserver über http. Vergesst nicht das https:// wenn ihr nur 443 auf eurem Router offen habt. Möchtet ihr nicht zum Webserver, müsst ihr die Portnummer des Services anhängen. Möchtet ihr eure Domain an einen bestimmten Service oder eine bestimmte Website auf eurem Webserver binden, müsst ihr mit htaccess, vhosts oder anderen Techniken arbeiten.

Nextcloud

Vergesst nicht, die Domain zu den “trusted domains” hinzuzufügen.

vhost Einrichten (optional)

Die Einrichtung eines vhosts ist optional. Mit einem Virtual Host könnt ihr für eine bestimmte Domain einen eigenen Document-Root angeben. Eure Domain landet im Standard-Document-Root also /web auf der DiskStation. Durch den vhost könnt ihr angeben in welchem Unterordner von /web ihr stattdessen landet. Wollt ihr also statt mit meinedomain.com/<Nextcloud> direkt mit meinedomain.com auf eure Nextcloud zugreifen, müsst ihr entweder einen vhost einrichten oder eine Umleitung mittels .htaccess einrichten. Der vhost kann aber noch mehr, im gegensatz zur .htacces könnt ihr noch die Version eures Webservers und für PHP festlegen.

  1. Öffnet im DSM die WebStation.
  2. Klickt auf virtueller Host.
  3. Klickt auf “Hinzufügen”.
  4. Gebt den Hostname an den ihr vorhin eingerichtet hab.
  5. Setzt den Haken bei Port 80/443
  6. Wählt als Document-Root den Installationsordner eurer Nextcloud.
  7. Aktiviert HSTS und HTTP/2.
  8. Wählt den Webserver und die PHP-Version die ihr verwenden wollt. Ab Nextcloud 14 ist PHP 7 vorrausgesetzt.
Virtual Host
Virtual Host

Eure Nextcloud ist jetzt direkt erreichbar, ohne die Angabe des Unterordners. Vergesst aber nicht, solltet ihr andere Webseiten/Dienste über den Webserver laufen haben, dass diese nicht unter dem angegebenen Hostnamen erreichbar sind. Entweder ihr richtet euch eine 2. Subdomain ein die ebenfalls auf euren DDNS-Hostnamen zeigt und somit wieder im Document-Root landet, oder ihr konfiguriert für jede Website/Dienst eine eigene Subdomain + vhost.

Nach dem Einrichten, müsst ihr unter Kontrollzentrum > Sicherheit > Zertifikat > Konfiguration, das zuvor erstellte Zertifikat dem vHost zuweisen.

Namensauflösung im LAN (optional)

Bisher haben wir das Smartphone genutzt, würdet ihr im LAN nun die eingerichteten DDNS-Hostnamen versuchen aufzurufen, würdet ihr einen Fehler im Browser erhalten (Host nicht erreichbar).
Damit jetzt im LAN der DDNS-Hostname richtig aufgelöst werden kann, brauch ihr einen eigenen DNS mit den entsprechenden Einträgen. Glücklicherweise bietet euch Synology dafür gleich eine Lösung.

  1. Ladet euch das DNS-Server-Paket aus dem Paketzentrum herunter und aktiviert es.
  2. Öffnet den DNS-Server.
  3. Erstellt eine neue Master-Zone.
    neuer Zoneneintrag
    neuer Zoneneintrag
  4. Wählt als Typ “Forward Zone” und gebt euren DDNS-Domainnamen ein (z.B. meineDS.synology.me), die restlichen Einstellungen könnt ihr aus dem Screenshot übernehmen.
    Forward Zone
    Forward Zone
  5. Klickt auf den Eintrag und wählt Bearbeiten -> Resourceneinträge. Ergänzt die Liste damit sie wie auf dem Screenshot aussieht.
    Ressourceneinträge
    Ressourceneinträge
  6. Geht jetzt auf Bearbeiten -> SOA-Eintrag. Die Einstellungen sollten in etwa wie auf dem Screenshot aussehen.
    SOA-Eintrag
    SOA-Eintrag
  7. Erstellt jetzt wieder eine neue Master-Zone, wählt aber diesmal als Typ “Reverse Zone”. Als Domainname müsst ihr euer lokales IP-Netz eingeben und zwar nur die ersten 3 Blöcke und das in umgekehrter Reihenfolge (Beispiele: euer lokales Netz lautet 192.168.0.0 –> gebt 0.168.192 ein, eurer lokales Netz lautet 10.0.0.0 –> gebt 0.0.10 ein).
    Reverse-Zone
    Reverse-Zone
  8. Bearbeitet die Resourceeinträge und gebt für die beiden PTR-Einträge die lokale IP eurer DiskStation rückwärts ein.
    Resourceeinträge der Reverse-Zone
    Resourceeinträge der Reverse-Zone
  9. Der SOA-Eintrag sollte folgendermaßen aussehen:
    SOA-Eintrag der Reverse-Zone
    SOA-Eintrag der Reverse-Zone
  10. Euer DNS-Server ist jetzt fertig konfiguriert, damit die Hosts in eurem LAN auf wissen, wem sie die Anfrage zur Namensauflösung schicken sollen, müsst ihr ihnen die Adresse des DNS-Servers mitteilen. Öffnet dazu eure Router-Konfiguration und geht in die DHCP-Einstellungen, dort könnt ihr mehrere DNS-Server hinterlegen, die dann an alle Hosts übermittelt werden. Als ersten DNS-Server gebt ihr die lokale IP eurer DS an, als zweiten DNS gebt ihr die Gateway-Adresse eures Routers an. Die Gateway-Adresse ist eine IP aus dem lokalen Netz, meist ist es die Adresse mit .1 am Schluss. Es ist die selbe IP mit der ihr Das Router-Konfigurationsmenü im Browser aufruft. Ihr findet sie meist auch auf der Rückseite des Routers. Anfragen die euer eigener DNS nicht auflösen kann werden so an den Router weitergeleitet, der die Anfrage dann an den DNS des Providers weitergibt. Gebt in der Commandline eures Rechners ipconfig /flushdns ein, damit die EInstellungen übernommen werden.
    Solltet ihr Probleme mit dem lokalen DNS haben (z.B. keine Seiten mehr im Netz erreichen), könnt ihr den DNS auf der DS anhalten bzw. die Einträge in den DHCP-Settings löschen. Danach gebt wieder ipconfig /flushdns ein. Jetzt könnt ihr wieder das Internet zum Troubleshooten verwenden. Eventuell funktioniert der Eintrag der Gateway-Adresse nicht. Je nach Router und/oder Provider müsst ihr direkt die DNS-Server-Adresse eures Providers eingeben. Es gibt auch frei nutzbare, unabhängige DNS-Server die ihr nutzen könnt.

Ich hoffe ihr könnt die DiskStation jetzt über das Internet erreichen. Wie schon erwähnt, habe ich den externen Zugriff noch unter DSM 5 eingerichtet. Solltet ihr etwas entdecken, dass ich übersehen haben, schreibt mir einen Kommentar. Eventuelle Lücken werde ich dann in der Anleitung schließen.

Ich bin leider kein Netzwerk(sicherheits)spezialist. Das Thema Sicherheit ist sowieso ein Thema für sich. Ich kann euch nur empfehlen euch etwas einzulesen. Lasst euch nicht paranoid machen, nehmt das Thema aber auch nicht auf die leichte Schulter. Mit eingeschränkter Portfreigabe und SSL-Zertifikat seit ihr schon auf einem guten Weg. Nachdem ihr alles konfiguriert habt und alles läuft wie ihr das wollt, testet aber auf jeden Fall, ob auch NUR das läuft was ihr wollt. Testet ob ihr von außen auf Dienste zugreifen könnt, die ihr nicht freigeben wollt. Testet, ob ihr über http zugreifen könnt etc. Beachtet auch, dass einige Dienste auf der DiskStation den Port teilen (DSM und Video Station). Die DiskStation hat eine eigene Firewall die ihr konfigurieren könnt. Dazu werde ich noch einen eigenen Artikel schreiben.

Ähnliche Beiträge

16 thoughts on “Externer Zugriff auf die DiskStation (Nextcloud auf einer Synology DiskStation/DSM 6/DSM 7/DSM 7.1) [Updated 09/18]

  1. Hallo,
    ein sehr schöner Artikel, der wirklich weiter hilft. Ich habe nur ein kleines Problem mit dem Zertifikat von Let’s Encrypt:
    Um die Meldung vom Browser weg zu bekommen, würde ich gerne ein solches Zertifikat nutzten. Auf der DS habe ich das Zertifikat wie in der Anleitung beschrieben Hinzugefügt. Wenn ich nun die Nextcloud aufrufe, lande ich jedoch immernoch bei dem alten Zertfikat und bekomme die Fehlermeldung, dass dieses selbst ausgestellt ist. Bei den Zertifikaten kann ich unter “Einstellungen” die DynDNS Adresse zu dem Zertifikat hinzufügen. Das Ändert jedoch nichts. Wenn ich jedoch den Punkt “Systemstandard” der DynDNS Adresse zu, dann wird die DSM Oberfläche neu aufegerufen und nutzt das Let’s Encrypt Zertifikat (gibt natürlich auch eine Warnung im Browser, weil das Zertifikat nicht zu der IP passt, über die ich DSM aufrufe, das Zertifikat ist ja für die DynDNS der Nextcloud ausgestellt). Die Nextcloud wird jedoch davon nicht beeinflusst und nutzt weiter das Zertifikat von Synology.
    Übersehe ich irgendwas? Muss ich das Zertifikat noch dem vhost zuordnen? Oder gibt es irgendeinen anderen Grund, warum Nextcloud weiterhin das Synology Zertifikat nutzt?

    1. Hallo Max,

      Ja das Zertifikat musst du dem vHost zuweisen. Im neuen Artikel habe ich das schon besser beschrieben. Hier scheint das zu fehlen. Ich werde das noch ausbessern.

      Grüße
      Andreas

  2. Hallo Andreas,
    Zu deiner Frage, welche Kapitel bei einer Neuauflage des Buches würde ich mir wünschen, sind die DDNS Einstellungsthemen.
    Für Non-DigitalNatives or digital Naives wie der KOllege oben schreibt, sind die ganzen Themen sehr kryptisch.
    Hier wird sehr viel Basiswissen vorausgesetzt. Hier wären eingie Beispiele sehr sehr hilfreich.

    Mit freundlichen Grüßen,
    Werner

    1. Hallo Werner,
      Was genau meinst du mit DDNS-Einstellungsthemen?
      Im Buch habe ich recht genau beschrieben wie der DDNS-Dienst von Synology eingerichtet wird.
      Das Buch selbst richtet sich ja nur zum Teil an Einsteiger, aber eben auch an Fortgeschrittene und dass einiges selbst zu recherchieren ist habe ich ja auch erwähnt.
      Natürlich wärs toll wenn ein Thema komplett im Buch behandelt wird, aber einige Themen sind recht komplex und das würde einfach den Rahmen des Buches sprengen.
      Aber natürlich bessere ich gerne nach wenn etwas besonders unklar ist.

      Grüße
      Andreas

  3. Hallo Andreas,

    erst einmal vielen Dank für deine ganzen Artikel, die mir unglaublich geholfen haben meine Nextcloud auf der Synology zu installieren. Eigentlich hatte ich bereits alles funktionierend, leider ist mir dann ein Umzug dazwischen gekommen, der in einen Internetanbieterwechsel, dem damit verbundenen Routerwechsel und das Auslaufen einer noip domain geendet hat.
    Nun versuche ich alles wieder zum Laufen zu bekommen, was ich größtenteils auch geschafft habe. Also eine neue Domain bei noip in die config.php eingetragen, Zertifikat usw. installiert. Port Forwarding beim neuen Router eingestellt (Das war dank Vodafone nicht allzu leicht).
    Und habe jetzt auch Zugriff von remote und über das Smartphone. Leider bekomme ich den Zugriff über das lokale Netz nicht konfiguriert.

    Ich habe versucht mich an deine Anleitung zu halten (auch wenn meine Menüs etwas anders aussehen und mehr Felder enthalten, DNS Server Version 2.2.2-5027 )
    Und habe eine ähnliche Anleitung auch hier gefunden. https://gadgetchecks.de/synology-dsm-6-1-tutorial-installation-eines-dns-servers/

    Trotzdem kann ich nicht auf die Weboberfläche der Nextcloud von lokal zugreifen.
    Auch der Versuch über die IP Adresse xxx.xxx.xxx.xxx/nextcloud bzw. xxx.xxx.xxx.xxx/volume1/nextcloud war nicht möglich. (Fehlermeldung der Synology ‘Es tut uns Leid, die von Ihnen gesuchte Seite konnte nicht gefunden werden.’

    Nun bin ich etwas ratlos. Spontan hätte ich ja vermutet, das Problem ist der Router (weil es ja vorher mit der Fritzbox funktioniert hat).
    Oder das Problem liegt an den DNS Server Einstellungen. (aber dann hätte es mit der lokalen IP doch klappen müssen, oder?)
    Außerdem steht in dem Link oben, dass die Diskstation auch DHCP Server sein muss um als DNS Server zu fungieren. Stimmt das ? Denn dann könnte ich an dieser Stelle weiter machen.

    In der Hoffnung auf eine gute Idee deinerseits.

    Beste Grüße
    Andreas K.

    1. Kurzes Update:
      Es scheint eher an meinen DNS (oder den vHost) Einstellungen im Netzwerk zu scheitern. Ich habe gerade eine synology.me domain und einen 2. virtuellen Host, der auf die neue Domain zeit, eingerichtet, mit der klappt der Zugriff übers Internet, wie auch lokal.
      Das macht mich zwar nur bedingt schlauer, aber vielleicht hast du noch eine Idee, an welcher Schraube es liegen könnte.

        1. Hallo Andreas,

          entschuldige meine späte Reaktion. Habe mich zwischen den Tagen nicht mit dem Thema beschäftigen können.
          Für die synology.me habe ich keinen DNS Eintrag hinterlegt. Diese habe ich einfach im UI der DSM aktiviert, einen entsprechenden virtuellen Host konfiguriert. Apache neugestartet und in der config Datei der Nextcloud eingetragen.
          Hat sofort lokal geklappt.
          Vielleicht trägt der DSM den DNS Eintrag für synology.me irgendwo lokal ein und macht das nicht für andere Anbieter?

          Danke schonmal für deine Antwort.

        2. Hallo Andreas,

          entschuldige meine späte Reaktion. Habe mich zwischen den Tagen nicht mit dem Thema beschäftigen können.
          Für die synology.me habe ich keinen DNS Eintrag hinterlegt. Diese habe ich einfach im UI der DSM aktiviert, einen entsprechenden virtuellen Host konfiguriert. Apache neugestartet und in der config Datei der Nextcloud eingetragen.
          Hat sofort lokal geklappt.
          Vielleicht trägt der DSM den DNS Eintrag für synology.me irgendwo lokal ein und macht das nicht für andere Anbieter?

          Danke schonmal für deine Antwort.

          edit: habe gerade einen Unterschied zwischen den domains festgestellt. Die synology.me domain wird über IPv6 aufgelöst, während die noip.com domain über IPv4 aufgelöst wird.

        3. Ich hab mal meinen DNS einige Tage deaktiviert und so weit keine Probleme feststellen können. Die Ausnahmen die ich im DNS Rebind-Schutz der Fritzbox eingetragen habe scheinen so weit zu reichen. Das einzige das nicht mehr funktioniert hat: Ich habe in Nextcloud Ordner der DS als externen Speicher eingetragen und dafür eine der Domains als WebDAV-Adresse verwendet. Die konnte ohne DNS nicht mehr aufgelöst werden. Per IP konnte ich den WebDAV weiterhin erreichen. Als der DNS wieder aktiviert war, ging auch die Domain wieder.
          Die normale Namensauflösung der Domains im Browser ging auch ohne DNS. In meinem altern Heimnetzwerk ging ohne DNS gar nichts, dort konnte ich im Router auch nichts eintragen.

          Ansonsten kannst du, wie gesagt, versuchen die Domains in der hosts-Datei einzutragen und kontrollieren ob das dann funktioniert. Damit siehst du zumindest ob es an der Namensauflösung liegt oder ob die Domain sonst irgendwelche Probleme macht.

          Die GUI des DNS sieht leider mittlerweile etwas anders aus, ich hatte nach dem Umzug auch einige Probleme den DNS neu einzurichten. Ich kann dir gerne die neuen Einstellungen zukommen lassen, bzw. sollte ich den Artikel mal aktualisieren.

    2. Hallo,

      Ja das ist ein sehr heikles Thema. Ich habe selbst Anfang des Jahres einen Umzug und Modem-Wechsel hinter mir und auch bei mir hat dann einiges nicht mehr so funktioniert wie zuvor. Mir ist auch aufgefallen, dass Änderungen teilweise nicht übernommen werden, ich hab z.B. Einstellungen vorgenommen und auf meinem PC
      und Smartphone hats funktioniert und auf einem anderen Rechner nicht. Oder Einstellungen rausgenommen so dass es nicht mehr funktionieren sollte und am PC hats dann einige Zeit noch weiter funktioniert.
      Was aber auf jedenfall funktionieren sollte ist die Hosts-Datei. Trag dort einmal den Hostnamen und die lokale IP deiner DS ein. Dann solltest du auf jedenfall zum Webserver deiner DS kommen. Die Lösung ist zwar nicht die beste aber sie funktioniert. Danach kannst du dich immer noch weiter vorarbeiten.
      Meine DS ist übrigens kein DHCP, das macht meine Firtzbox, das sollte also kein Problem sein.

      Grüße
      Andreas

  4. Moin Andreas,
    ich bin ein Digital-Naiver. Versuche gerade meine erste NAS einzurichten, bin an dem Punkt 9.2.1 in deinem Buch. Den DDNS-Client auf dem NAS einrichten. Ich scheitere am Hostnamen (Serviceanbieter Synology), den egal welchen ich wähle, alle existieren. Selbst “Arschloch” oder “Dummer Sack”. Da bin ich wohl doch gezwungen, den QuickConect zu nutzen, Schade. Oder hast du eine Idee?
    Grüße aus Hamburg
    Thomas

    1. Hallo,

      Ich hatte das selbe Problem als ich vor kurzem meine abgelaufene Synology DDNS zu reaktivieren. Auch das ging nicht und auch viele andere Namen nicht.
      Hast du schon probiert von “synology.me” auf eine andere Domain zu wechseln? Bei mir hat das geholfen. Es scheint Probleme mit “synology.me” zu geben.
      Eventuell sind schon zu viele Subdomains dort registriert.

      Grüße
      Andreas

    1. Scheint entfernt worden zu sein. Du kannst die trusted domains aber auch direkt im config-file eintragen.
      Das File findest du unter nextcloud/config/config.php
      Verwende am besten den vi oder nano (also über putty), verwendest du den Texteditor der DS wird der Benutzer der Datei geändert.

  5. Schöner Artikel und gut erklärt. Hat mir geholfen meine Diskstation unter meiner Domain erreichbar zu machen.

    Kleiner Tipp für FritzBox Besitzer: Hier muss man nicht den Aufwand betreiben den DNS Server auf der Diskstation einzurichten. Es reicht die eigene Domain (evtl. zusätzlich *.domain.de als Platzhalter für Subdomains) in die DNS-Rebind-Schutz Ausnahmen aufzunehmen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert