pfSense: IPv6 Delegation hinter Fritz!Box

Achtung! Dieser Artikel ist älter als ein Jahr. Der Inhalt ist möglicherweise nicht mehr aktuell!

Achtung Achtung! Neuer Artikel!

https://blog.veloc1ty.de/2019/05/26/pfsense-opnsense-ipv6-delegation-fritzbox

Ursprünglicher Artikel

Mein ISP ist die Deutsche Telekom. Dort bekomme ich für meinen VDSL 50 Vertrag eine dynamische IPv4 Adresse und ein dynamisches /56er IPv6 Prefix. An der TAE Dose hängt eine Fritz!Box, die für mich die Verbindung zum Internet managed jedoch sonst keinerlei Funktionen übernimmt. An dieser Fritz!Box hängt aber nicht sofort mein komplettes Heimnetzwerk.

Zwischen Fritz!Box und meinem LAN ist eine physische Patchung zu meinem Homeserver, auf der eine virtuelle pfSense Instanz läuft. Diese virtuelle Maschine hat zwei Interfaces: WAN und LAN abgebildet durch em0 und em1. Damit ich wirklich eine physische Trennung der Netze habe ist der WAN Port via PCI Passthrough an der virtuellen Maschine angedockt und entspricht sozusagen einem physischen Ethernet Port.

Der schematische Aufbau meines Netzwerkes:

 

 

Das Problem: Ich würde gerne meine öffentlichen IPv6 Adressen in meinem LAN verwenden.

Das eigentliche Problem

In der IPv4 Welt bekommt ein Kunde normalerweise eine einzelne IPv4 Adresse. Deshalb ist es wichtig, dass der Router eine Network Address Translation (NAT) hat. Dadurch ist es möglich, dass alle Clients mit der Außenwelt kommunizieren können, wobei jede Kommunikation nach außen mit der selben öffentlichen Adresse stattfindet.

IPv6 ist aktuell auf dem Vormarsch, da fast keine IPv4 Adressen mehr verfügbar sind. Bei der Konstruktion von IPv6 hat man die möglichen Adressbits extrem erhöht (von 32 auf 128). Dadurch hat man nahezu unendlich viele Adressen und genau so werden diese auch vergeben. Man bekommt also keine einzelne IPv6 Adresse, sondern ein Prefix. Aus diesem Prefix können sich dann alle Clients eine öffentliche Adresse zuteilen oder generieren lassen. Es gibt also kein NAT bei IPv6 in diesem Sinn.

Das Problem besteht darin, dass ich kein statisches Prefix bekomme und somit keine Netze statisch konfigurieren kann. Bei IPv4 hat die NAT-Tabelle das öffentliche Routing übernommen. Zur Konfiguration meines LAN musste ich die öffentliche Adresse nicht kennen.

Bei IPv6 sind alle Adressen öffentlich, aber nicht statisch. Eine statische Vergabe von dynamischen Adressen ist logischerweise nicht möglich. Ich muss also bei diesem Szenario mit DHCP arbeiten.

Die einfachste Lösung: Das IPv6 Prefixe statisch vergeben. Leider ist das auch im Jahr 2015 für die Telekom nicht realisierbar.

Konfiguration der Fritz!Box

Damit die Fritz!Box ein IPv6 (Sub-)Prefix verteilt ist eine extra Konfiguration nötig. Dazu muss die Expertenansicht in der Fritz!Box aktiviert sein. Die Einstellungen befinden sich unter Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> IPv6-Adressen:

 

Danach klickt man auf „DHCPv6-Server in der FRITZ!Box für das Heimnetz aktivieren“ und aktiviert die Option „DNS-Server und IPv6-Präfix (IA_PD)zuweisen“:

 

Nach eine Klick auf „Ok“ sind die Einstellungen gespeichert und die Fritz!Box verbindet sich neu mit dem Internet. Das sind auch schon die wichtigen Einstellungen, die man auf der Seite der Fritz!Box machen muss.

Konfiguration von pfSense

Das WAN Interface muss nun via DHCPv6 von der Fritz!Box ein Prefix anfordern. Dazu muss man ein paar Konfigurationen auf der Detailseite des WAN Interfaces gesetzt werden:

 

Die Option „IPv6 Configuration Type“ wählt man DHCP6 aus. Weiter unten kann man mehr Details einstellen. Wichtig ist, dass alle Checkboxen angeklickt sind. Bei der Auswahlbox „DHCPv6 Prefix Delegation size“ muss man sich eventuell an seinem zugeteilten IPv6 Präfix orientieren.

Ich bekomme (wie weiter oben schon erwähnt) ein /56 IPv6 Prefix. Ich habe mich deshalb für ein /60 IPv6 Prefix für den Request entschieden. Unter ein /64 IPv6 Prefix sollte man nicht gehen, da dann kein SLAAC mehr möglich ist.

Nach dem Klick auf „Speichern“ sollte man nicht sofort auf „Apply rules“ klicken, da die Konfiguration des LAN Interfaces noch aussteht.

Auf der Detailseite des LAN Interfaces wählt man bei „IPv6 Configuration Type“ die Option „Track Interface“ aus und wählt weiter unten das WAN Interface aus.

Nach dem Klick auf „Save“ sollte man auf „Apply rules“ klicken, damit die Konfigurationen neu geladen werden. Ein Reboot der Firewall schadet aber nicht.

Fazit

Danach erhält man zum Beispiel folgendes Szenario:

 

Bei der Einwahl erhält die Fritz!Box das /56er IPv6 Prefix. Das WAN-Interface von pfSense frägt nach einem /60er Prefix bei der Fritz!Box nach. Danach besorgt sich das LAN Interface ein /64er Prefix und verteilt dieses dann im Netzwerk via Router Advertisement Nachrichten (ICMPv6).

Der gesamte IPv6 Traffic terminiert also am LAN Interface, wodurch die Firewall auch wirklich den Traffic filtern kann, bevor er an das Gateway weitergegeben wird. Neighbor Solicitations werden nicht an das WAN weiter gegeben. Dadurch sehen eventuelle Lauscher keinen Traffic von Clients, die am LAN hängen. Erst wenn diese nach „draußen“ telefonieren sind diese sichtbar.


Du hast einen Kommentar, einen Wunsch oder eine Verbesserung? Schreib mir doch eine E-Mail! Die Infos dazu stehen hier.

🖇️ = Link zu anderer Webseite
🔐 = Webseite nutzt HTTPS (verschlüsselter Transportweg)
Zurück