ownCloud Portweiterleitung | ich bin am verzweifeln

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi Community,

    mit diesem Tutorial habe ich owncloud 8.2 auf meinem Pi installiert (nginx Server)

    Alles läuft so wie es soll, in meinem LAN kommte ich auf die ownCloud Startseite vom Pi. (Ich geben die lokale IP des Pi's im Broser ein)

    Wie kann ich nun von außerhalb darauf zugreifen?

    In der nginx konfiguration habe ich statt der lokalen IP (wie im Tutorial) des Pi die öffentliche IP des Routers eingetragen:

    nginx_konfiguration.png


    Eine Portweiterleitung an den Pi über Port 80 habe ich auch eingerichtet: (Router ZTE ZXHN H367N von Tele 2)

    portweiterleitung.png


    Wenn dann die öffentliche IP des Routers aufgerufen wird müsste der Router die Anfrage ja an den Pi weiterleiten, damit ich auf ownCloud komme.
    Tut er aber nicht.

    Gebe ich die öffentliche IP des Routers vom LAN aus in den Browser ein lande ich auf meiner Routerkonfiguration.
    Gebe ich die öffentliche IP des Routers von "außerhalb" in einen Browser ein verläuft die Anfrage ins Leere.

    :wallbash: :wallbash:

    Was kann ich hier tun? Ich weis echt nicht mehr weiter.
    Wenn ich über yougetsignal.com prüfe ob auf meiner öffentlichen IP der Port 80 frei ist steht da dass er closed ist.

  • ownCloud Portweiterleitung | ich bin am verzweifeln? Schau mal ob du hier fündig wirst!

  • Zum ersten: Ich bezweifle mal, dass es richtig ist, die öffentliche IP im Server einzutragen. Öffentliche IPs sind in der Regel nicht fix sondern wechseln von Zeit zu Zeit. Diese IP fest irgendwo einzutragen ist also in aller Regel verkehrt. Du wirst nicht drum herum kommen, dir eine DDNS zu besorgen (entweder bei DynDNS oder NoIP oder anderem Anbieter). Ich würde vermuten, dass am nginx dann auch eher eine lokale Adresse einzutragen ist, da alles hinter dem Router zum lokalen Netzwerk gehört. Wie gesagt, das ist eine Vermutung, da ich mich mit nginx überhaupt nicht auskenne.

    Zum zweiten: Port 80 ist http. Ich würde zwingend anraten, alle Zugriffe von außen über https durchzuführen. Es gibt genügend Anleitungen, wie man sich selber das dafür nötige Zertifikat erstellen kann. Dann wäre der benötigte Port 443. Da aber dein Router (mit ziemlicher Wahrscheinlichkeit) diesen Port benützt, um über https erreichbar zu sein, musst du die Anfragen auf einen alternativen Port (z.B. 450) weiterleiten. Das selbe gilt natürlich auch für Port 80 bei Verbindung über http. Auch hier müsstest du einen Alternativport verwenden. Vergewissere dich aber auch alle Fälle, dass du einen noch unbenutzten Port verwendest. Du musst also im Router eine Weiterleitung TCP von Port 443 auf 450 Port 450 auf 443 einrichten. Der Zugriff von außen erfolgt dann über die URL: https://deine-dyndns-adresse:450/owncloud, wobei "owncloud" natürlich durch den richtigen Verzeichnisnamen bzw. Pfad zu ersetzen ist.

    Das alles vorbehaltlich sonstiger unbekannter Umstände, die eine Verbindung verhindern könnten.

    Nachtrag: Post bearbeitet zwecks Korrektur.

  • Einen DDNS Dienst einzurichten ist das kleinste Problem. Um diese Fehlerquelle auszuschließen wollte ich es erstmal direkt über die IP zum laufen kriegen. (Mit dem Wissen dass die sich alle 24h/nach Router reboot ändert)

    Genauso mit https. Klar: https > http.
    Aber erst soll die Burg funktionieren, dann wird die Zugbrücke hochgezogen.
    Wenn ich es über http nicht zum laufen kriege brauche ich mit https nicht anfangen.
    Übrigens wird ein https Zertifikat in dem Tutorial erstellt. Der ownCloud Server sollte aber beides können.

    Ich habe den leisen Verdacht dass mein ISP die Routerfirmware für Port 80 Weiterleitungen dicht gemacht hat.
    Es ist einfach so als würde die Portweiterleitung rein garnichts tun. Ich merke nirgends einen Unterschied ob ich sie an hab oder nicht.

    Werde meinen RasPi mal bei einem Bekannten testen. Evtl zieh ich das ganze mit Apache nochmal neu auf.
    Ich kenne mich mit Netzwerkkram einfach 0 aus :(


  • Ich habe den leisen Verdacht dass mein ISP die Routerfirmware für Port 80 Weiterleitungen dicht gemacht hat.
    Es ist einfach so als würde die Portweiterleitung rein garnichts tun. Ich merke nirgends einen Unterschied ob ich sie an hab oder nicht.

    Du könntest auf deinem PI bzw. Router, auch mit einem Testserver und einem anderen weitergeleiteten Port versuchen. Z. B.:

    Code
    python -m SimpleHTTPServer 8888


    (oder mind. gleichwertig) und einen Portscan auf deine externe/öffentliche IPv4-Adresse + Port 8888, von einem anderen/fremden Internetanschluss.
    Zwecks externe IPv4-Adresse, siehe auf deinem PI die Ausgabe von:

    Code
    host -t A myip.opendns.com 208.67.222.222


    oder

    Code
    nslookup myip.opendns.com 208.67.222.222

    Was für einen Tarif hast Du bei Tele2? Ist das ein Tarif (ohne CGN) mit nativer externer/öffentlicher IPv4-Adresse (für deinen Router)?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Uuups! Ich hatte in meinem Beitrag oben einen Fehler drin. Die Weiterleitung muss natürlich im beschriebenen Szenario Port 450 auf Port 443 lauten und nicht umgekehrt. Sorry, mea culpa!

    @ Doomkeks
    Lies dir das mal durch. Das sollte schon mal etwas Licht ins Dunkel bringen.


    Einen DDNS Dienst einzurichten ist das kleinste Problem. Um diese Fehlerquelle auszuschließen wollte ich es erstmal direkt über die IP zum laufen kriegen. (Mit dem Wissen dass die sich alle 24h/nach Router reboot ändert)

    Genauso mit https. Klar: https > http.
    Aber erst soll die Burg funktionieren, dann wird die Zugbrücke hochgezogen.
    Wenn ich es über http nicht zum laufen kriege brauche ich mit https nicht anfangen.
    Übrigens wird ein https Zertifikat in dem Tutorial erstellt. Der ownCloud Server sollte aber beides können.

    Ohne das Tutorial zu kennen, nach dem du das eingerichtet hast, würde ich vermuten, dass in owncloud eine Rewrite rule auf https eingerichtet ist. Anders würde es keinen Sinn machen, ein Zertifikat zu erstellen. Du hast also auch bei einer per http initiierten Verbindung mit https zu tun, da automatisch auf https umgeschaltet wird. Du musst dich also zwingend auch mit der Zugbrücke auseinander setzen, um in die Burg zu gelangen. ;)

  • Nach unzähligen Stunden rumprobieren habe ich es nun endlich hingekriegt von Außerhalb auf den Pi zuzugreifen :bravo2: :bravo2: :bravo2:

    Ich war echt kurz davor das alles gegen die Wand zu knallen. :@
    Danke nochmal an Tiroler, der Port 443 war der entscheidende Tipp!

    Bin überzeugt dass mein ISP die Portweiterleitung an Port 80 im Router unter der Haube gesperrt hat.
    Habe nun eine über Port 443 eingerichtet und es läuft.

    Wenn ich Port 80 aufmache und mit yougetsignal.com prüfe ob er offen ist kommt immer "closed".
    Hab dann mal einfach einen anderen Port aufgemacht und mit yougetsignal.com getestet - siehe da -> "open".

    Das müsste heißen dass ich Port 80 garnicht aufmachen kann.

    Mein DDNS funktioniert auch (selfhost.de). In der nginx Config steht bei den server_names die URL meines DDNS Services.
    Dumm nur dass mein Router für selfhost.de keine automatische Aktualisierung unterstützt.
    Lediglich "dyndns", "DtDNS" und "dipc" werden unterstützt. (könnte das im routerconfig file ändern, aber das ist verschachtelt gezippt. Kann man mit einem python Skript knacken aber das is mir zu aufwendig.)

  • :thumbs1: Fein dass es jetzt funktioniert!


    Mein DDNS funktioniert auch (selfhost.de). In der nginx Config steht bei den server_names die URL meines DDNS Services.
    Dumm nur dass mein Router für selfhost.de keine automatische Aktualisierung unterstützt.
    Lediglich "dyndns", "DtDNS" und "dipc" werden unterstützt. (könnte das im routerconfig file ändern, aber das ist verschachtelt gezippt. Kann man mit einem python Skript knacken aber das is mir zu aufwendig.)

    Du könntest dir auch eine DDNS bei NoIP holen (bis zu 5 Hosts sind gratis). Die bieten auch einen Client für Linux an, der das automatische Aktualisieren übernimmt. Dann muss das nicht mehr der Router machen.

    Nachtrag
    Da fällt mir noch etwas ein: Ist in deinem Router die Fernwartung aktiviert? Dann kann es sein, dass der Port 80 deswegen nicht weitergeleitet werden kann, da er für die Fernwartung benötigt wird.

  • Ja, das mit der Fernwartung kann gut möglich sein.

    Hab schon gesehen, dass hier im Forum ne Anleitung ist wie der Pi die No-Ip Aktualisierung macht. Das schaue ich mir bei Gelegenheit mal an.
    Im Moment stört sich ownCloud dran dass die angeschlossene NTFS Platte noch für andere Nutzer Zugriffsrechte hat, aber das krieg ich bestimmt noch hin.

    Langfristig werde ich ohnehin auf einen Banana-Pi umrüsten weil der für Cloudserver Kram viel besser geeignet ist ;)
    Danke nochmal.


  • Dumm nur dass mein Router für selfhost.de keine automatische Aktualisierung unterstützt.

    Evtl. ddclient auf deinem PI, als ddns-Client für selfhost.de nutzen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • Nach unzähligen Stunden rumprobieren habe ich es nun endlich hingekriegt von Außerhalb auf den Pi zuzugreifen :bravo2: :bravo2: :bravo2:

    Danke nochmal an Tiroler, der Port 443 war der entscheidende Tipp!

    Ich bekomme es einfach nicht gebacken habe eine "xxxxxx.dnshome.de" Adresse, den Port 443 habe ich auch weitergeleitet zum Pi, wenn ich jetzt auf dem Handy bei der Serveradresse
    "https://xxxxxx.dnshome.de/remote.php/cal…pers%C3%B6nlich" eingebe, als Benuter Test und das richtige Passwort, dann bekomme ich die Fehlermeldung, das dieses keine Gültige Caldav-Adresse ist. Kann mir einer sagen, wo mein Fehler ist?

    Andreas

  • Hast du den Server auf dem Pi eigentlich dahingehend konfiguriert, dass SSL verwendet wird? Zertifikat ist erstellt/hinzugefügt? Normalerweise müsste, bei richtiger Konfiguration, auch bei Zugriff über http automatisch auf https umgestellt werden.

  • Hm, schwierig so aus der Ferne.

    Was ich noch anmerken wollte: in die trusted_domains gehört natürlich auch die lokale Adresse eingetragen.
    Es könnte natürlich auch sein, dass der Port 443 schon anderweitig belegt ist. Dann könntest du auf einen anderen Port ausweichen. Also z.B. Weiterleitung von Port 450 auf Port 443. Die Adresse musst du dann anpassen: "http://xxxxxx.dnshome.de:450/remote.php/cal…pers%C3%B6nlich"

    Wo kommt eigentlich dieses "%C3%B6" in "/pers%C3%B6nlich" her – ist da etwa ein Umlaut in der Adresse? Überhaupt kommt mir die Adresse etwas ungewöhnlich vor. Die owncloud CalDAV-Links sehen normalerweise anders aus. Wie kommst du zu dieser Adresse?

  • so also lange Rede kurzer Sinn, ich hatte heute die Schna..., voll nachdem ich noch ein wenig gebastelt habe und es immer noch nicht ging wurde kurzer Prozess gemacht und alles ja alles neu aufgesetzt und was soll ich sagen es lief auf Anhieb :bravo2: . Ich habe nur noch ein paar "Schönheitsfehler" siehe Anhang, aber da muss ich dann mal suchen wie ich die weg bekomme. Der Link den ich hier gepostet habe, der ist aus dem Kalender von CalDav und ja der Kalender heißt "persönlich" aber es läuft :D :D

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!