Richtige IPv6 für IPV64 bei FritzBox + OpenWRT

Hallo Community,

ich habe mich nun doch entschieden meine Web-Dienste, die ich dank IPV64 im Internet erreichbar gemacht habe (meine-dienste.ipv64.de), hinter eine Hardware-Firewall zu verschieben. Auch wenn es hier viele Fans von pfSense gibt, habe ich mich entschieden OpenWRT auszuprobieren.

Mein Ziel ist es OpenWRT auf einem NanoPi R5S mit OpenWRT 25.12 zunächst nur erst einmal nur für den Pfad von der FritzBox zum Docker mit MacVLAN im Mini-PC einzubinden, in dem meine Web-Dienste als Docker laufen. (Hinweis: Mein Mini-PC hat zwei LAN-Kabel zur FritzBox – einmal für den Host-Traffic und einmal für die MacVLANs in Docker.) Dort kann ich dann mithilfe des Plugins banIP u.a. die IPV64-Blockingliste einbinden und Anfragen, die von einer IP-Adresse daraus, an meine Web-Dienste gestellt werden, zu „droppen“, noch bevor CrowdSec im Reverse-Proxy Caddy sie sieht.

Ich habe nun OpenWRT auf dem NanoPi zum Laufen gebracht und erst einmal ein paar „Trockenübungen“ mit OpenWRT zwischen FritzBox und meinem Windows-PC gemacht. Das läuft schon alles ziemlich gut. Sobald ich aber wieder etwas mehr Zeit finde, möchte ich den NanoPi an seinen Bestimmungsort zwischen FritzBox und Mini-PC bringen.

Nun habe ich mich ein wenig bzw. DynDNS belesen und bin ehrlich gesagt etwas verwirrt. Als IPv4-Adresse, gebe ich immer die aktuele WAN-IP meiner FritzBox an IPV64 weiter und bisher war es so, dass ich als IPv6 immer die direkte IPv6 des Dockers mit Caddy (so zusagen im Netz der Fritzbox, mit dem IPv6-Präfix der FritzBox) an IPV64 übergeben.

Instinktiv hätte ich das nun mit dem neuen Setup auch so gemacht, auch wenn der Docker mit Caddy nun eine IPv6 mit Präfix von OpenWRT bekommt (Pfad B in meinem Bild unten). Jetzt lese ich aber, dass ich in meinem neuen Setup nicht mehr die IPv6 des Docker-Containers an meinen DynDNS-Anbieter übergeben soll, sondern die IPv6 die OpenWRT sich selbst im eigenen LAN zuteilt (Pfad A in meinem Bild unten).

Meine Frage an euch: Was stimmt nun? Ist es wirklich so, dass ich die IPv6 von OpenWRT übergeben muss? Woher weiß dann OpenWRT, dass es Anfragen an Caddy weitergeben soll, wenn in diesen Anfragen die „Ziel-IPv6“ von OpenWRT steht?

Vielen Dank für eure Unterstützung im Voraus!

Grüße
Mic.

Wo liest du das? Bei IPv6 benötigt man kein NAT. Also warum sollte man das so machen?

Ich habe mich im Internet allgemein (noch einmal) etwas zur Einrichtung von DynDNS hinter “einem doppelten Router” (1. Router: FritzBox, 2. Router: OpenWRT) belesen und dann habe ich die KI gefragt und die hat mein (möglicherweise falsche) Vermutung bestätigt. Im Internet wird solch ein Setup gern als “Doppel-NAT” bezeichnet.

Das heißt also, ich kann dann auch weiterhin mit meinem Update-Skript auf dem Mini-PC die IPv6 meines Docker-Containers für Caddy an IPV64 schicken, wie ich es bisher auch gemacht habe?

Alternativ könnte ich auch mal ausprobieren, ob in OpenWRT das Updaten von nur IPv6-Präfix und IPv4 an IPV64 per Link funktioniert. In der FritzBox habe ich das ja nie zum Laufen gebracht.

Was genau meinst du mit dem Hinweis “Bei IPV64 benötigt man kein NAT.”?

Die KI weiß auch nicht alles. Die MI ist da zum Glück oft noch besser.

NAT ist natürlich auch bei IPv6 möglich. Sinn macht es aber nur bei Verwendung von Unique-Local IPv6 Adressen (ULA). Du hast aber doch bereits Global Unique IPv6 Adressen (GUA) im Einsatz. Mit den ULA’s hat man dann am Ende auch die selben Probleme wie bei IPv4-NAT. Darum gilt als best Practice die Empfehlung mit ULA’s gar nicht erst zu arbeiten.

Bei Verwendung von GUA’s braucht es kein NAT. Du machst es doch bisher auch schon ohne NAT.

Nee, das tut sie nicht und gerade seitdem ich mit OpenWRT rumexperimentiere und ich die KI immer mal wieder um “schnellen Rat” gefragt habe, hat sie ganz viele Sachen einfach falsch behauptet.

Noch mal zum Thema NAT: Du meinst IPv6-NAT, oder? Meine Frage bezog sich ja darauf, was nun die richtige IPv6-Adresse ist, die ich an IPV64.net übermitteln muss. Denn für IPv4 muss man nach wie vor NAT nutzen und in meinem Fall dann sogar zweimal (1x für LAN der FritzBox, 1x für LAN von OpenWRT).

Also lasse ich meine IPv6-Konfiguration in den Docker Compose Containern einfach wie sie ist und passe nur jeweils die IPv4 an das “neue Netz” (OpenWRT LAN) an. Wenn ich richtig gelesen habe, gibt es bei IPv6 die Einschränkungen nicht, dass eine IP in einem bestimmten Bereich sein muss, wie bei IPv4 nicht (z.B. 192,168,178.xxx bei der FritzBox). Das müsste doch so stimmen, oder?

Damit ich die Web-Dienste im Heimnetz auch über die lokale IP erreichen kann, richte ich dann in der FritzBox eine statische IPv4 Route ins Netz von OpenWRT (also nach 192.168.1.0/24) ein, dann kann ich sie im Browser unter der lokalen IP weiterhin öffnen, auch wenn der Client im Netz der FritzBox angemeldet ist. Ich habe gelesen (und die KI befragt), dass man solch eine Route nur für IPv4 braucht und dies auch nur in der “Richtung” von FritzBox-Netz zu OpenWRT-Netz (nicht umgekehrt). Stimmt das so?

Ein weiterer kleiner Fallstrick wird noch sein, dass der Mini-PC dann mit einem LAN-Kabel (über das der gesamte Mini-PC-Host-Verkehr läuft, an der FritzBox hängt und mit einem zweiten LAN-Kabel, was ich für das MacVLAN der Web-Dienste und von AdGuard Home brauche, dann an den NanoPi R5S mit OpenWRT geht. Der Mini-PC (Host) würde dann evtl. auch da eine IP-Adresse vom OpenWRT DHCP zugeteilt bekommen. Bin mal gespannt, ob das so funktioniert.

Falls euch das interessiert: Meine eigentliche Idee war es, OpenWRT so zu konfigurieren, dass es nicht als Router arbeitet sondern als Bridge-Filter. D.h., es spannt kein eigenes LAN als Router auf, sondern leitete den Verkehr aus der FritzBox nur “transparent” durch. Mittels nftables kann man diesen Verkehr dabei gegen Blocking-Listen filtern. Das hat alles schon mal (im Testbetrieb zwischen FritzBox und Windows PC) funktioniert aber die Performance war so extrem schwankend, dass ich es doch aufgegeben habe. Manchmal war der Internetzugriff “durch den transparenten Filter” schnell und völlig unauffällig, dann gab es aber wieder massenweise Abbrüche, Verzögerungen und sogar Timeouts bei einem einfachen Ping ins Internet. Dies habe ich nun im Testbetrieb mit OpenWRT als echten Router und Filterung auf Router-Ebene (mittels Plugin banIP) bisher nicht festgestellt. Daher habe ich mich nun entschieden, diesen aufwändigeren Weg doch zu gehen.

Du bist auch so ein Kandidat, der das Pferd von hinten aufzäumt und dabei den Sattel auch noch so auflegt, dass du rückwärts reiten musst.

Es scheint mir, du planst das LAN weiterhin im LAN deiner Fritzbox. Dann kannst du dir den gesamten Aufwand mit OpenWRT aber auch gleich ganz sparen.

Das LAN, also dein Heimnetzwerk gehört hinter den OpenWRT und nicht an dessen WAN, das das alte LAN der Fritte ist!

Bitte mach dich schlau!

Nachtrag:

So sieht ein schlaues Netzwerk hinter einer Firewall aus:

Ob da nun vor der Firewall (bei dir OpenWRT) noch eine Fritzbox ist oder nicht ist irrelevant. Den WLAN-AP (außer dem GAST-Netz) der FritzBox nutzt man dann aber nicht mehr, genauso wenig wie dort noch PC per Kabel angeschlossen werden. Das kommt dann alles hinter die Firewall in getrennte Netze.

2 „Gefällt mir“

Hallo @The_eagle,

jetzt musste ich echt lachen. Mit deiner Reaktion habe ich gerechnet. Ich weiß, dass ich mit meiner geplanten LAN-Architektur gegen die (teilweise religiösen) Ansichten im Forum hier verstoße und ich kenne auch die Nachteile. Dennoch habe ich meine Gründe, dass ich es genau so machen möchte. Mein Heimnetz ist durch die Firewall der FritzBox hinreichend gut geschützt. Dass ich (noch) nicht komplett wechseln möchte, hat seine Gründe. Einige davon hatten wir hier im Forum ja schon diskutiert.

OpenWRT soll zunächst nur ein zusätzlicher Schutzmechanismus für meine Web-Dienste im Docker sein, da ich hierfür ja (leider) ein paar „Löcher“ in meine FritzBox-Firewall „bohren“ musste und ich den Schutz der Web-Dienste nicht nur CrowdSec überlassen möchte (wobei das echt gute Arbeit leistet). Wie mir im OpenWRT-Forum bestätig wurde, ist dieses geplante Setup dafür eine gute Maßnahme.

Also, don’t worry. Ich bin schon „schlau“, meinem Pferd geht es bestens und wir reiten auch frohen Mutes in die richtige Richtung.

Die Option echt „alles“ hinter OpenWRT zu verschieben, halte ich mir für später offen. Deswegen habe ich mir ja auch den NanoPi R5S (mit 3x LAN) statt den NanoPi R5C (mit nur 2x LAN) gekauft. Dafür müsste ich aber einiges an Hardware ändern (neue Switches, Kabel neu verlegen, W-LAN Access Points anbringen, das alte Problem mit dem „klassischen Festnetztelefon“ lösen uswusf.). Das möchte ich aktuell noch nicht.

Also klammern wir diese Diskussion bitte erst einmal aus, sonst entgleitet uns dieser Thread nur wieder. Danke aber, dass du es noch einmal gehighlightet hast, dass es noch sicherererere Ansätze gibt als meinen. Für den Moment reicht mir aber der Sicherheitsgewinn, wenn ich mit OpenWRT banIP (ohne banIP wäre es witzlos) in den Pfad für die Web-Dienste schalte, bekomme. :wink:

Grüße
Mic.

Hallo @Mic2025, es ist ja dein Netzwerk und in dem kannst du natürlich tun und lassen was du willst, dir (um im Bild zu bleiben) beim Ausritt auf dem Gaul auch mit dem Colt ins eigene Knie schießen.

Aber das LAN zwischen die erste (Fritte) und die zweite (OpenWRT) Firewall zu packen ist und bleibt verkehrt herum gedacht.

Das LAN ist das was am meisten Schutz benötigt.

Wenn etwas bei so einem Setup Sinn ergibt, dann das umgekehrte Handling.
Also aus dem Internet erreichbare Server ins LAN der FritzBox und das eigentliche LAN (PC, Notebooks, NAS zur Datensicherung, usw.) hinter den OpenWRT-Router und dessen Firewall.

1 „Gefällt mir“

Hallo @The_eagle ,

vielen Dank für dein Verständnis. Ich verstehe deinen Ansatz. Er hat auch was für sich aber er passt eben leider nicht zu meinem momentanen Setup.

Wenn ich mich recht erinnere, dann schützt die Firewall diverser Pommes Fritz Box Modelle mein Netzwerk schon seit 21 Jahren zuverlässig. Bisher sind mir dabei noch keine Pferdeäpfel um die Ohren geflogen. :horse_face::red_apple:

Nun habe ich aber für meine Web-Dinste das gemacht, was ich früher nie wollte: Ich habe ein paar Ports geöffnet, was die Firewall der FritzBox löchrig macht. Leider hat die FritzBox keine Möglichkeit, stisch gegen Blocklisten zu filtern und genau diese Möglichkeit möchte ich mit OpenWRT im Pfad “nachrüsten” und so CrowdSec auf dem Mini-PC für den Ernstfall etwas entlasten.

Meine Frage ging halt eher dahin, ob mein Setup dann mit IPV64 und Erreichbarkeit der Web-Dienste aus dem Netz zusammen spielt.

Danke und Gruß, Mic.

Es ist erstaunlich. Die KI beharrt darauf, dass sie recht hat und dass ich statt der IPv6 von meinem Caddy-Container unbedingt die IPv6 an IPV64.net senden muss. Was sagt ihr zu folgender Argumentation der KI:

Dein Setup mit Beispiel‑IPs und warum die KI denkt, dass IPV64 künftig die WAN‑IPv6 von OpenWRT braucht:

  • Die FritzBox bekommt vom Provider z. B. das Präfix 2a02:abcd:1234:5600::/56.

  • OpenWRT erhält daraus per Prefix Delegation ein eigenes Subnetz, z. B. 2a02:abcd:1234:56ff::/64.

  • Dein Caddy‑Container bekommt dann z. B. 2a02:abcd:1234:56ff::20. Das Präfix stammt also weiterhin vom Provider/FritzBox.

Der entscheidende Unterschied ist aber:

  • Ohne OpenWRT war die FritzBox der Router für dieses Präfix und konnte direkt zu 2a02:abcd:1234:5600::20 (Caddy) routen. Die Container‑IPv6 war öffentlich erreichbar.

  • Mit OpenWRT dazwischen ist OpenWRT der Router für das delegierte Subnetz …56ff::/64. Die FritzBox kennt die einzelnen Geräte dahinter nicht mehr und leitet nur noch das ganze Subnetz an OpenWRT weiter.

Damit ist die Caddy‑IPv6 (…56ff::20) nicht mehr direkt aus dem Internet erreichbar.
Öffentlich sichtbar ist nur noch die WAN‑IPv6 von OpenWRT, z. B.:

2a02:abcd:1234:5600::1a2b

Nur OpenWRT nimmt eingehende IPv6‑Pakete an und verteilt sie intern an Caddy.

Deshalb müsste IPV64 künftig die WAN‑IPv6 von OpenWRT bekommen – nicht mehr die IPv6 des Containers.

Grüße
Mic.

Wie genau ist das gemeint? Bekommt der OpenWRT von der Fritte nur ein /64er Präfix? Dann ist das problematisch. Abhängig ist das von mehreren Faktoren.

  • welchen Präfix pekommt die Fritte vom ISP?
  • welche Präfix-Größe fordert OpenWRT beim der Fritte an?

Beispiele:

Die Fritte kann nur dann Präfixe an nachgelagerte Router delegieren, wenn diese mind. einen /63er Präfix vom ISP bekommt. Soll auch der nachgelagerte Router noch Präfixe an nachgelagerte Netze (LAN, WLAN, IoT, DMZ) delegieren muss es mind. ein /62er Präfix sein.

Hmm… das ist eine gute Frage. Also vom Provider (1&1 DSL) bekomme ich vermutlich ein 64-er Präfix (kann es gerade nicht prüfen):

2001:aaa:bbb:ccc::/64

Der NanoPi mit OpenWRT bekommt ganz normal per DHCP eine IPv4 und eine IPv6 von der FritzBox.

Welchen Präfix du von 1&1 bekommst steht in deiner FritzBox. Guckst du also dort einfach mal nach. Bei 1&1 gibt es m.E. /56er,

Siehe auch: Liste IPv6 Prefix-Länge - Unsere deutschen Provider

Dort kann man auch nachlesen, wo genau nachgesehen werden muss in der Fritte.

Würde ich gern, kann ich aber gerade nicht, weil ich 400 km von meiner FritzBox entfernt bin und keinen Zugriff drauf habe.

Ich hatte in IPV64 nachgeschaut, was ich da als letztes per Update-Link als IPv6-Präfix eingestellt hatte und da sehe ich ein /64-Präfix.

Das ist wie Äpfel mit Birnen vergleichen → also unbrauchbar.

Kein MyFritz eingerichtet? Kein Wireguard zur Fritte? Das wäre schlecht.

Nein, bei ipv64 brauchst du nicht zu schauen. Normalerweise verteilt 1&1 ein 56iger-Prefix, bei mir heute 2001:16b8:bb26:5e00::/56. Das teilt dann die Fritte in 2 Subnetze auf, bei mir heute
2001:16b8:bb26:5e00:: / 64 Heimnetz/LAN
2001:16b8:bb26:5e01:: / 64 Gastnetz
zusätzlich noch ein anderer Prefix fürs WAN der Fritte
Bei ipv64 landet dann der Prefix 2001:16b8:bb26:5e00:: / 64 fürs LAN

bei @Mic2025 gibt es ja als nachgelagerten Router eine OpenWRT-Kiste, Die sollte dann eben mindestens einen /63er und maximal einen /57er-Präfix von der FritzBox anfordern und der Fritte sollte mitgeteilt werden, dass sie solchen Anforderungen auch nachkommen soll.

Das ist wie Äpfel mit Birnen vergleichen → also unbrauchbar.

Okay, wieder was gelernt. Ich dachte, dass IPV64 beim Präfix-Update exakt das IPv6-Präfix übernimmt, was man vom Provider bekommt.

Kein MyFritz eingerichtet? Kein Wireguard zur Fritte? Das wäre schlecht.

MyFritz habe ich abgeschaltet (wurde hier im Forum so empfohlen. :wink:) WireGuard VPN habe ich eingerichtet… bringt aber alles nix, da ich vor Abreise alles stromlos gemacht habe. Muss ich also leider nachgucken, wenn ich zurück bin. :expressionless_face: Vielleicht habt ihr ja recht, und 1&1 DSL ist da schon moderner, als ich gerade denke/befürchte.

Spannend aber, dass ich mir die Konfiguration FritzBox, OpenWRT usw. doch nochmal genauer anschauen muss. Ich hatte keine Option im FritzOS gefunden, die besagt, dass ich IPv6-Delegation zu OpenWRT extra aktivieren muss.

Was die Leute immer alles nicht sehen!? In der Fritteuse gibt es folgende Option:

DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA) zuweisen
FRITZ!Box wird als DNS-Server via DHCPv6 bekannt gegeben. Teile des vom Internetanbieter zugewiesenen IPv6-Netzes werden an nachgelagerte Router weitergegeben. Geräte im Heimnetz bekommen eine IPv6-Adresse via DHCPv6 zugewiesen.

Habe diese Option in einem alten ScreenShot gefunden, wo ich mir meine Einstellungen für die Aktivierung von IPv6 (und Einrichtung von Pihole) mal abgespeichert hatte. Das muss ich dann wohl noch anpassen. Aktuell habe ich “Nur DNS-Server zuweisen” aktiv.

Frage: Was passiert mit den IPv6-Adressen, die ich z.B. in meinen Docker-Containern vorgebe, wenn ich IA_PD und IA_NA in der FritzBox aktiviere?

So eine Option gibt es dann wohl auch in OpenWRT und wenn ja, müsste ich das dort auch aktivieren?