NextCloud Portfreigabe funktioniert nicht?
Hallo,
ich haben mir auf einem RaspberryPi3 B eine NextCloud eingerichtet. Vom Heim-WLan aus funktioniert alles, doch ich möchte sie auch gerne aus dem Internet erreichen.
Ich habe mir einen DynDNS Domain bei No-IP eingerichtet, die Ports 80 und 443 wie verlangt auf meinem Telekom Speedport freigegeben (TCP) und auf demselben Gerät natürlich auch DynDNS aktiviert (die No-IP Adresse wird auch als registeriert angezeigt). Trotz allem erhalte ich eine Fehlermeldung bei [letsencrypt], wenn ich im NC-wizard die Freigabe erteilen möchte. In der Systeminfo der NextCloud werden mir die Ports sogar als geschlossen angezeigt.
Kann mir jemand weiterhelfen?
Viele Grüße
.
sind denn die Ports 80 und 443 in der Firewall freigegeben?
Ich hab sie in der Portfreischaltung freigegeben. Wie gibt man sie denn in der Firewall frei?
2 Antworten
Genau genommen machst Du die Portfreigabe für den Webserver, nicht für Nextcloud.
Ich habe mir einen DynDNS Domain bei No-IP eingerichtet, die Ports 80 und 443 wie verlangt auf meinem Telekom Speedport freigegeben (TCP) und auf demselben Gerät natürlich auch DynDNS aktiviert (die No-IP Adresse wird auch als registeriert angezeigt).
So weit alles korrekt.
In der Systeminfo der NextCloud werden mir die Ports sogar als geschlossen angezeigt.
Eine Systeminfo von Nextcloud kenne ich nicht.
Bei welchem Internetprovider bist Du? Möglicherweise arbeitet der mit DS Lite bzw. CG NAT. Das bedeutet, dass Du per IPv4 nicht über das Internet erreichbar ist.
Per IPv6 würde das funktionieren. Dazu muss aber der DynDNS-Provider IPv6 unterstützten (ich glaube, das ist bei No-IP nicht der Fall), außerdem muss das Update beim DynDNS-Provider vom Pi gemacht werden und nicht vom Router. Router und Pi haben unterschiedliche IPv6-Adressen. Macht der Router das Update, zeigt Dein Hostname auf die Adresse des Routers und nicht auf die des Pi.
Ich verwende hier dynv6.com als DynDNS-Dienst, die Aktualisierung erfolgt mit inadyn-mt.
Wenn Du die Erreichbarkeit per IPv4 benötigst, musst Du ein hässliches Tunnelkonstrukt bauen. Eine Suchmaschine hilft da weiter. Ich selbst habe da keine Erfahrung.
Ich habe hier Nextcloud manuell installiert, deshalb kenne ich die "Beigaben" von NextcloudPi nicht.
Das Thema Firewall, was andere hier ansprechen, ist aus zwei Gründen kein Thema. Wenn eine Firewall Port 80 und 443 blocken würden, würde Nextcloud im LAN nicht erreichbar sein. Außerdem hast Du NextcloudPi, da wäre es ziemlich dumm vom NextcloudPi-Team, wenn dort die Firewall unpassend konfiguriert wäre.
Die Telekom macht normalerweise kein CG NAT bzw. DS Lite. Hm. Also schrittweise:
Öffne die Eingabeaufforderung von Windows. Gibt ein:
ping <dein_dyndns_name>
<dein_dyndns_name> musst Du natürlich sinngemäß ersetzen.
Rufe im Browser die Seite wieistmeineip.de auf. Stimmt die IP-Adresse in der Antwort des Ping mit der auf wieistmeineip.de überein?
Als ich mir die Anleitungen dazu durchlas und ansah wirkte das alles viel entspannter in der Handhabung.
Das Betreiben eines eigenen Servers ist immer ein Aufwand. Wenn man sich nicht auskennt, macht es das naturgemäß nicht einfacher. Die Fehlersuche ist dann immer schwierig, weil man nicht genau weiß, wo und wie man suchen soll. Wenn alles funktioniert, ist es gut. Wenn man nicht weiß warum es funktioniert, wird man bei der Fehlerbehebung immer Probleme haben.
Okay, also die IP-Adressen stimmen überein. Aber in der Pingstatistik steht, dass 4/4 Pakete verloren gegangsen sind.
Danke schonmal im Voraus für Deine Geduld und die schnellen Antworten.
Hm, normalerweise würde ich erwarten, dass der Router auf einen Ping antwortet (es wird ja nur Port 80 und 443 auf den Pi weitergeleitet, ein Ping wird vom Router beantwortet). Möglicherweise ist es aber auch normal, dass Dein Router nicht auf den Ping antwortet. Ich kenne da das Verhalten des Speedports nicht.
Jetzt wird es schwierig mit der Ferndiagnose. Da Nextcloud im LAN erreichbar ist, muss das Problem bei der Portweiterleitung liegen. Kannst Du von der Konfiguration des Speedport mal einen Screenshot machen?
Ich hab es mal veruscht, den Server über die NoIP-Domain zu erreichen. Es funktioniert anscheinend!
Ich bekomme aber trotzdem eine Fehlermeldung, wenn NC letsencrypt starten will. Und irgendwie kann ich die Website auch nur über http und nicht über https erreichen.
Ich würde einen Screenshot der Ports, der System Info und dieser letsencrypt-Fehlermedlung reinsenden. Ich sehe hier aber gerade keine Möglichkeit, das in den Kommentar einzublenden, deshalb lade ich es mal auf wetransfer hoch:
Ich hab es mal veruscht, den Server über die NoIP-Domain zu erreichen. Es funktioniert anscheinend!
Das ist schon mal die halbe Miete. Das bedeutet, dass die Konfiguration des Routers vom Grundsatz her funktioniert.
Ich bekomme aber trotzdem eine Fehlermeldung, wenn NC letsencrypt starten will.
Da hat der Certbot ein Problem.
Bitte prüfe die Datei config/config.php im Nextcloud-Verzeichnis. Dort muss es einen Abschnitt geben:
'trusted_domains' =>
array (
0 => 'name1',
1 => 'name2',
),
In diesem Array müssen alle Namen stehen, mit denen Nextcloud aufgerufen werden. Hier muss also auch Dein no-ip-Name stehen.
In derselben Datei muss ein eine Zeile geben:
'overwrite.cli.url' => 'https://dein-no-ip-name',
dein-no-ip-name muss Dein no-ip-Name sein.
Laut Screenshot hat nc-update dies für Dich erledigt, ich möchte aber sicher gehen.
Der certbot bemängelt, dass ihm ein Argument fehlt. In der Fehlermeldung steht -m/--email: expected one argument. Da fehlt wohl eine E-Mail-Adresse? Ich weiß nicht, wie der Certbot arbeitet, vor allem nicht zusammen mit NextcloudPi. Ich nutze hier einen anderen Bot und weiß nicht, was da wie in NextcloudPi verstrickt ist. Aber hier hat jemand dasselbe Problem gelöst: https://help.nextcloud.com/t/nextcloudpi-config-wizard-stops-at-letsencrypt-with-certbot-error/67013/2
Und irgendwie kann ich die Website auch nur über http und nicht über https erreichen.
Was genau heißt das? Welche Meldung gibt der Browser zurück?
Was genau heißt das? Welche Meldung gibt der Browser zurück?
Der Browser gab mir immer zurück, dass dies keine sichere Website ist.
ABER
Die Anweisungen im Link, den Du geschickt hast, hat funktionieren!!! Ich kann Dir gar nicht genug danken!
Jetzt hätte ich nur noch eine letzte Frage, wenn es für Dich kein Problem ist?
-> Jetzt ist ja meine Cloud für jeden erreichbar, der diese Domain kennt. Sollte ich da sicherheitstechnisch noch irgendwas beachten? Nicht, dass ich jetzt mit dem Öffnen der Ports dem gesamten Internet Haus und Hof in mein Heimnetzwerk gewähre.
Der Browser gab mir immer zurück, dass dies keine sichere Website ist.
Das ist ja schon mal was anderes, als "ich kann die Seite per HTTPS nicht erreichen". Dass eine solche Fehlermeldung kommt, liegt am fehlenden Zertifikat. Dass der Certbot ein Problem hat, ist ja deutlich zu sehen gewesen.
Die Anweisungen im Link, den Du geschickt hast, hat funktionieren!!! Ich kann Dir gar nicht genug danken!
Prima! Ich habe nur wortwörtlich nach der Fehlermeldung gesucht.
-> Jetzt ist ja meine Cloud für jeden erreichbar, der diese Domain kennt. Sollte ich da sicherheitstechnisch noch irgendwas beachten?
Ja, eine Menge. Du hast Port 80 und 443 freigeschaltet, andere eventuell auf dem Pi laufenden Dienste sind also nicht erreichbar. Der MySQL-Server sollte nur auf 127.0.0.1 lauschen.
Nach meinem Überblick ist NextcloudPi schon recht solide konfiguriert. Wenn Du Dich dort als Administrator einloggst, kannst Du unter Einstellungen - Übersicht auch sehen, ob da etwas im Argen liegt.
Die Webserverkonfiguration kann man noch optimieren. Anhaltspunkte bietet ein Test von https://www.ssllabs.com/ssltest/
Hallo SirLongstreet,
einige Linux Systeme haben eine eingebaute Firewall.
Ubuntu z.B. hat die Firewall UFW
https://www.heise.de/tipps-tricks/Ubuntu-Firewall-einrichten-4633959.html
Du solltest also einmal prüfen, ob dein System eine Firewall hat und wenn ja, die Ports 80 und 443 freigeben.
Ben
Diese UFW habe ich in den Einstellungen finden können. Die war gar nicht aktiv. Die Ports waren aber dennoch schon freigegeben.
Bereits getan. Hat nicht funktioniert
Im Aktivierungslog der UFW kommt noch folgende Fehlermeldung: ERROR: Couldn't determine iptables version
Ich habe mir direkt das NextCloudPi Image auf die SD Karte für den Pi gezogen. Dort gibt es einerseits die Cloud zum Abspeichern, andererseits das sog. "NextCloudPi Panel". Da gibts dann auch eine Systeminfo.
Mein Internetprovider ist die Telekom. Wie kann ich herausfinden, ob mein Provider diese IPv4 Erreichbarkeit zulässt?
Ich bin nicht sehr belesen bei derlei Themen, bitte entschuldige das. Als ich mir die Anleitungen dazu durchlas und ansah wirkte das alles viel entspannter in der Handhabung.