Selbstgehostete Dienste aus LAN nicht erreichbar

DerSchalker92

Cadet 4th Year
Registriert
März 2024
Beiträge
70
Hallo zusammen,

mir brummt langsam der Schädel, weil ich einige Probleme mit meinen selbstgehosteten Diensten habe. Folgendes Setup:
  • Domains bei Strato
  • Fritzbox
  • Eine Domain verweist per DDNS (mit Portfreigabe in der Fritzbox usw.) auf einen Reverse Proxy (Nginx Proxy Manager)
  • Die anderen Domains haben eine Weiterleitung auf ihre jeweilige www.-Subdomain und diese Subdomain hat einen CNAME-Eintrag auf die Adresse, die per DDNS auf die Fritzbox verweist
Problem ist, dass bei Strato die kostenlosen SSL-Zertifikate nach und nach auslaufen und ich sie nur kostenpflichtig erneuern kann. Das führt zu folgenden Problemen:
  • Webseiten mit Let's-Encrypt-Zertifikat vom Nginx Proxy Manager sind aus dem lokalen Netz nicht erreichbar wegen eines SSL-Fehlers. Als Ausstellername ist dann u.a. die DDNS-Domain gelistet.
  • Auf dem Handy (Android/Firefox) hat es teilweise auch im lokalen Netz funktioniert, jetzt geht es aber auch nicht mehr.
  • DNS-Rebind-Schutz scheint nicht zu funktionieren. Man trägt dort doch einfach nur die Adressen der Dienste ein, oder?
  • (Dazu kommt noch, dass eine Seite über Firefox/Android nicht erreichbar ist, aber das Problem ist erst Mal nicht so wichtg).
Beobachtungen:
  • Meine Nextcloud-Instanz hört nur auf eine Subdomain. Ich habe dann zwei Zerfikate für sub.domain.de und www.sub.domain.de erstellt und den CNAME-Eintrag auf die DDNS-Adresse gesetzt. Auch dieses Setup funktioniert nicht im lokalen Netz.
  • Wenn ich die Adressen bei ssllabs.com teste, funktioniert nur die IP4-Adresse, die IP6-Adresse zeigt "Unable to connect to the server".
Ich würde mich freuen, wenn ihr Tipps habt. Mir über Strato die SSL-Zertifikate zu holen ist einfach viel zu teuer und ich hoffe, dass ich die Probleme auch anders in den Griff kriegen kann.
 
Zuletzt bearbeitet: (Typo)
  • Gefällt mir
Reaktionen: madmax2010
Wenn du bei diesem Setup die Sachen intern erreichbar haben willst, dann setze intern nochmal dafür DNS Einträge. Idealerweise nur intern. Extern wurde ich fs gar nichts setzen und nur auf ein VPN wie wireguard setzen.


DerSchalker92 schrieb:
Webseiten mit Let's-Encrypt-Zertifikat vom Nginx Proxy Manager sind aus dem lokalen Netz nicht erreichbar wegen eines SSL-Fehlers.

Hole dir aus Security Gründen dort ein Wildcard per DNS über Lets Encrypt.
 
  • Gefällt mir
Reaktionen: madmax2010
Warum nicht unkompliziert und ohne Portfreigabe mit Cloudflare Tunnel ? Keine Zertifikat Probleme, sicherer, einfacher und wesentlich besser zu steuern. Kostenlos.

Alternativ Tailscale. Brauchst keine Domain, hab ich aber mit Nextcloud nicht getestet, könnte mir vorstellen das der Upload leidet (weis ich nicht). Ist dann offiziell überhaupt nicht mehr online erreichbar, sondern über Tailscale im Heimnetz. Oder mit Wireguard deiner FRITZ!Box (hab ich auch nicht ausprobiert)

Ich nutze Cloudflare, null Probleme
 
Zuletzt bearbeitet:
Danke für die schnellen Antworten. Die Dienste müssen "leider" aus dem Netz erreichbar sind, sind u.a. Webseiten für Vereine. Also bleibt nur der weg, die Zertifikate doch extern zu besorgen? Wildcard geht nämlich im NPM nur als DNS Challenge.
 
@DerSchalker92 ich willˋs dir nicht aufschwatzen, aber Cloudflare kann genau das. Habe damit Nextcloud, paar Download Programme, Immich, Seafile etc. Online
 
@SportMönch Ah sorry, dann habe ich das falsch verstanden. Ich dachte es geht um eine Art VPN, aber dann schaue ich mir das morgen in Ruhe an berichte.
 
Doofe Idee, aber wie wäre es einfach einen VServer mit statischer IP (und somit statischen DNS-Einträgen) als Reverse Proxy zu nutzen? Da kannst du dir dann per letsencrypt beliebige CERTs holen und fertig. (Ich bevorzuge für solche setups caddy anstatt nginx, geht aber beides)
 
  • Gefällt mir
Reaktionen: xammu
@DerSchalker92 gucks dir einfach mal an. Ist in 15min eingerichtet und falls du was nicht weist hilft dir jeder ki chatbot detailliert. Danach brauchst du keine eigenen Zertifikate oder sonst was, läuft halt einfach.

Du erreichst deine Dienste dann wie gewohnt über deine Domain. Https über Cloudflare.
Ports in der FRITZ!Box kannste auch alle zu machen.

Mein Freund GPT erklärt:

1️⃣ Cloudflare Dashboard

👉 https://dash.cloudflare.com

Hier machst du alles Wichtige:
  • Domain hinzufügen
  • Tunnel erstellen
  • Public Hostnames festlegen
  • SSL/TLS & Zero Trust verwalten
2️⃣ Cloudflare Zero Trust

3️⃣ Cloudflared Download



Minimaler Ablauf (Praxis)
  1. Domain bei Cloudflare eintragen
  2. Tunnel erstellen (Zero Trust Dashboard)
  3. cloudflared installieren
  4. Dienst zuordnen
Der soll dir dann ne genaue Anleitung machen. Easy
 
Zuletzt bearbeitet:
DerSchalker92 schrieb:
DNS-Rebind-Schutz scheint nicht zu funktionieren. Man trägt dort doch einfach nur die Adressen der Dienste ein, oder?
Nö .. er scheint ja zu funktionieren und macht dir genau diese Probleme.
Domains welche auf die internen IP-Adressen deines Netzwerkes auflösen werden blockiert.
 
  • Gefällt mir
Reaktionen: dafReak
Ich wollte jetzt erst Mal noch mein altes Setup wiederherstellen, bevor ich einen ganz anderen Weg gehe.

Mir ist aufgefallen, dass ich bei aktiviertem VPN (Wireguard) und wenn ich schon in meinem Netzwerk bin, die Dienste alle erreichbar sind. Schalte ich den VPN aus, geht es wieder nicht und ich bekomme einen SSL-Fehler. Wenn ich dann das Zertifikat anzeige, wird dort die als Name die DynDNS-Adresse angezeigt, unter der der Proxy erreichbar ist. Mit VPN wird dann das korrekte Let's-Encrypt-Zertifikat angezeigt.

Kann mir jemand einen Tipp geben, wie ich das Problem weiter eingrenzen kann? Ich hatte jetzt auch ein Paar Mal den Fall, dass es plötzlich doch wieder ging. Es treibt mich echt in den Wahnsinn!
 
SportMönch schrieb:
@DerSchalker92 ich willˋs dir nicht aufschwatzen, aber Cloudflare kann genau das. Habe damit Nextcloud, paar Download Programme, Immich, Seafile etc. Online

Afaik kann es zu Problemen führen, wenn du viel Traffic über CF Tunnel schickst. Guck mal in die AGB, so weit mir gesagt wurde ist Streaming z.B. explizit verboten.
 
Das Problem lag darin, dass die IP6-Freigabe in der Fritzbox nicht (mit Strato) funktioniert. Es wurde immer die IPv
6 der FB übermittel, nicht die der NPMs. Erst Mal habe ich den AAAA-Record manuell mit der IP6-Adresse des Proxy Servers befüllt. Langfristig braucht man aber ein einen DNS-Client oder ein Skripf, z. B. das: https://www.guido-schenk.de/webserver/dyndns-mit-linux-homeserver-ddclient-und-strato-nutzen/

An sich würde es es so gehen, aber Strato versteht anscheinend nicht alle DDDNS-Parameter.
 
@thrawnx ich weis, Streaming ist dafür eigentlich nicht vorgesehen. Funktioniert aber tadellos. Früher oder später wird Cloudflare meckern, aber dann kann ich immernoch umsatteln.
 
Zurück
Oben