Nextcloud von außen nicht erreichbar

Kyotetsu

Lt. Commander
Registriert
Nov. 2012
Beiträge
1.037
Hallo, ich versuche grade mir auf einem Raspberry pi3 nextcloud einzurichten, hauptsächlich um mich mehr mit linux und hosting zu beschäftigen und als kleine Dateiablage :)

Das ganze funktioniert auch schon soweit das ich im LAN auf nextcloud zugreifen kann, soweit so gut.
Nur außerhalb des heimnetztes funktioniert das ganze nicht :(

Habe in meinem Router (speedport w921v von der telekom-.-) Port Forwarding eingerichtet
portf.PNG

und dyndns über noip konfiguriert. wenn ich jetzt aber versuche die dyndns domain (http://***.hopto.org/index.php) aufzurufen bekomme ich nur die Meldung "Diese Website ist nicht erreichbar" - hat jemand eine Idee was ich vergessen/falsch gemacht habe?

Mal zum verständnis, ein Dyndns dienst macht doch nix anderes als meine öffentliche ip, die sich ja ständig ändern könnte, einer Adresse zuzuweisen oder? also müsste ich doch auf die Nextcloud auch kommen wenn ich einfach meine aktuelle öffentliche ip in den Browser eingebe oder versteh ich da was falsch?

bin nach dieser Anleitung vorgegangen https://www.canox.net/2016/06/die-eigene-cloud-mit-dem-raspberry-pi-und-nextcloud/ allerdings scheiter diese daran, das sich über Letsencrypt kein zertifikat erstellen lässt, weil wohl schon zu viele leute mit dem dyndns dienst spdns ein zertifikat erstellt haben? bin dann testweise auf no ip umgestiegen und hab mir das zertifikat erst mal selbst signiert
 
Problem liegt wahrscheinlich darin, daß du von deinem eigenen Anschluß aus über die DynDNS-Adresse gehen möchtest. Dazu müßten deine Pakete von deinem Anschluß zu deinem Provider, dann durch das halbe Internet und am Ende wieder zu deinem Anschluß. Ist prinzipiell möglich, Stichwort NAT-Loopback, aber das muß man bei einigen Routern erst aktivieren. Sinnvoller zum Testen solcher Sachen ist es, auf einen anderen Anschluß von draußen auszuweichen, z. B. das Mobilnetz oder eine Seite wie http://www.canyouseeme.org/

Dein Verständnis aus dem letzten Satz vor dem Spoiler ist richtig. Klassisch ändert sich bei DSL deine IP alle 24 Stunden – dann erfolgt nämlich die Zwangstrennung und fast immer auch die sofortige Wiedereinwahl. Damit man sich aber nur einen Namen merken muß und nicht ständig nachschauen, welche IP man gerade hat, läßt man den Router nach einer erfolgten Wiedereinwahl die Zuordnung der IP beim DynDNS-Dienst aktualisieren.
 
Ah vielen Dank, an dem Punkt mit NAT-Loopback hats gelegen :) übers handy im mobilen Netz funktionierts :D
mit noip funktioniert sogar das letsencrypt zertifikat, allerdings ist der hostname nur für 30 tage gültig, kennst du zufällig einen dyndns anbieter den man kostenlos unbefristet nutzen kann und der mit letsencrypt funktioniert?
 
Okay, Schritt 1 schon mal erledigt, sehr gut! :)

DynDNS und Zertifikate sind ein bißchen delikater. Zertifikate für normale Domains werden so ausgestellt, daß der Aussteller mit einer Mail an die Domain überprüft, daß nur die Person mit der Gewalt über Mails dieser Domain gerade ein Zertifikat erhält. Bei DynDNS verhält sich das aber anders, da man dort immer nur eine Subdomain zugeteilt bekommt, die in den wenigsten Fällen mailfähig ist. Die Let’s-Encrypt-Macher haben aber auch an diesen Fall gedacht. Man erstellt wie gewohnt über das Skript das Zertifikat, zu beachten ist dabei aber die Option certonly -a manual. Dabei wird ein zufälliger Code erzeugt. Den muß man nun so auf dem Raspi ablegen, daß der Let’s-Encrypt-Client über den DynDNS-Namen auf diese Datei zugreifen kann. Somit wird sichergestellt, daß man in der Kontrolle dessen ist, wofür man sich gerade ein Zertifikat ausgestellt hat.

Hier wird das ganze für eine Synology Diskstation beschrieben. Das Prinzip ist in deinem Fall das gleiche, nur die Hardware eine andere. Wenn du das Arch- und Synologyspezifische wegläßt und auf deinen Fall ummünzt, kannst du die Anleitung dafür benutzen, das so bei dir zu installieren. Wenn du dir nicht sicher bist, was welcher Befehl macht, frag lieber vorher hier noch mal nach … oder erstell zumindest ein Backup vor dem Ausprobieren. ;)

Ach so, der DynDNS-Anbieter … hrm, die Methode sollte unabhängig vom Anbieter funktionieren. Kommt die Einschränkung mit den 30 Tagen wirklich durch noip oder nicht eher durch Let’s Encrypt selbst?
Persönlich benutze ich seit ein paar Jahren https://freedns.afraid.org/ und bin absolut zufrieden.
 
Zuletzt bearbeitet:
jep danke nochmal, darauf das der loopback blockiert wird wäre ich im Leben nicht gekommen :freaky: gibt wohl auch keine einfache möglichkeit das im speedport zu umgehen... zimlich ungünstig, dann muss ich ja quasi abhänig davon ob ich zuhause bin oder nicht jedes mal die serveradresse ändern...

Ah okey, ich hab das Zertifikat über
Code:
sudo ./letsencrypt-auto
erstellt und einen cron job mit
Code:
 sudo /etc/letsencrypt/letsencrypt-auto certonly --agree-tos --renew-by-default -a webroot --webroot-path /var/www/nextcloud/ -d *host*
erstellt ums automatisch zu erneuern, mit spdns kam dabei eine Fehlermeldung (kann mich nicht mehr ganz dran errinern) aber klang als ob schon zu viele Zertifikate auf diese Domain ausgestellt wurden, muss ich bei gelegenheit nochmal testen mit certonly -a manual :) bei noip hat diese Methode problemlos funktioniert.

Das 30 Tage limit kommt dabei dadurch das ich die kostenlose version von noip verwende, da sind die hostnames grundsätzlich auf 30 tage beschränkt. Das letsencrypt zertifkat hält meines wissens ja 3 Monate :)

Aber sonst funktioniert alles, hab nur noch die Warnung
Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „15552000“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren Sicherheitshinweisen erläutert ist.
obwohl ich eigentlich in der apache2.conf
<VirtualHost *:443>
ServerName *host*
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
</VirtualHost>
<Directory /var/www/nextcloud>
AllowOverride All
</Directory>
eingefügt hab :confused_alt: hast du zufällg noch ne idee dazu? danke schonmal :)
 
Kyotetsu schrieb:
gibt wohl auch keine einfache möglichkeit das im speedport zu umgehen... zimlich ungünstig, dann muss ich ja quasi abhänig davon ob ich zuhause bin oder nicht jedes mal die serveradresse ändern...

Zu Hause möchte man den Umweg durch das halbe Internet über den DynDNS-Namen ja nicht gehen, da kann man lokal zugreifen. Den DynDNS-Namen brauchst du ja nur, wenn du draußen unterwegs bist, also nicht im eigenen LAN.

Kyotetsu schrieb:
Ah okey, ich hab das Zertifikat über
Code:
sudo ./letsencrypt-auto
erstellt und einen cron job mit
Code:
 sudo /etc/letsencrypt/letsencrypt-auto certonly --agree-tos --renew-by-default -a webroot --webroot-path /var/www/nextcloud/ -d *host*
erstellt ums automatisch zu erneuern, mit spdns kam dabei eine Fehlermeldung (kann mich nicht mehr ganz dran errinern) aber klang als ob schon zu viele Zertifikate auf diese Domain ausgestellt wurden, muss ich bei gelegenheit nochmal testen mit certonly -a manual :) bei noip hat diese Methode problemlos funktioniert.

Hrm, ich hätte erst mal probiert, ob es grundsätzlich mit dieser Methode funktioniert, und wenn ja, dann den Cronjob angelegt.

Kyotetsu schrieb:
Das 30 Tage limit kommt dabei dadurch das ich die kostenlose version von noip verwende, da sind die hostnames grundsätzlich auf 30 tage beschränkt. Das letsencrypt zertifkat hält meines wissens ja 3 Monate :)

https://www.noip.com/support/faq/fr...y-did-my-free-hostname-expire-or-get-deleted/

Das heißt, man muß innerhalb von 30 Tagen mindestens einmal die Zuordnung des Hostnamens zu einer IP aktualisieren. Da sich deine IP bei klassischem DSL aber sowieso alle 24 Stunden ändert, sollte das also nicht ins Gewicht fallen. Bei VDSL dagegen kommt es auf den Anbieter an. Manche trennen nach 24 Stunden, manche nach 6 Wochen. Das länge dann über den 30 Tagen. Welchen Anbieter hast du mit welchem Tarif? Hast du den Benutzernamen und das Kennwort von noip im Speedport hinterlegt und ihn angewiesen, bei einem IP-Wechsel automatisch die Aktualisierung bei noip vorzunehmen?

Kyotetsu schrieb:
Aber sonst funktioniert alles, hab nur noch die Warnung
Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „15552000“ Sekunden eingestellt. Für mehr Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren Sicherheitshinweisen erläutert ist.
obwohl ich eigentlich in der apache2.conf
<VirtualHost *:443>
ServerName *host*
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>
</VirtualHost>
<Directory /var/www/nextcloud>
AllowOverride All
</Directory>
eingefügt hab :confused_alt: hast du zufällg noch ne idee dazu? danke schonmal :)

Die Fehlermeldung führt zu https://doc.owncloud.org/server/9.1...n_server/harden_server.html#enable-hsts-label und der Ratschlag dort deckt sich fast eins zu eins mit dem, was du bei dir eingetragen hast. Der Wert für die Sekunden ist ein anderer, außerdem steht nach dem includeSubDomains; kein preload. Keine Ahnung, ob es daran liegt, man kann es ja mal mit genau den Werten aus dem Vorschlag probieren.

Wenn du dich über’s Mobilnetz zu deinem DynDNS-Namen und Nextcloud auf dem Raspi verbindest, kannst du dir dann mal das Zertifikat mit sämtlichen Informationen und Reitern anschauen? Sieht dann alles ähnlich aus wie bei anderen Seiten, die Let’s Encrypt nutzen, z. B. https://thomas-leister.de?
 
DeusoftheWired schrieb:
Zu Hause möchte man den Umweg durch das halbe Internet über den DynDNS-Namen ja nicht gehen, da kann man lokal zugreifen. Den DynDNS-Namen brauchst du ja nur, wenn du draußen unterwegs bist, also nicht im eigenen LAN.
aber ich müsste ja z.B. in der app oder dem desktop client jedes mal umstellen ob er sich jetzt über die dyndns adresse oder die lan ip verbindet?


DeusoftheWired schrieb:
https://www.noip.com/support/faq/fr...y-did-my-free-hostname-expire-or-get-deleted/

Das heißt, man muß innerhalb von 30 Tagen mindestens einmal die Zuordnung des Hostnamens zu einer IP aktualisieren. Da sich deine IP bei klassischem DSL aber sowieso alle 24 Stunden ändert, sollte das also nicht ins Gewicht fallen. Bei VDSL dagegen kommt es auf den Anbieter an. Manche trennen nach 24 Stunden, manche nach 6 Wochen. Das länge dann über den 30 Tagen. Welchen Anbieter hast du mit welchem Tarif? Hast du den Benutzernamen und das Kennwort von noip im Speedport hinterlegt und ihn angewiesen, bei einem IP-Wechsel automatisch die Aktualisierung bei noip vorzunehmen?

hab einen ftth anschluss von der Telecom, hab auf dem pi den noip client installiert und über crontab in den autostart gepackt, der updated alle 30 minuten die ip adresse :)

DeusoftheWired schrieb:
Die Fehlermeldung führt zu https://doc.owncloud.org/server/9.1...n_server/harden_server.html#enable-hsts-label und der Ratschlag dort deckt sich fast eins zu eins mit dem, was du bei dir eingetragen hast. Der Wert für die Sekunden ist ein anderer, außerdem steht nach dem includeSubDomains; kein preload. Keine Ahnung, ob es daran liegt, man kann es ja mal mit genau den Werten aus dem Vorschlag probieren.
genau die Seite hab ich auch gefunden, habs schon 1:1 so probiert wie es dort aufgeführt, kein unterschied. jetzt hab ich mal probiert das ganze einfach so in die config.php einzufügen also ohne <VirtualHost *:443> </VirtualHost> und auf einmal funktioniert es :confused_alt:

DeusoftheWired schrieb:
Wenn du dich über’s Mobilnetz zu deinem DynDNS-Namen und Nextcloud auf dem Raspi verbindest, kannst du dir dann mal das Zertifikat mit sämtlichen Informationen und Reitern anschauen? Sieht dann alles ähnlich aus wie bei anderen Seiten, die Let’s Encrypt nutzen, z. B. https://thomas-leister.de?

jep sieht genaso aus, kann dir ja mal den hostnamen per pn schicken wenn dus dir anschauen willst ;)
 
Kyotetsu schrieb:
aber ich müsste ja z.B. in der app oder dem desktop client jedes mal umstellen ob er sich jetzt über die dyndns adresse oder die lan ip verbindet?

Ja, das kann man leider nicht umgehen. :/ Man könnte ’ne Abfrage einbauen, ob man jetzt im heimischen LAN oder draußen ist, das wäre für den Nutzen aber wohl zu viel Aufwand. Mit dem dicken Upload des FttH-Anschlusses fällt das ganze auch nicht so ins Gewicht. Bei großen Videodateien oder wenn es auf geringe Antwortzeiten ankommt, solltest du trotzdem über die interne IP gehen.

Nur noch sicherheitshalber zum Verständnis vom Weg über den DynDNS-Namen oder die interne LAN-IP: Hab vor ~ 1,5 Jahren das in einem ähnlichen Thread mal mit einem hübschen Bildchen visualisiert: https://www.computerbase.de/forum/t...uf-server-im-lan.1442484/page-2#post-16953137

Kyotetsu schrieb:
hab einen ftth anschluss von der Telecom, hab auf dem pi den noip client installiert und über crontab in den autostart gepackt, der updated alle 30 minuten die ip adresse :)

Okay, Client auf dem Raspi geht natürlich auch. Noch ein Stückchen besser wäre es, wenn der Router das automatisch nach einem IP-Wechsel erledigt, denn der bekommt das ja als erster mit. ;) Mit FttH solltest eigentlich sowieso nur noch selten eine Zwangstrennung/IP-Wechsel haben. Hast du im Log des FttH-(Modem-)Routers mal geschaut, in welchen Zeitabständen das überhaupt noch auftritt?

30 Minuten ist Overkill, das würde sogar bei 24 Stunden 47 Mal ins Leere laufen. Kenne noip nicht aus eigener Benutzung, hoffe aber mal, daß die sich nicht beschweren, wenn der Client mehr als x Mal am Tag kontaktiert.

Kyotetsu schrieb:
genau die Seite hab ich auch gefunden, habs schon 1:1 so probiert wie es dort aufgeführt, kein unterschied. jetzt hab ich mal probiert das ganze einfach so in die config.php einzufügen also ohne <VirtualHost *:443> </VirtualHost> und auf einmal funktioniert es :confused_alt:

Warum das so ist, kann ich leider nicht sagen, dafür kenne ich Apachen/Webserverconfigs zu schlecht. Keine Fehlermeldungen mehr ist grundsätzlich besser, aber ob VirtualHost oder nicht, ist schon ein Unterschied. Nach der Erklärung im Ubuntu-Wiki solltest du eigentlich gar keine VirtualHosts brauchen, da du auf der einen Maschine ja nicht mehrere Seiten hostest. Kann natürlich auch sein, daß NextCloud das so haben möchte und man lieber nicht manuell drin rumfummelt. :/

Kyotetsu schrieb:
jep sieht genaso aus, kann dir ja mal den hostnamen per pn schicken wenn dus dir anschauen willst ;)

Danke! Schaue ich mir heute abend vom heimischen Rechner aus mal an, PN kommt dann!
 
Zuletzt bearbeitet:
Hm schade das ist ja echt nervig :/

ok hab dyndns mal im router eingestellt und den client deaktiviert :) die ip ändert sich echt so gut wie nie ;)

werd mich bei den VirtualHosts mal bisschen einlesen, aber wie du sagst gibts ja keine fehlermeldung mehr und der test auf ssl labs gibt ja auch ein A+ aus :D
 
Zurück
Oben