martin68

Zugriff auf Webserver im lokalen Netz über IPv6

Guten Abend,

Nachdem ich in den letzten Tagen immer wieder und teilweise stundenlang recherchiert habe, bitte ich Euch um Unterstützung. Ich betreibe zu Erprobungszwecken mehrere LXC-Container bzw. VMs und stelle dort Software wie PiHole, Bookstack und einiges mehr bereit.

Ich habe zwar einen Dual-Stack-Internetanschluss und habe bisher nur über eine klassische IPv4-Portweiteleitung (IPv4 und IPv6) auf einen Caddy-Reverse-Proxy genutzt. Das klappt einfach und zuverlässig. Die Adresse der FRITZ!Box ist per CNAME bei entsprechenden Sub-Domains hinterlegt.

Wenn ich über IPv6 auf diese Domains zugreife lande ich auf der Seite der FRITZ!Box und nicht auf der Seite, auf die ich will. Technisch ist das klar, jetzt hatte ich im Urlaub Zeit mich da einzulesen und habe einen DynDNS-ANbieter gefunden, der nur den variablen Teil des Netzwerkes aktualisiert und über die MAC-Adressen daraus auch die jeweils aktuellen IPv6-Adressen (Scope global) ermittelt. So weit, so gut.

Mein Problem ist, dass ich die in meinem Netz laufenden Webserver zwar per IPv4 aufrufen kann, nicht aber über IPv6. Die Seite kann nicht aufgerufen werden, es kommt keine Verbindung zustande.

Ich habe es mit der globalen Adresse und später auch mit der Link-lokalen-Adresse probiert, von der ich davon ausgegangen bin, dass es auf jeden Fall funktionieren müsste. Leider kein Erfolg.

Da ich den selben Port verwende, wie für den IPv4-Zugriff kann es m.W. Kein Firewall-Thema sein - oder irre ich mich da ?

Die „Freigabe“ in der Fritzbox leitet die Ports 80 und 443 TCP auf die Caddy-Maschine weiter. Inzwischen ist mir bekannt, dass das Portforwarding über IPv6 nicht funktioniert, mir ist allerdings nicht klar, was dann dieses Forwarding in den Einstellungen der FRITZ!Box überhaupt bewirken soll.

Ich hoffe, dass ich Euch mit meinen Anfänger-Fragen nicht nerve und wäre für hilfreiche Tipps dankbar.

Herzliche Grüße

Martin
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 673502

Url: https://administrator.de/forum/webserver-ipv6-netzwerk-fritzbox-673502.html

Ausgedruckt am: 17.07.2025 um 23:07 Uhr

aqui
Lösung aqui 23.06.2025 aktualisiert um 17:46:02 Uhr
mit meinen Anfänger-Fragen nicht nerve
Genau dafür ist ein Forum ja da, also entspannen!! face-wink

Sehr lesenswert zu der Thematik in der aktuellen c't:
heise.de/ratgeber/Self-Hosting-Kompendium-Dienste-selbst-pflegen ...
Dort sind alle deine Fragen umfassend beantwortet.

Link Local Adresse ist natürlich Quatsch, denn diese Adressen sind wie die RFC1918 oder Zeroconf IPs im Internet nicht routebar.
Mit "Freigabe" wirst du vermutlich das IPv4 Port Forwarding meinen, richtig? Sprich also "Alles was mit Port XYZ an der WAN IP der Fritte ankommt forwarde bitte auch die interne IP ABC".
Port Forwarding bei IPv4 ist ein Konstrukt was durch das NAT (IP Adress Translation) bedingt ist. Dies gibt es aber bei IPv6 nicht, denn dort routest du dein internes IPv6 Netz ja direkt ins Internet. IPv6 kennt bekanntlich kein NAT. Das öffnen des lokalen IPv6 Servers nennt sich in der Fritte ebenfalls Freigabe.
Sehr empfehlenswert ist ebenfalls eine kostenlose IPv6 Grundlagen Lektüre:
danrl.com/ipv6/

Lange Rede... Es liegt an deiner Fritte bzw. deren Firewall Konfiguration die wir leider nicht kennen. Die Firewall der Fritte ist im Default für IPv6 so eingestellt das sie aus guten Gründen ausschliesslich nur ausgehenden IPv6 Traffic aus dem lokalen LAN erlaubt aber keinen Eingehenden von außen INS lokale LAN.
Du bräuchtest aber Letzteres für den Zugriff auf deinen internen IPv6 Host von außen. Sprich es ist ein einfaches Customizing der Fritten Firewall für IPv6.
Leider hast du es versäumt hier einmal deine Einstellung für IPv6 dafür zu posten, dann hätte man noch zielführender helfen können ohne Kristallkugeln zu müssen. face-sad
Ansonsten den o.a. c't Artikel und die 3 Folgeartikel lesen dort wird alles haarklein zu der Thematik erklärt. 😉

So sähe die "Freigabe" eines IPv6 Webservers (Debian mit NGINX) im lokalen IPv6 Netz der Fritte als Beispiel aus:
root@websrv:/home# ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 20xx::yyy:a28c:9266:93e7:2e10:5911/64 scope global dynamic noprefixroute
       valid_lft 7054sec preferred_lft 3454sec
    inet6 fe80::2712:3cb9:9393:977c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever 
fbfreigabe

Zugriff auf diesen Webserver z.B. aus dem IPv6 Mobilfunknetz: (Webserver gibt Client IP zurück)
srvgui

Fazit:
Works as designed!! 👍
Martin68
Martin68 24.06.2025, aktualisiert am 29.06.2025 um 19:08:03 Uhr
Guten Morgen,

Erst einmal vielen dank für Deine Mühen, ich habe die Einstellungen der FRITZ!Box entsprechend angepasst, d. h.

  • Die Portweiterleitung für IPv6 an Caddy deaktiviert (die wegen dyndns auf den Router sowieso nicht funktioniert hatte) und
  • Für den virtuellen Rechner mit dem Test-Webserver eine IPv6-only-Portfreigabe nach Deinem Muster angelegt.

Leider reagiert der Server nicht auf meine Aufrufe, was auch auf eine Fehlkonfiguration des Servers zurückzuführen sein könnte. Ich werde weiter testen und hier über die Ergebnisse und weitere Fehler meiner Konfiguration informieren.

Gruß

Martin

————
1. Ergänzung:

Den Hinweis auf den CLI-Sniffer werde ich ausprobieren, muss ich mich aber erst einlesen, kannte das Tool bisher nicht. Danke dafür!

————-

2. Ergänzung

Ich habe Schwierigkeiten mit der Anwendung von TCPDUMP, habe

tcpdump --interface ens18 -c 100 port 80

gestartet. Wenn ich dann die Webseite per IPv6-Adresse aufrufe, würde ich erwarten, dass TCPDUMP dieses Paket anzeigt, es passiert jedoch nichts. Das interpretiere ich so, dass die FRITZ!Box das Paket nicht an den Node weiterleitet, korrekt ?

—————

3. Ergänzung

Ich kann per IPv6 auf die Seite zugreifen, allerdings nicht über die Eingabe der Adresse, sondern nur über einen Dyndns-Dienst, bei dem ich einen AAAA-Rekord erstellt habe. Soll heißen:

webserver.work.dynv6.net funktioniert
http://[xxxx:xxxx:xxxx:0:be24:11ff:fe64:7efd]/ funktioniert nicht.

Ich dachte ich hätte verstanden wie das läuft, aber offenbar irre ich mich face-sad

—————-

4. Ergänzung

Es geht doch, keine Ahnung was sich geändert hat, aber es funktioniert.

Danke für Deine Hilfe Aqui!
aqui
aqui 24.06.2025 aktualisiert um 09:55:47 Uhr
Leider reagiert der Server nicht auf meine Aufrufe
Wie gesagt, funktioniert hier in einem klassischen Setup mit einer Fritte völlig problemlos.
Wie du schon sagst wird das dann vermutlich am Server Setup liegen. Ist das ein unixoider Server? Wenn ja ist es ggf. sinnvoll einmal mit apt install tcpdump einen kleinen CLI Sniffer zu installieren um mal zu checken ob die HTTP Requests auch wirklich ankommen.
Ich werde weiter testen...
Wir sind gespannt... face-wink