bei meiner Nextcloud tritt folgendes Problem auf:
Browserzugriff via IP oder ddns.net-Adresse aus meinem heimischen WLAN funktioniert einwandfrei, sowohl am Laptop als auch am Handy.
Wenn ich mich allerdings in einem anderen WLAN befinde oder an meinem Handy die mobilen Daten aktiviere, erscheint beim ersten Aufrufen die Fehlermeldung “Adresse nicht gefunden”, bei allen weiteren Versuchen “Netzwerk-Zeitüberschreitung”.
Nextcloud v 25.0.2 ist auf einem Raspberry Pi installiert mit Raspberry Pi OS lite 64 bit, der RPi hängt über LAN an meiner Fritzbox dran. Port 443 für HTTPS ist freigegeben.
Betriebssystem: Linux 5.15.76-v8+ aarch64
Prozessor: Raspberry Pi 4 Model B Rev 1.5 (4 cores)
PHP Version: 8.1.13
MariaDB
Apache2
Die letzten Log-Meldungen sehen alle nahezu identisch aus:
[no app in context] Warnung: Host 192.168.178.38 was not connected to because it violates local access rules
GET /index.php/core/preview?fileId=37&x=250&y=250
from 192.168.178.22 by admin at 2023-01-11T07:33:41+00:00
Ich hatte kürzlich Nextcloud Office und den Collabora Document Server installiert und auch die App Brute-force settings. Nun sind diese drei aber wieder deaktiviert, Problem besteht weiterhin.
Habe im Internet (s. https://github.com/nextcloud/all-in-one/issues/188) recherchiert und gelesen, dass man in config.php die IP bei trusted_domains hinzufügen soll, in meinem Fall habe ich 192.168.178.38 hinzugefügt, hat nicht geholfen. Der zweite Tipp 'allow_local_remote_servers' => true, zu ergänzen brachte ebenfalls kein Erfolg (im Gegenteil, als ich beides stehen hatte, konnte ich nextcloud gar nicht mehr aufrufen, also beides wieder entfernt, damit es zumindest aus meinem WLAN geht )
Würde mich über ein paar Lösungsvorschläge freuen. Vielen Dank schon mal.
Markus
Ja, ich konnte bis vor wenigen Tagen von überall darauf zugreifen.
In meiner Fritzbox hatte ich dem RPi immer die gleiche IPv4 zugewiesen. Anschließend habe ich über no-ip.com eine ddns.net-Adresse eingerichtet. Und das hatte wie gesagt bis vor kurzem noch hervorragend funktioniert.
Daher die Vermutung, dass es möglicherweise an Nextcloud Office oder Brute-force settings liegt, was ich ebenfalls vor 2 oder 3 Tagen aktiviert hatte.
OnlyOffice und den Document Server hatte ich auch kurzzeitig aktiviert. Da die ganzen Apps aber nicht so ganz wollten, wie ich wollte, habe ich sie alle wieder deaktiviert.
Möglich, dass dabei irgend etwas schief lief?
Hier und da findet man diese Host violates Warnung auch him Zusammenhang mit Document Server und OnlyOffice (z.B. Nextcloud 19 Onlyoffice 4.30 error:Host violates local access rules und Error when trying to connect (Host violates local access rules)). Aber ich weiß gar nicht, ob diese Warnung überhaupt etwas damit zu tun hat, dass ich nur noch aus dem heimischen WLAN zugreifen kann.
Du schreibst von ddns.net-Adresse aber auch von 192.168.178.38 . Die ddns.net-Adresse muss natürlich auf eine weltweite IP-Adresse, genauer die weltweite IP-Adresse deines Routers verweisen. Warum kommt in den Logs die IP-Adresse aus deinem Fritzbox-Netz 192.168.178.0/24 vor? Port-Forwarding korrekt konfiguriert? Haste du mal den Zugriff von außen probiert? Was sagt die Namensauflösung intern und extern? Auch solltest du sowohl von innen als auch von außen immer nur den ddns.net-Namen verwenden. Stichwort Hairpinning und NAT Loopback.
Oha, ich habe zwar nur halb verstanden, was du meintest aber mit ein bisschen Herumgeklicke klappt es jetzt tatsächlich! Ich glaube, das richtige Stichwort war weltweite IP-Adresse. Also ein dickes Danke an dieser Stelle.
In meiner Fritzbox > Internet > Freigaben tauchte nextcloud wie gewünscht auf. Ein Klick auf den Stift brachte folgendes zutage:
In meiner config.php habe ich dann hinter array noch # => 'IP-ADRESSE IM INTERNET', hinzugefügt. Über diese IP-Adresse kann ich jetzt auch mit mobilen Daten auf meine nextcloud zugreifen.
Bei no-ip.com habe ich dann die IP 192.168.178.38 ersetzt durch die IP-ADRESSE IM INTERNET. Nun klappt es also auch mit ddns.net.
Jetzt stellt sich mir aber doch noch folgende Frage:
Bleibt diese IP-ADRESSE IM INTERNET dauerhaft bestehen oder ändert sie sich (regelmäßig oder nach Neustart der nextcloud oder des Routers)? Das wäre dann sehr ärgerlich, weil ich dann ja jedes mal die config und no-ip anpassen müsste. Also falls sie sich regelmäßig erneuert: Was müsste ich machen, damit ich dauerhaft über ddns.net auf meine nextcloud zugreifen kann?
array ( 0 => '192.168.178.38', 1 => 'XXX.ddns.net', 2 => 'IP-Adresse aus dem Internet', ),
Wenn sich aber die IP-Adresse aus dem Internet regelmäßig ändert, dann wird die Weiterleitung durch no-ip auf meine ddns.net ja nicht mehr funktionieren. Wie ist es denn möglich, dauerhaften Zugriff von außerhalb zu bekommen?
Ein SSL-Zertifikat habe ich noch nicht. Wäre das die Lösung?
Du musst dir abgewöhnen überhaupt die interne IP-Adresse 192.168.178.38 oder die weltweite IP-Adresse a.b.c.d zu verwenden. Du musst - wenn alles läuft - von innen und von außen nur noch XXX.ddns.net nutzen. Das ist vor allen wichtig, wenn du z. B. die Nextcloud-App einsetzt.
Zur Verwendung von Lets Encrypt musst du am Router Port 80 und Port 443 weiterleiten, da Lets Encrypt Port 80 benötigt. Lese die angeführte Anleitung. Ohne SSL wirst du nicht glücklich. Und mit den IP-Adressen sowieso nicht.
Ja. Eigentlich sollte es auch jetzt schon ohne SSL mit http://XXX.ddns.net in Teilen gehen. Aber halte dich dort nicht zu lange mit irgendwelchen Fehlern auf. Nextcloud ist nicht für unverschlüsselte Kommunikationen gedacht. Und halte dich auch nicht mit selbstsignierten Zertifikaten auf. Das gibt am Ende auch nur unschöne Fehlermeldungen. Daher bitte gleich Richtung Lets Encrypt gehen.
Dein Nextcloud-Name also der Subname XXX.ddns.net von deinem DynDNS-Anbieter. Denk daran den Port 80 durchzuleiten, da Lets Encrypt das benötigt. Sonst gibt es einen Fehler.