larsip

Fritzbox IPSec-Verbindungsaufbau in Phase 1 - IPv6 only

gelöstFrageVPN
Hallo,

ich habe eine pfSense mit Dual stack WAN Interface, die mit mehreren Fritzboxen per IPsec-Tunnel verbunden ist. Die pfSense meldet hierfür ihre dynamischen v4- und v6-Adressen an No-IP, d.h. der DynDNS-Eintrag hat A und AAAA records, die pfSense ist also wahlweise über v4 und v6 erreichbar. Die Fritzboxen melden ihre v4- und v6-Adressen an MyFritz. Funktioniert soweit alles.

Ich möchte nun gerne beeinflussen, ob für den Tunnelaufbau von Fritzbox-Seite die A oder AAAA records der pfSense verwendet werden. In der pfSense lässt sich in IPsec Phase 1 einstellen, ob der Tunnel ausschließlich über v4 oder v6 hergestellt werden darf, oder "egal" (Dual stack). Dasselbe möchte ich gerne auch an der Fritzbox festlegen - was ja sinnvoll ist, wenn man bereits weiß, dass die Fritzbox gar keine brauchbare IPv4 hat, weil sie z.B. hinter CGNat oder DS-Lite hängt. Welchen Parameter muss man dazu denn in der Fritzbox vpncfg unter connections eintragen - so etwas in der Art "v6_only = yes;"? Ich will festlegen, dass sie die Gegenstelle nur mit v6 ansprechen darf (denn wenn sie es mit v4 versuchen würde, würde die pfSense über v4 antworten und die Antwort wegen DS-Lite der Fritzbox ins Leere laufen).
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 673124

Url: https://administrator.de/forum/fritzbox-ipsec-ipv6-tunnelaufbau-673124.html

Ausgedruckt am: 23.06.2025 um 08:06 Uhr

aqui
Lösung aqui 01.06.2025 aktualisiert um 17:17:55 Uhr
Goto Top
Das ist bei einer so einfachen Consumer Box wie der Fritte nicht möglich oder nur dann, wenn man die eine oder andere Protokollvariante am WAN Port abschaltet oder bevorzugt und so nur eine Variante erzwingt sofern die Fritte im Dual Stack mit oder ohne CG-NAT rennt.
Leider wird aus deiner Beschreibung nicht ganz klar wer VPN Responder und wer Initiator ist. Sehr wahrscheinlich (geraten) ist deine pfSense wohl der Responder, arbeitet also im Responder only Betrieb und vermutlich (geraten) mit einer Peer IP von 0.0.0.0 so das sie generell alle eingehenden dynamischen IPs der Fritzboxen (Initiators) annimmt.
dass die Fritzbox gar keine brauchbare IPv4 hat
Das ist so auch nicht ganz richtig. Auch mit CG-NAT hat ja jede Fritte eine brauchbare IP und zwar extern immer die öffentliche mit der sie im Internet auftaucht. Innerhalb des Provider Netzes hat sie meist eine RFC 6598 oder RFC1918 IP was aber nicht ausschlaggebend ist.
Ob das die CG-NAT Gateway IPv4 ist spielt also dabei keinerlei Rolle, denn beide Seiten erkennen ein NAT im Pfad und schalten dann sofort automatisch auf NAT-Traversal (NAT-T) um mit UDP 4500.
Es ist bei CG-NAT also in der Regel irrelevant ob die IPv4 brauchbar ist oder nicht solange die CG-NAT Seite immer der VPN Initiator ist, also der der den VPN Tunnel aktiv aufbaut.
denn wenn sie es mit v4 versuchen würde, würde die pfSense über v4 antworten und die Antwort wegen DS-Lite der Fritzbox ins Leere laufen
Nein! Das ist technisch leider nicht ganz richtig.
Initiator und Responder erkennen mit dem IKE 500 Handshaking das ein NAT Device im Pfad ist und der Initiator schaltet dann nach entsprechender IKE Negotiation automatisch auf UDP 4500 Encapsulation und kann so problemlos das CG-NAT überwinden.
Der Vorgang ist HIER recht anschaulich mit einem Wireshark Trace erklärt.
LarsIP
LarsIP 01.06.2025 um 22:59:30 Uhr
Goto Top
Danke für die Erläuterungen zu NAT-T. In der pfSense sieht man unter Status / IPsec / Overview auch sehr schön, ob NAT-T verwendet wird oder nicht.

Leider wird aus deiner Beschreibung nicht ganz klar wer VPN Responder und wer Initiator ist.

Hatte das weggelassen, weil es so viele Varianten gibt, von denen ich viele schon ausprobiert habe. Ich habe sie nachfolgend mal A, B, C, D, E genannt.

Fritzbox hat:
A. Dual stack, dyn. DNS (A und AAAA records)
B. öffentl. IPv4, dyn. DNS (A record)
C. IPv4-CGNAT, keine v6 connectivity, kein dyn. DNS
D. IPv4-CGNAT, IPv6, dyn. DNS (AAAA record)
E. DS-Lite, dyn. DNS (AAAA record)

Mögliche Tunnelkonfiguration:
VarianteA-Option1. Aufbau via v4, keine besonderen Einstellungen nötig
VarianteA-Option2. Aufbau via v6, keine besonderen Einstellungen nötig
VarianteB. Aufbau via v4, keine besonderen Einstellungen nötig
VarianteC. Aufbau via v4, pfSense-Einstellungen: Peer IP 0.0.0.0, IPv4 only, pfSense ist nur Responder
VarianteD-Option1. Aufbau via v4, pfSense-Einstellungen: Peer IP 0.0.0.0 oder ::, Dual stack, pfSense ist nur Responder
VarianteD-Option2. Aufbau via v6, pfSense-Einstellungen: Peer IP 0.0.0.0 oder ::, Dual stack, pfSense ist nur Responder
VarianteD-Option3. Aufbau via v6, keine besonderen Einstellungen nötig - es reicht im Prinzip aus, dass beide Seiten gültige AAAA records haben, pfSense "findet" die Fritzbox unter ihrer v6-Adresse und kann so auch Initiator sein.
VarianteE. Gleiche drei Optionen wie bei Variante D.

Mein Posting oben bezog sich auf Varianten D und E.

VarianteD/E Option1: beide Seiten erkennen ein NAT im Pfad und schalten um auf NAT-Traversal (NAT-T) mit UDP 4500.

VarianteD/E Option2/3: kein NAT im Pfad erkennbar, kein NAT-Traversal

Also je nach dem, ob die Fritzbox (Initiator) über v4 oder v6 anfragt, wird dann also mal NAT-T aktiviert und mal nicht. Korrekt?
aqui
aqui 02.06.2025 um 08:00:59 Uhr
Goto Top
Ja, das ist korrekt. NAT gibt es ja faktisch nicht bei IPv6.