fritz.box > mit Sub-Domains > Home Server mit Docker und Traefik als Proxy...

Chris81T

Member
Liebe Community,

ich hoffe, ich stelle meine Frage hier ins richtige Forum. Falls nicht - Sorry dafür. Ich möchte euch grundlegend mitgeben, was ich vorhabe und hoffe, dass ich über die Diskussion einen guten Ansatz zur Lösung erhalte :)

Also:
Ich habe eine 7590 Fritzbox als Router zu Hause. Daneben habe ich einen QNap NAS, auf der ich Docker betreibe. Diverse Services wie Openhab oder Node-Red betreibe ich dort als Container und kann diese via http://myqnap.fritz.box:[PORT] (je nach Port den entsprechenden Service) erreichen.

Hier möchte ich nun ansetzen, so dass ich einmal mit selbstsignierten Zertifikaten einen https Verbindungsaufbau nutzen kann und darüber hinaus ohne Portangaben auf die verschiedenen Container zugreifen zu können.

Daher möchte ich Traefik als Proxy Server / weiterer Container auf der QNap betreiben. Einen "offenen" Zugriff von Außen benötige ich nicht. Wenn dann würde ich einen VPN mittels Wireguard aufbauen. Nun ist ja myqnap die Sub-Domain, um auf die QNap zu kommen. Daher dachte ich mir, dass ich eine Traefik Config hinterlege, um wie folgt auf die Services zugreifen zu können:
  • myqnap.fritz.box/openhab
  • myqnap.fritz.box/nodered
  • myqnap.fritz.box/...
Da dies nicht so 100%ig funktionierte, habe ich im Traefik Forum nachgefragt und da kam das Feedback, dass es bei solchen Pfaden zu Problemen kommen kann, falls die zugehörige Anwendung damit nicht sauber zurecht kommt. Die Empfehlung war hier, mit Subdomains zu arbeiten.

Und hier ist mein Problem, dass mir nicht klar ist, wie sich das nun im Fritz-Netzwerk verhält.

Kann man nun sowas wie:
  • openhab.myqnap.fritz.box
  • nodered.myqnap.fritz.box
  • .....myqnap.fritz.box
konfiguieren (sollte ein Proxy - ob Traefik oder Nginx, ... darauf aufsetzen können?), oder ist das gar nicht so möglich, da myqnap die bestehende Subdomain ist und müsste eher sowas werden:
  • openhab.fritz.box
  • nodered.fritz.box
  • ....fritz.box
Falls dies der richtige Ansatz ist, müsste dies wohl in der Fritzbox konfiguriert werden, da die Anfragen ja erstmal in Richtung QNap müssen? Oder müsste quasi alles - *.fritz.box an die QNap geschickt werden, so dass der Proxy / Traefik dann entscheiden kann, was er davon akzeptiert, bzw. als Anfrage weiterleitet?

Zusammenfassend will ich diverse Services innerhalb des Fritz.box-Heimnetzes eines betriebenen Servers unkompliziert erreichen. Für jeden Tipp zur Lösung bin ich dankbar. Vielleicht habt ihr auch ganz andere Ansätze für so ein Szenario genutzt?

Viele Grüße
Christian
 
Ich würde den Ansatz mit eigenem Hostname in der "fritz.box"-Domäne verfolgen; dann sparst Du Dir auch gleich einen zusätzlichen Proxy (Traefik).

Da Du http- bzw. https-Zugriffe machen möchtest wird ein Zugriff ohne Portangaben nur funktionieren, wenn die jeweiligen Portalseiten auf den Standardports 80 bzw. 443 zu erreichen sind. Da wiederrum bedeutet, dass jeder Docker-Container eine eigene IP aus Deinem LAN benötigt und sich nicht mit dem QNAP die IP teilen darf. Das sollte aber nur eine Frage der Konfiguration des jeweilgien Containers sein, im "Bridge-Modus" sollten die eigene IPs bekommen.

Damit wäre der Schritt Anmelden ohne Portnummer erreicht.

Ab dem Moment kannst Du Dir in Deinem internen DNS-Server auch schon direkt eigene (Host-)Namen für Deine Container vergeben; weil alles was eine IP hat, kann einen eigenen Hostnamen haben. Damit erledigen wir den zweiten Schritt.

Der letzte Schritt wäre dann nur noch für die nun jeweils vorhandenen Hostnamen eigene Zertifikate von Deiner CA auszustellen. Und dann kannst Du aus dem eigenen Netz über die Namen und ohne Portnummern auf die jeweiligen Portale der Dienste zugreifen.
 
Alternativ kann man auch einen eigenen DNS-Server für eine eigene Zone laufen lassen, das wird dann aber doch etwas komplexer (allerdings könnte man die Container so belassen, wie sie sind), von daher wäre in Bezug auf...
Zusammenfassend will ich diverse Services innerhalb des Fritz.box-Heimnetzes eines betriebenen Servers unkompliziert erreichen.
... die Lösung von @Barungar zu bevorzugen. Hat allerdings den Nachteil, dass im Falle eines Routerwechsels (z.B. ein anderer Hersteller als AVM), das ganze Konstrukt in sich zusammenfällt, da es kein "fritz.box" mehr gibt.

Keine Ahnung, ob es bei QNAP sowas auch gibt, bei Synology gibt es ein DNS-Server-Paket (welches ich hier auch nutze mit div. Zonen), vllt wäre das ja noch ein gangbarer Weg, aber so wie ich das bisher gesehen hab, ist da bei QNAP eher nix zu finden... Alternativ dazu, hast Du ja ggf. schon irgendwas in die DNS-Richtung an Docker-Container laufen, womit Du sowas vllt schon umsetzen kannst (soweit ich weiss, kann man bei pihole/adguard/etc. oftmals den DNS-Cache manipulieren, so dass man dort einfach eigene Einträge hinterlegen kann, welche dann bei Anfrage an die Clients ausgeliefert werden).

Natürlich gäbe es dann auch noch die Möglichkeit einen richtigen authoritativen DNS-Server (+ggf. Recusor/Resolver) aufzusetzen, aber das hat dann - wenn man nicht sonderlich bewandert ist in solchen Themen - erstmal nichts mehr mit "unkompliziert" zu tun ☺️
 
Hat allerdings den Nachteil, dass im Falle eines Routerwechsels (z.B. ein anderer Hersteller als AVM), das ganze Konstrukt in sich zusammenfällt, da es kein "fritz.box" mehr gibt.
1.) Wer sollte sich einen anderen Router holen wollen?! ;) Im SOHO-Bereich ist AVM in Deutschland Marktführer und wie ich finde, auch zu recht, deren Produkte liefern genau das, was 98% aller User brauchen.
2.) Kann man dann immer noch einen eigenen DNS-Server betreiben mit der Zone "fritz.box". :D
 
Man könnte die betreffenden Container in einem macvlan Netzwerk betreiben. Dann würden die Container wie eigentständige Geräte arbeiten, mit der einzigen Ausnahme, dass die Kommunikation Docker Host<->Macvlan Container nur mit einem Workaround funktioniert.

Was spricht den dagegen Pihole für Domain Overrides einzubinden?
- PiHole kann direkt als Container auf dem QNAP laufen
- PiHole erlaubt beliebige Domain Overrides können anzugegeben
- In PiHole kann der DNS-Server der FB weiterhin als Upstream konfiguriert werden + In der FB kann DHCP so eingestellt werden, dass Pihole als DNS an die Clients verteilt wird.
- ABER: wenn der PiHole Container aus ist, hat das Netzwerk keine Namensauflösung mehr.

Ich setzte Traefik auch als RP für meinen Container-Zoo ein.
 
Erstmal euch vielen Dank für das Feedback :) !

Ich werde mir das in Ruhe später genauer anschauen und bei Bedarf gerne nochmal melden.
 
Hallo zusammen,
nun hab ich nochmal etwas Zeit gefunden und mich dem Thema gewidmet. Neben meiner QNap, welche nicht 24/7 am Start ist, hab ich noch einen Raspberry PI 3 24/7 laufen. Auf dem habe ich nun einen Bind9 am laufen und kann so sauber mit meinen Sub Domains (Ja, fritz.box ist es nicht mehr, sondern nutze meine eigene Domain) die entsprechenden Geräte ansteuern.

Vielen Dank nochmal für euren Input. Damit wurde ich an die richtigen Stellen gelenkt, um nun eine Lösung am Start zu haben.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.517
Beiträge
46.325
Mitglieder
4.148
Neuestes Mitglied
Buddha
Zurück
Oben