zu Doof: Port freigabe auf lokalen Port - Fritzbox -> Synology

Token001

Banned
Registriert
Nov. 2020
Beiträge
10
Hallo zusammen,
ich stehe gerade irgendwie auf dem Schlauch.
Also ich habe ein lokales Wiki unter Port: 6875 - erreiche ich unter der IP Addresse auch 1a

Jetzt habe ich eine Domain welche auf die Fritz box umgeleitet wird und dort wird auch ein HTTPS Port auf die Synology umgeleitet.

Jetzt dachte ich mir kein Thema nehme ich Port 6875 in die Port Weiterleitung mit auf und dann wird das ja auf die Synology weiter gereicht...

Geht aber nicht.
2021-07-02_11h53_43.jpg

Was mach ich denn da gerade falsch?

Danke und Gruß
 
Port extern 443 auf intern ipwebserver Port 6875.

Also so, wenn ich dirch richtig verstanden habe:
1625220688640.png
 
Port 443 landet auf der Nextcloud. Das soll auch so bleiben :-)

Für das Wiki ( Bookstack ) hab ich noch kein HTTPS.. ist auch nicht soo wichtig.
Analog zu deinem Vorschlag müsste ich doch nur einen anderen Port wählen. Hab jetzt mal 8081 genommen.
Das heißt wenn ich meine.domain:8081 eingebe lande ich auf localhost:6875 oder?

2021-07-02_12h14_50.jpg



Update:
AHA! Gebe ich die IP ein und den Port ein geht es
 
Ja, dafür ist so eine Portweiterleitung auch da.
 
also der Port 6875 ist ein HTTP Port.
localhost:6875 im Heimnetzerk geht

Das heißt, hast du das davor extern über http://deinedomain.tld aufgerufen anstatt über http://deinedomain.tld:6875, und jetzt gehts?

<öffentliche ip>:8081 landet jetzt auf <lokale ip>:6875. Was nicht geht ist die Namensauflösung.
Ich glaub da muss man kurz warten, war das nicht so? :) Dachte wenn das einmal drin ist geht's schneller.

Im privaten Modus geht es jetzt auch mit dem Namen. Nur im Chrome macht er jetzt immer HTTPS draus...

Update:
also jetzt mal vom Handy aus probieret:

<lokale ip> hat die Verbindung abgelehnt.


Versuchen Sie Folgendes:
  • Verbindung prüfen
  • Proxy und Firewall prüfen
ERR_CONNECTION_REFUSED
 
Zuletzt bearbeitet:
Token001 schrieb:
localhost:6875 im Heimnetzerk geht
localhost hat nichts mit dem Heimnetzwerk zu tun, sondern ist ausschließlich lokal auf dem host, daher auch localhost.




Token001 schrieb:
<öffentliche ip>:8081 landet jetzt auf <lokale ip>:6875. Was nicht geht ist die Namensauflösung.
Ich glaub da muss man kurz warten, war das nicht so? :) Dachte wenn das einmal drin ist geht's schneller.
Der Namensauflösung / Domain / DDNS ist der Port egal. Eine Domain löst immer nur auf eine IP-Adresse auf und der Port wird erst hinterher angehängt. Wenn ip:port[/code] funktioniert, wird auch [icode]domain:port funktionieren, wenn die Domain korrekt auf die IP aufgelöst wird.

Token001 schrieb:
ERR_CONNECTION_REFUSED
Das wiederum deutet darauf hin, dass - gesetzt den Fall die Portweiterleitung als solche ist korrekt und auch die Domain löst korrekt auf - das Ziel die Verbindung einfach blockiert. Es gibt ja nicht nur die Firewall im Router, sondern auch die Firewall auf einem PC/Server. Windows blockiert beispielsweise ab Werk alle eingehenden Verbindungen, die von außerhalb des lokalen Netzwerks stammen, also zB aus dem Internet. Hostet man öffentlich erreichbare Dienste auf einem Windows-System muss man demnach die Firewall so einstellen, dass eingehende Verbindungen auf dem jeweiligen Port auch von öffentlichen IP-Adressen erlaubt sind.

ABER: Ich hoffe inständig, dass du weißt was du da tust (und das weißt du offensichtlich nur bedingt, sonst gäbe es den Thread nicht)! Blauäugig irgendwelche Portweiterleitungen ins Heimnetz einzurichten, zudem noch über ungesichertes http, setzt dein Netzwerk einem ungeahnten Risiko aus! Man sollte wirklich nur dann einen heimischen Server ins Internet stellen, wenn man weiß was man tut bzw. der Server und der Dienst entsprechend abgesichert ist! Einfach nur Server starten und Portweiterleitung einrichten, kann fatale Folgen haben.
 
Token001 schrieb:
localhost:6875 im Heimnetzerk geht
Von welchem Client aus hast du das erfolgreich aufgerufen?
Token001 schrieb:
<öffentliche ip>:8081 landet jetzt auf <lokale ip>:6875. Was nicht geht ist die Namensauflösung.
Ich glaub da muss man kurz warten, war das nicht so? :) Dachte wenn das einmal drin ist geht's schneller.
Warten musst du nur, wenn sich deine externe IP ändert und der A-Record im DNS noch nicht nachgezogen hat. Ansonsten klappt das sofort.
Token001 schrieb:
Nur im Chrome macht er jetzt immer HTTPS draus...
Dürfte an HSTS liegen, wobei mich mich mit Bookstack und der Defaultconfig nicht auskenne. Einfach in Chrome mit F12 die Entwickleroptionen öffnen, oben länger auf den Reloadknopf klicken und "Cache leeren und vollständig aktualisieren" klicken. :D
Token001 schrieb:
also jetzt mal vom Handy aus probieret:

<lokale ip> hat die Verbindung abgelehnt.
Bist du im WLAN bzw. selben Netz wie der Bookstack-Host oder hast du das übers Mobilnetz versucht?
Weiterhin kann es gut sein, dass Bookstack initial nur Zugriffe von Localhost (= vom selben Host, auf dem Bookstack selbst läuft) zulässt und alles weitere in einer Configdatei erlaubt werden muss.
 
ABER: Ich hoffe inständig, dass du weißt was du da tust (und das weißt du offensichtlich nur bedingt, sonst gäbe es den Thread nicht)! Blauäugig irgendwelche Portweiterleitungen ins Heimnetz einzurichten, zudem noch über ungesichertes http, setzt dein Netzwerk einem ungeahnten Risiko aus! Man sollte wirklich nur dann einen heimischen Server ins Internet stellen, wenn man weiß was man tut bzw. der Server und der Dienst entsprechend abgesichert ist! Einfach nur Server starten und Portweiterleitung einrichten, kann fatale Folgen haben

ich will das dann schon auf HTTPS umstellen. Ist jetzt erstmal auch nur ein Wiki was wieder gelöscht werden kann.
Das Wiki liegt im Docker und ich vermute mal da fehlt dann tatsächlich lokal noch was, wobei ich nicht ganz verstehe wenn ich das erreiche was da noch das Problem sein könnte.

Von welchem Client aus hast du das erfolgreich aufgerufen?
Heimnetz :-) also im (W)LAN

Dürfte an HSTS liegen, wobei mich mich mit Bookstack und der Defaultconfig nicht auskenne. Einfach in Chrome mit F12 die Entwickleroptionen öffnen, oben länger auf den Reloadknopf klicken und "Cache leeren und vollständig aktualisieren" klicken. :D

Default ist http. aber was du hier sagst:

Bist du im WLAN bzw. selben Netz wie der Bookstack-Host oder hast du das übers Mobilnetz versucht?
Weiterhin kann es gut sein, dass Bookstack initial nur Zugriffe von Localhost (= vom selben Host, auf dem Bookstack selbst läuft) zulässt und alles weitere in einer Configdatei erlaubt werden muss.

Teste das natürlich aus dem WLAN und dem Mobilnetz.

Aber das kann natürlich sein.. dann geh ich mal intern auf Fehlersuche...
 
Wenn Du für die Domaine ein Lets-Encrypt Zertifikat hinterlegt hast, erreichst Du das Wiki über https://deinedomain.tld/wikiname. Dafür benötigst Du nicht einmal eine eigene Portweiterleitung.

Edit: Ich sehe gerade dass das auf der DS als Docker Image läuft und dort nur auf den Port 80 weitergeleitet wird. Also nix mit https, so wie ich das sehe.
 
Zuletzt bearbeitet:
Docker ist noch eine Ebene. Bei Docker wird der Container über ein internes virtuelles Subnetz angebunden (zB 172.17.0.x). Das bedeutet wiederum, dass der Container nicht nativ auf dem Host über dessen IP erreichbar ist, sondern über eine interne Portweiterleitung erreicht wird. Ergo müssen etwaige DROP und ACCEPT Regeln auch in der FORWARD Chain gemacht werden und nicht in der INPUT Chain wie es der Fall wäre, wenn der Server nativ auf dem Host läuft.

Aber ganz allgemein: Wenn die Domain bei "nslookup domain.irgendwas" (oder zB mit dig) auf die korrekte IP auflöst, ist es nur noch eine Frage der Portweiterleitung bzw der lokalen Firewall des Servers.
Also erstmal Domain prüfen, dann die Portweiterleitung und anschließend am Server die Firewall checken. Ob bis zum Server soweit alles klappt, kannst du zB mit tcpdump prüfen, wenn du auf dem lokalen Port des Servers lauschen lässt. Kommen dort Pakete von außen an, ist die Portweiterleitung ok.
 
  • Gefällt mir
Reaktionen: Fenugi
Also das Problem ist gelöst :) danke für die Tipps.

Am Ende habe ich die Portweiterleitung 8081 auf 8081 gemacht. Auf der Synology gibt es einen Reverse Proxy welcher die 8081 auf localhost:6875 im Docker umbiegt. Da gibt man dann noch so eine APP_URL an, die muss dann auch so heißen wie die Domain, Zertifkat hinzugefügt, fertig :D

Wollen wohl nicht, dass man pfuscht.

ich bin happy
 
  • Gefällt mir
Reaktionen: Raijin
Zurück
Oben