NextCloud Portfreigabe funktioniert nicht?


04.01.2021, 17:40

.

Ben Sellin  04.01.2021, 14:22

sind denn die Ports 80 und 443 in der Firewall freigegeben?

UltimateFox 
Fragesteller
 04.01.2021, 14:23

Ich hab sie in der Portfreischaltung freigegeben. Wie gibt man sie denn in der Firewall frei?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.


UltimateFox 
Fragesteller
 04.01.2021, 16:17

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.

0
franzhartwig  04.01.2021, 16:33
@UltimateFox

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.

1
UltimateFox 
Fragesteller
 04.01.2021, 16:46
@franzhartwig

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.

0
franzhartwig  04.01.2021, 17:03
@UltimateFox

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?

1
UltimateFox 
Fragesteller
 04.01.2021, 17:17
@franzhartwig

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:

https://we.tl/t-EYaMrWmLcH

0
franzhartwig  04.01.2021, 19:48
@UltimateFox
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?

1
UltimateFox 
Fragesteller
 05.01.2021, 20:19
@franzhartwig
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.

0
franzhartwig  05.01.2021, 22:11
@UltimateFox
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/

1

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


UltimateFox 
Fragesteller
 04.01.2021, 16:19

Diese UFW habe ich in den Einstellungen finden können. Die war gar nicht aktiv. Die Ports waren aber dennoch schon freigegeben.

0
UltimateFox 
Fragesteller
 04.01.2021, 16:23
@Ben Sellin

Bereits getan. Hat nicht funktioniert

Im Aktivierungslog der UFW kommt noch folgende Fehlermeldung: ERROR: Couldn't determine iptables version

0
Letgamer  04.01.2021, 17:17

normalerweise ist es auch iptables

0