Fritzbox IPv6 & pfSense

Ziel: der Internetserviceprovider (ISP) bietet dir echtes Dualstack, also einen vollwertigen IPv4 als auch IPv6 Anschluss. Während IPv4 im Heimnetz bereits läuft, die neue Technik aber bereits zur Verfügung steht, möchtest du nun neben dem bestehenden IPv4 auch IPv6 implementieren.

Was du hast: eine Fritzbox als Router. Dahinter eine pfSense als weiteren Router. Hinter der pfSense ein LAN, welches in VLANs aufgeteilt ist.

Was du willst: du möchtest IPv6 sowohl im Internet nutzen als auch die Möglichkeit im Heimnetzwerk (LAN) schaffen, per IPv6 zu kommunizieren. Die Geräte sollen eine GUA erhalten, um am Netzverkehr im Internet teilnehmen zu können, als auch eine ULA. Warum? Da sich bei den meisten ISP der erste Teil der IPv6 Adresse (das Globale Präfix) immer wieder ändert (dynamische Vergabe durch den Internetanbieter), du aber deine Geräte im Heimnetz IMMER unter derselben Adresse erreichen möchtest, muss neben der GUA für den globalen Netzverkehr auch eine ULA für den lokalen Verkehr vorhanden sein. Da du intern mit Subnetzen bzw. VLANs arbeitest, benötigst du eine routingfähige ULA, welche immer gleich bleibt.


Was zu tun ist: die Arbeit teilt sich grob in zwei Schritte auf.

  1. Arbeiten an der Fritzbox
  2. Arbeiten an der pfSense

1. Arbeitsschritt an der Fritzbox
Du wählst dich auf der Fritzbox ein mit deinen Benutzerdaten.
Dann wechselst du auf die Ansicht Internet > Zugangsdaten > IPv6. Hier wird IPv6 aktiviert.
Fritzbox IPv6
Du belässt den aktiven Button bei „native IPv4 Anbindung“.

Jetzt wechselst du zur Ansicht Heimnetz > Netzwerk > Netzwerkeinstellungen und klickst unter IP-Adressen auf IPv6-Einstellungen.
Fritzbox IPv6 Heimnetz
Auf der oberen Hälfte der jetzt erscheinenden Ansicht ist nichts zu ändern.
Fritzbox IPv6 Einstellungen fürs Heimnetzwerk a)
Im unteren Teil der Ansicht sollten die Einstellungen wie im Bild gesetzt werden:
Fritzbox IPv6 Einstellungen fürs Heimnetzwerk b)
Wie du siehst, spaltet die Fritzbox das vom ISP vergebene /56er Netz (gilt aktuell für die Telekom, kann abweichen!) in drei Subnetze der Größe /64 auf.
Allerdings willst du nicht nur ein /64er Netz hinter der pfSense im LAN und den VLANs anbieten, sondern du benötigst mehrere /64er Netze (fürs LAN und die VLANs je eines!)…
Als letzter Arbeitsschritt auf der Fritzbox gibst du nun die pfSense als Exposed Host bekannt. Damit entfällt die rudimentäre Firewallfunktion der Fritzbox für diese Gerät!
Dafür wechselst du in die Ansicht Internet > Freigaben > Portfreigaben.
Fritzbox IPv6 Exposed Host
Sollte deine pfSense hier bereits in der Übersicht auftauchen (weil du vorher schon eine Portfreigabe erteilt hast, etwa für VPN), dann klickst du diese über das Stiftsymbol an oder du fügst die pfSense hinzu über die Schaltfläche…
Die pfSense wird dann als Exposed Host für IPv6 hinterlegt:
Unter IPv6 aktivierst du dann alle drei Boxen.
Fritzbox IPv6 Firewall inaktiv
Damit ist der 1. Arbeitsschritt, die Arbeiten auf der Fritzbox, erledigt. Meld dich ab und es geht weiter mit dem…

2. Arbeitsschritt an der pfSense
Log dich auf deiner pfSense ein.
Dann wechsele auf die Ansicht der Interfaces, wähle hier das WAN Interface aus. Dort stellst du sicher, dass das Interface aktiv ist und stellst unter IPv6 Configuration Type „DHCP6“ ein:
pfSense IPV6 WAN Interface
Damit dient das WAN Interface der pfSense nun als Client für den DHCP6 Server auf der Fritzbox. Es bekommt somit die nötigen Informationen weitergereicht.
Weiter unten auf derselben Seite konfigurierst du dann das WAN Interface als DHCP6-Client mit den nötigen Angaben:
pfSense IPv6 DHCP Client
Ich habe hier angegeben, dass das vom ISP vergebene 56/er Präfix an den Exposed host pfSense als /57er weitergegeben wird. Daraus kann ich mehr als genug /64er Segmente ableiten für die zu versorgenden Subnetze / VLANs. Pass die Größe gerne deinen Bedürfnissen an.
Damit sich die pfSense die Informationen holt empfehle ich jetzt einen Neustart des Systems.

Jetzt wählst du eines deiner Interfaces aus, welches für ein Subnetz / VLAN zuständig ist, hier im Beispiel das Interface fürs VLAN 20 WIRELESS (die Anleitung gilt aber für andere Interfaces genau so, etwa für LAN).
Dort vergewisserst du dich zunächst wieder, dass das Interface aktiv ist. Dann wählst du für IPv6 Configuration Type „Track Interface“ aus.
pfSense IPv6 LAN Interface
Im unteren Verlauf derselben Ansichtsseite stellst du dann die IPv6 Konfiguration weiter ein:
pfSense IPv6 Tracking Modus
Damit verfolgt das Interface VLAN 20 für die benötigten Informationen das bereits konfigurierte Interface WAN, welches ja - wie zuvor eingerichtet – als DHCP6 Client arbeitet und wiederum die benötigten Informationen, genau, von der Fritzbox als DHCP6-Server erhält. Außerdem kannst du hier eine aussagekräftige IPv6 Präfix ID vergeben.

Genau so verfährst du für alle Interfaces bzw. hinterliegenden Subnetze, für die du IPv6 aktivieren willst. Damit erhalten dann alle Subnetze eine global eindeutige IPv6 Adresse (GUA).

Im nächsten Schritt richtest du die pfSense dahingehend ein, dass alle benötigten Informationen an die Clients in den jeweiligen Subnetzen verteilt werden.

Dafür nutzt du entgegen der üblichen Gepflogenheiten aber nicht die Methode via DHCP sondern ein IPv6 eigenes Verfahren: Router Advertisement.
Du wechselst auf die Ansicht Services > DHCP6 & RA. Zunächst werden dir hier ganz oben die bereits vorbereiteten Subnetze angezeigt, eben auch VLAN 20. Auf dem zweiten Reiter sind die Einstellmöglichkeiten für das Router Advertisement (RA):
pfSense IPv6 Router Advertisement
Als Router Mode wählst du hier „Unmanaged“ aus.
Im unteren Teil der Seite gibst du dann noch eine zufallsgenerierte Präfix für dein Subnetz an.

Du kannst z.B. hier eine solche erstellen:
https://cd34.com/rfc4193
https://www.ip-six.de

Die Box „Provide DNS configuration via radvd“ solltest du anhaken, damit die Clients auch Informationen über den zu nutzenden DNS Server im Heimnetzwerk via Router Advertisement erhalten. Hierdurch erhalten die Clients in den Subnetzen ihre eindeutige lokale Adresse, die auch routingfähig ist (ULA).

Als letzten Arbeitsschritt wechselst du auf die Ansicht Firewall > Regeln > WAN Interface:
hier stellst du sicher, dass das WAN Interface keinen eingehenden Netzverkehr der Protokolle TCP oder UDP erlaubt (es sei denn du willst das explizit!). Vergiss nicht: die rudimentäre Firewallfunktion der Fritzbox ist inaktiv!
Auch wird in vielen Beiträgen darauf hingewiesen, dass IPv6 für ein technisch reibungsloses Funktionieren das Protokoll ICMPv6 benötigt. Das ist korrekt, allerdings musst du hierfür KEINE besondere Regel definieren, denn die pfSense legt hierfür im Hintergrund die benötigten Regeln an.

Damit sind die grundlegenden Arbeiten auch auf der pfSense beendet. Starte deine pfSense neu. Dann verbinde deinen Client mit deinem eben konfigurierten Netzwerk. Ist der Client IPv6-fähig, so sollte er nun folgende Informationen erhalten:

  1. eine IPv4 Adresse wie bisher auch
  2. eine globale einzigartige IPv6 Adresse
  3. eine lokale einzigartige IPv6 Adresse
  4. eine local-link IPv6 Adresse
  5. ggf. noch weitere, sogenannte Privacy Extensions

Damit hast du im Netzwerk IPv4 und IPv6 aktiviert.
Du kannst auf diversen IPv6 Testseiten herausfinden, ob du für das IPv6 Internet gut aufgestellt bist:
https://ipv6-test.com
https://test-ipv6.com
https://ipv6test.google.com

---

Vielen Dank an den User the other für diese Anleitung!

Wenn Du Fragen zu dieser Anleitung hast, dann schau doch einfach mal bei uns im vorbei!