Nextcloud nur ├╝ber heimisches WLAN erreichbar trotz ddns.net-Adresse

Hallo zusammen,

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. Host 10.0.17.6 was not connected to because it violates local access rules ┬Ě Issue #188 ┬Ě nextcloud/all-in-one ┬Ě GitHub) 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 :smile:)

W├╝rde mich ├╝ber ein paar L├Âsungsvorschl├Ąge freuen. Vielen Dank schon mal.
Markus

die trusted domain sollte eine URL sein, wenn du von au├čen (ÔÇťanderes WLANÔÇŁ) zugreifen m├Âchtest.

Frage: war das ├╝berhaupt schon mal m├Âglich bei deinem Setup?

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.

schon mal abgeschaltet?


Zumindest wieder deaktiviert in den Apps, nach dem ich sie (weil ich dachte, dass es bestimmt sinnvoll ist :smile:) aktiviert hatte.

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.

1 Like

Oha, ich habe zwar nur halb verstanden, was du meintest :smile: 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?

Leider nein. Die IP-Adresse kann und wird sich ├Ąndern. Ich denke du musst dort die ddns.net-Adresse deiner Nextcloud eintragen. Probiere das mal aus.

Und wenn das klappt: Hast du schon ein SSL-Zertifikat z. B. von Lets Encrypt?

Lese interessante Teile von dieser Anleitung.

Meine config sieht folgenderma├čen aus:

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.

1 Like

Genau das ist ja mein Ziel, alles ├╝ber ddns.net laufen zu lassen :innocent:
Und mit Lets Encrypt w├Ąre das m├Âglich, verstehe ich das richtig?

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.

Okay, hab mir die Anleitung gerade mal durchgelesen.
Was mir aktuell noch unklar ist: Ich soll ganz zum Schluss den domain name anpassen:

sudo certbot certonly --agree-tos --email user@email.com --webroot -w /var/lib/letsencrypt/ -d files.domain-name.io

Was ist denn mein domain name?

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.

Okay, also

sudo certbot certonly --agree-tos --email user@email.com --webroot -w /var/lib/letsencrypt/ -d files.xxx.ddns.net.io

?