Fritzbox und Reverse Proxy (z.B. nginx), IPv4 & IPv6, Zugriff auf (Sub-)Domains vom LAN und Internet aus (mögliche Lösung)

  • Hallo zusammen,

    diese Informationen habe ich aus verschiedensten Threads zusammen gesammelt und um meine eigenen Erfahrungen erweitert. Sollten sich mit der Zeit weitere Dinge ergeben, werde ich diesen Post entsprechend aktualisieren, damit möglich alles relevante an einer Stelle steht.

    Wenn Ihr nur von eurem LAN aus auf eure eigenen (selbst ausgedachten) (Sub-)Domains wollt, also keine Verbindung von außen (vom Internet), dann folgt diesem Tutorial:
    [TUT] Lets Encrypt https ohne offene Ports.

    Voraussetzungen für den Zugriff auf euren eigenen Server vom LAN und Internet aus:

    • Ein entsprechend konfigurierter und funktionierender DNS-Eintrag über euren Provider, sodass bei der Domain (z.B. beispiel.de oder DynDNS-Domain) die öffentliche IP eurer Fritzbox (z.B. 123.123.456.123) eingetragen ist.
    • Ein laufendes und funktionierendes Macvlan, entweder mit UGOS Bordmitteln oder entsprechend [TUT] MacVlan konfigurieren - Schritt für Schritt Anleitung.
    • Ein laufenden Reverse Proxy (z.B.nginx) [TUT] Nginx Proxy Manager in Portainer installieren.
    • Die Portweiterleitung ist in der Fritzbox richtig konfiguriert und zeigt auf den Reverse Proxy
    • Eine Konfiguration innerhalb des Reverse Proxy, der Anfragen an die gewünschten Subdomain (z.B. server.beispiel.de) auf euren Server im Docker Container umleitet
    • Zugriff von außen (vom Internet) auf euren Server funktioniert (z.B. server.beispiel.de)

    Auftauchendes Problem:

    • Zugriff vom LAN auf die Subdomain des Servers (z.B. server.beispiel.de) landet auf der Login-Seite der Fritzbox anstatt auf dem Server oder funktioniert nicht.
    • Zugriff auf die Subdomain funktioniert an manchen Tagen, an anderen nicht

    Problemanalyse:

    • Wenn der Zugriff nicht funktioniert: Startet auf Windows die Eingabeaufforderung und pingt die Subdomain eures Server an (z.B. ping server.beispiel.de). Bekommt Ihr ein IPv4-Adresse (z.B. 123.123.456.123) zurück, dann hilft euch nachfolgende Lösung nicht weiter. In dem Fall solltet Ihr eure Routereinstellungen nochmal überprüfen (insbesondere Port-Forwarding). Bekommt Ihr eine IPv6-Adresse (z.B.: 2003:17ff:f8:2a35:fefd:35ff:eabd:3210) zurück, dann hilft euch nachfolgende Lösung.

    Lösung:

    • Deaktivieren von IPv6. Bei der Fritzbox geht das auf zwei Arten:
      1. Internet->Zugangsdaten->IPv6, Haken bei "IPv6-Unterstützung aktiv" entfernen
      2. Heimnetz->Netzwerk->Netzwerkeinstellungen, runterscrollen bis "IPv6-Einstellungen", Haken bei "Router Advertisement im LAN aktiv" entfernen, evtl. auch Haken bei "DNSv6-Server im Heimnetz" entfernen

    Erläuterung:

    Router unterstützen meist IPv4 und IPv6. Vom Provider wird der Fritzbox deswegen meist eine öffentliche IPv4- und IPv6-Adresse zugewiesen. Der DNS-Eintrag der Domain (z.B. beispiel.de) zeigt daher sowohl auf die öffentliche IPv4- als auch die IPv6-Adresse der Fritzbox.
    Per Default sind die in nginx konfigurierten Server nur über IPv4 erreichbar (keine IPv6-Adresse). Auch nginx ist nur über eine IPv4-Adresse erreichbar. Das Port-Forwarding der Fritzbox zeigt dann auch genau auf die IPv4-Adresse von nginx (oder sollte zumindest so konfiguriert sein).
    Vom Internet aus ist das kein Problem, da der DNS-Server im Internet über den Provider zur Fritzbox leitet, die das Routing übernimmt und nginx die Verteilung an die Server entsprechend der Subdomain (z.B. server.beispiel.de).
    Erfolgt der Zugriff aus dem LAN aus, sieht die Sache anders aus: Beim Aufruf der Subdomain im Webbrowser passiert folgendes: Der PC kennt die Subdomain nicht und fragt bei der Fritzbox nach. Die Fritzbox selbst kennt die Subdomain (z.B. server.beispiel.de) auch nicht und fragt daher beim DNS-Server im Internet nach. Der DNS-Eintrag im Internet zeigt auf die öffentliche IPv6-Adresse der Fritzbox. Die Fritzbox wird also direkt angesprochen. Da für IPv6 kein Port-Forwarding aktiviert ist, wird der Zugriffswunsch nicht weitergeleitet, sondern bleibt hängen.

    Ich hoffe, die Erläuterung ist einigermaßen verständlich.

    Wenn jemand weitere Informationen zu IPv6 hat, die hier helfen könnte, nur her damit. Ich integriere sie gerne.

    Edited once, last by Klonk (June 12, 2025 at 4:05 PM).

  • Die Fritzbox selbst kennt die Subdomain (z.B. server.beispiel.de) auch nicht und fragt daher beim DNS-Server im Internet nach. Der DNS-Eintrag im Internet zeigt auf die öffentliche IPv6-Adresse der Fritzbox.

    Sollte das eigentlich nicht der Rebind Schutz im Router wiederum abfangen und das ganze geht garnicht erst ins Internet raus? Oder irre ich mich da?

    Meine Hardware

    DXP4800+ 2x8TB WDRedPl Btrfs Raid1 2x 2TB NVME Lexar NM790 Raid1, 64GB RAM Kingst. KVR48S40BD8-32 DDR5/4800MH

    DXP2800 1x 12TB Seag. 1x 12TB WDRedPl, Raid1 Btrfs 16GB RAM Crucial CT16G56C46S5.C8B2, 2x NVME Samsg,

    DS1525+ 2x8TB WD, Btrfs SHR, 2x 2TB NVME Lexar NM790 Raid1. 40GB ECC RAM_Speicher.de

    DS920+ DSM 7.3.2 Btrfs Raid1 2x8TB WD, 2x2TB NVME Samsg. 970 EVOPlus, RAM 20GB DDR4-2666MHZ Speicher.de

    USV UGREEN US3000, EatonEllip.PRO 850DIN, Switch Zyxel GS1200-8 1GB, Zyxel XMG-108 8 x 2,5GB

  • Zum Thema IPv6:

    Ich habe weiter experimentiert und versucht mit IPv6 weiter zu kommen. Meine Vermutung (siehe oben) ist ja, dass die IPv6 Anfrage nicht weitergeleitet wird.

    Das habe ich bisher unternommen:

    • IPv6 Adressbereich und Gateway ermittelt (gar nicht so einfach, muss man echt suchen; findet man in der IPv6-Konfiuration der Fritzbox)
    • Macvlan um IPv6 erweitert (entsprechenden Adressbereich mit Gateway definiert)
    • Beim nginx compose script eine IPv6-Adresse zusätzlich eingetragen (ipv6_adress: ...:1000 )
    • nginx auf der IPv6-Adresse angepingt -> kommt an -> ist erreichbar über IPv6
    • In der Fritzbox Portfreigaben für nginx gelöscht und neu angelegt, dabei darauf geachtet, dass auch IPv6 Freigaben entstehen
    • Auf der nginx-Weboberfläche habe ich für die Subdomain server.beispiel.de die IPv6 Adresse als Weiterleitungsadresse eingetragen.
    • Beim searxng (mein Testserver) compose script eine IPv6-Adresse zusätzlich eingetragen (ipv6_adress: ...:1100 )
    • searxmg auf der IPv6-Adresse angepingt -> kommt an -> ist erreichbar über IPv6

    Beim Aufruf der Subdomain server.beispiel.de von außen funktioniert immer noch alles einwandfrei.

    Beim Aufruf im LAN lande ich auf der Fritzbox.

    Es scheint also nicht an einer fehlenden Portweiterleitung für IPv6 zu liegen. Hat jemand Ideen? Vielleicht irgendwelche nginx settings?

    P.S: versteht mich nicht falsch, ich kann auch mit dem Abschalten von IPv6 leben. Aber ich möchte wissen, ob man es nicht doch irgendwie mit eingeschaltetem IPv6 hinbekommen kann ;)

  • Sollte das eigentlich nicht der Rebind Schutz im Router wiederum abfangen und das ganze geht garnicht erst ins Internet raus? Oder irre ich mich da?

    Ob ich den setze oder nicht, macht keinen Unterschied im Ergebnis.

    Den Rebind-Schutz würde ich nur dann setzen, wenn eine entsprechende Meldung kommt, sonst nicht. Bisher ist die noch nicht aufgetreten. (Außer ich wollte direkt über mit ngix verwalteter Subdomain auf den Fritzbox Login drauf 8|:D)

    Aber grundsätzlich: woher soll der Browser wissen zu welcher IP-Adresse er muss, wenn einer zu server.beispiel.de will? Der Router weiß nicht wo die subdomain zu finden ist, also fragt er im Internet nach... (salopp gesagt)

    Ach ja, ich habe beim DNS-Provider nur einen Eintrag für beispiel.de und *.beispiel.de. Vielleicht käme die Meldung, wenn ich auch server.beispiel.de eintragen würde, keine Ahnung. Aber genau das wollte ich ja vermeiden, dass ich jede einzelne Subdomain auch beim DNS-Provider eintragen muss (und nicht nur in nginx)

  • Aha, noch eine Info gefunden: (quelle)

    Quote

    Ah - da hätte ich möglicherweise einen Ansatz für Deine Recherchen:
    Im Gegensatz zu IPv4, wo Dein Netzwerk nur über die öffentliche IP Deines Routers erreichbar ist, bekommt mit IPv6 jedes Gerät (und u.U sogar jeder Container) eine eigene öffentliche IPv6-Adresse (mindestens).

    Um direkt auf diese IPv6-Adresse zu verbinden, müsste ein DynDNS-Client auf dem jeweiligen Gerät die korrekte öffentliche IPv6-Adresse des Geräts an Deinen DynDNS-Anbieter melden.
    Im Router braucht es dann nur die Portfreigaben für die entsprechenden Geräte.

    und noch was: (quelle)

    Quote

    Wenn du IPv6 nicht brauchst/nutzt, kannst du es natürlich abschalten. Aber IPv6 gehört die Zukunft, deshalb sollte man sich frühzeitig damit beschäftigen.
    Bei IPv6 gibt es keine Portweiterleitung mehr, nur noch eine Portfreigabe (Erlaubnis in der Firewall) und man spricht die IPv6-Adresse der Endgeräte direkt an. Die muss man natürlich DNS-auflösbar bekommen. Am einfachsten geht das mit MyFritz in Verbindung mit einer MyFritz-Portfreigabe, dann wird neben der IPv6 der Fritzbox über [myfritzid].myfritz.net auch z.B. ds923.[myfritzid].myfritz.net DNS-auflösbar. Die Namen sind nicht schön, aber man sie prima z.B. als CNAMEs in seiner eigenen Domain verwenden.

  • Ich verstehe ehrlich gesagt nicht, wieso man im "Heimnetzwerk" IPv6 Benutzen möchte das bringt doch keinen Mehrwert? Ich habe bei mir z.b. in der Fritzbox meinen eigenen DNS Server eingetragen für IPv4 und für die IPv6 habe ich die von Cloudflare filtert auch sehr gut :)
    Ich habe auch Überall IPv6 aktiviert außer eben in meinem Heimnetzwerk. Kommunikation nach außen geht auch über IPv6 aber Sinn IPv6 im Heimnetz zu nutzen finde ich nicht da sollten doch die Verfügbaren IPv4 Adressen ausreichen XD

  • IPv6 ist im Heimnetzwerk nicht sinnvoll, da stimme ich dir vollkommen zu. IPv4 reicht völlig.

    Aber darum geht es hier ja nicht. Das war mein Versuch herauszufinden, ob damit vom LAN aus der Zugriff auf eine Subdomain server.beispiel.de möglich ist, wenn in der Fritzbox IPv6 aktiviert ist. Leider hat dieser Versuch nichts gebracht.

    Da ich keine Ahnung von IPv6 habe, habe ich mich auf die Suche gemacht und die eben geposteten Zitate gefunden. Diese erklären zumindest, warum das nicht funktioniert.

    Fazit: Es bleibt momentan wohl nichts anderes als IPv6 in der Fritzbox abzuschalten.

  • Klonk vielen Dank für deinen Hinweis. Ich bin fast verzweifelt, denn von unterwegs über DynDNS und nginx war der Zugriff auf das NAS möglich. Vom Heimnetzwerk ging es nicht, bzw. zeitweise ging es, zuletzt nicht. Seit Deaktivierung von IPv6 in der Fritzbox geht es wieder (hoffentlich dauerhaft). Zudem habe ich bei nginx pm im eine „internal error“ bei renew certificate bekommen, auch das geht jetzt.

    • DXP 4800 Plus | | 1 x Crucial RAM 32GB DDR5 5600MHz CT32G56C46S5 + 1 x Original Samsung 8GB DDR5 4800MHz | | 3 x WD Red Pro WD4005FFBX 4 TB RAID5 | | 2 x Lexar SSD MN790 1 TB RAID1 | | Diskstation 218+ mit 8GB + 2 x 4 WD Red plus | | EATON S3 700 USV

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!