117471
Goto Top

IPv6: pfSense hinter Fritz!Box 6360 (Kabel Deutschland)

Hallo,

Vorab

Ich beschreibe hier lediglich die IPv6-Anbindung. Informationen zu IPv4 sollten selbsterklärend sein. In meinem Szenario verwende ich eine pfSense, die an einer Fritz!Box 6360 von Kabel Deutschland hängt. Ich bemühe mich, die Anleitung so allgemein wie möglich zu halten, damit sie möglichst leicht auf eigene Szenarien angewandt werden kann.

Betrachtung der Netzwerkanbindung

ein Blick in den Online-Monitor der Fritz!Box offenbart uns, dass wir ein /62 Netz erhalten.
fritz!box online-monitor

In diesem Fall lautet das uns zugewiesene Netz:
  • xxxx:xxxx:dc0:4818::/62

Daraus ergeben sich laut diesem IPv6-Subnetzrechner vier /64 Subnetze, die (von der Fritz!Box) wie folgt verwendet werden:
  • xxxx:xxxx:0dc0:4818::/64 [LAN]
  • xxxx:xxxx:0dc0:4819::/64 [Gastzugang]
  • xxxx:xxxx:0dc0:481a::/64 [Geräte "Heimnetzwerk"]
  • xxxx:xxxx:0dc0:481b::/64 [Geräte "Heimnetzwerk"]

Unser Ziel ist, die letzten beiden /64 Netze (bzw. das daraus resultierende /63 Netz) durch die pfSense an die Clients durchzureichen. Alle Geräte aus dem Heimnetzwerk sollen eine IPv6-Adresse aus diesem Netz erhalten:
  • xxxx:xxxx:dc0:481a::/63

Vorbereitungen auf der Fritz!Box

Unter Heimnetz -> Heimnetzübersicht findet man den Reiter "Netzwerkeinstellungen" und hier den Button "IPv6-Adressen". Dort aktiviert man mindestens:
  • [x] DNS-Server, Präfix (IA_PD) und IPv6-Adresse (IA_NA) zuweisen

Was man damit einschaltet, ergibt sich aus dem entsprechenden Hilfstext: FRITZ!Box als DNS-Server via DHCPv6 bekannt geben. Teile des vom Internetanbieter zugewiesenen IPv6-Netzes an nachgelagerte Router weitergeben. Geräte im Heimnetzwerk bekommen eine IPv6-Adresse via DHCPv6 zugewiesen.

Das bedeutet:
  • Die Fritz!Box spielt weiterhin DNS und DHCP für IPv6
  • Die pfSense darf via Router Advertisement ein IPv6-Netz von der Fritz!Box anfordern und hier Adressen vergeben
  • Geräte, die an die Fritz!Box angeschlossen werden, bekommen weiterhin eine IPv6-Adresse

Zusätzlich habe ich noch folgende Punkte aktiviert:
  • [x] Unique Local Adresses (ULA) immer zuweisen
  • [x] ULA-Präfix manuell festlegen

Das ULA-Präfix sollte man zufällig generieren, bei mir hat der Zufallsgenerator mein Geburtsdatum, gefolgt von abcd ausgeworfen face-smile

Die Adresse bei "DNSv6-Server im Heimnetz" muss man nicht an die ULA-Adresse der Fritz!Box anpassen. Zum Einen wird die Option ignoriert, da das Kreuz nicht gesetzt ist. Zum Anderen wird hier beim Speichern die Adresse von der Fritz!Box eingetragen, falls kein eigener (von der Fritz!Box abweichender) DNS angegeben ist.

So sieht das bei mir aus:
fritz!box ipv6-einstellungen

pfSense Schnittstellen

Die WAN-Schnittstelle konfiguriert man als DHCP6 Client. In den erweiterten Einstellungen legt man die Größe vom Prefix fest, welches die pfSense anfordern soll:
  • [ ] Only request an IPv6 prefix, do not request an IPv6 address
  • DHCPv6 Prefix Delegation size: 63
  • [x] Send an IPv6 prefix hint to indicate the desired prefix size for delegation

Grund, warum ich "Only request an IPv6 prefix, do not request an IPv6 address" im Gegensatz zu vielen anderen Tutorials nicht(!) anhake ist der, dass ich die IPv6-Adresse der pfSense dann auf der Fritz!Box "greifbar" habe (z.B. für Forwardings, Filterregeln, Profile usw. usf.).

Auch hier sagt ein Bild mehr als 1000 Worte:
pfsense wan

Bei der LAN-Schnittstelle "schauen wir quasi durch die WAN-Schnittstelle auf die Fritz!Box. Die dazugehörige Schnittstelle wird auf "Track Interface" gesetzt. In den entsprechenden Optionen ist folgendes konfiguriert:
  • IPv6 Interface: WAN
  • IPv6 Prefix ID: 0

Eine andere ID als 0 würde hier keinen Sinn machen. Wir haben ein /63er Netz angefordert, ein /63er Netz erhalten und möchten ein /63er Netz verteilen. Der obligatorische Screenshot:
pfsense lan

Auch wenn man bei der Konfiguration mit diversen "Apply Changes" Anfragen konfrontiert wird: Es empfiehlt sich, die pfSense jetzt einmal neu zu starten. Nach dem Neustart schaue ich in die Netzwerkeinstellungen unter Status -> Interfaces, ob die pfSense die Adressen übernommen hat. Bei mir sieht das so aus:
pfsense interfaces

Die wesentliche Information findet sich hinter IPv6 Address: Hier sollte jetzt eine Adresse aus dem Netz auftauchen, das wir vom Internetanbieter dynamisch zugewiesen bekommen haben. Vergleiche dazu den vorangegangenen Abschnitt "Betrachtung der Netzwerkanbindung".

Wer jetzt, wie ich, unter chronischer Vergleicheritis leidet, "auf Nummer Sicher" gehen möchte und ein Gefühl dafür bekommen möchte, welche Adressen wo auftauchen, schaut sich die pfSense in der Heimnetzübersicht der Fritz!Box an:
details pfsense

"Ja aber bei IPv6 sind doch mehrere Adressen pro Schnittstelle möglich und üblich - müsste dann nicht auch die ULA-Adresse (aus unserem "zufällig zusammengewürfelten" fd00::/8 Netz) in der Netzwerkübersicht der pfSense angezeigt werden?"

Ja, das müsste sie - wird sie aber nicht. Die pfSense hat dennoch eine Adresse aus dem ULA-Netz erhalten und kennt diese auch. Wer es nicht glaubt, kann das (auf der pfSense) in einer Shell mit "ipconfig -a" überprüfen. Es handelt sich somit schlichtweg um einen Fehler in der Anzeige. Wer es nicht glaubt - ich trete gerne den Beweis an:
pfsenes ifconfig

Hier sieht man, dass das WAN-Interface drei Adressen vorhält:
  • Die Adresse mit dem Präfix fe80::/64 ist die Link-Local-Adresse
  • Die Adresse aus dem Subnetz xxxx:xxxx:0dc0:481a::/64 stammt von unserem Internetanbieter. Vergleiche dazu den vorangegangenen Abschnitt "Betrachtung der Netzwerkanbindung".
  • Die Adresse aus dem Subnetz fd00::/8 Netz stammt aus unserem ULA-Netz auf der Fritz!Box

Auf der LAN-Schnittstelle sieht es änlich aus mit dem Unterschied, dass hier keine ULA-Adresse aus dem Netz der Fritz!Box konfiguriert ist. ULA-Adressen existieren immer nur innerhalb eines Netzwerksegmentes. Die trennende Komponente ist hier die pfSense, so dass die das ULA-Netz zwar ein-, aber nicht ausgehend sieht.

Wir haben jetzt die IPv6-Adressen auf der pfSense und fahren mit der Konfiguration der Firewall fort. Damit die pfSense weiß, wo sie ihren IPv6-Traffic los wird, setzen wir unter System -> Routing -> Gateways das entsprechende Gateway. Das geschieht nicht automatisch (...und ich wäre fast wahnsinnig geworden!).
pfsense gateways

Auch wenn es noch so verführerisch erscheint: Der DHCPv6-Server wird nicht aktiviert und hier muss auch nichts konfiguriert werden. Statt dessen setzen wir unter Services -> DHCPv6 Server & RA -> Router Advertisements den "Router Mode" auf Unmanaged:
pfsense router advertisements

Unser Ergebnis

Ein "Windows 10" PC hängt an der LAN-Schnittstelle der pfSense und bezieht via DHCP seine IPv4- und (hoffentlich auch) seine IPv6-Adresse. In der Eingabeaufforderung verschaffen wir uns mit ipconfig /a einen ersten Überblick:
windows 10 ipconfig

Unser Windows-PC hält, IPv6-technisch gesehen, drei Adressen vor:
  • Die Adresse mit dem Präfix fe80::/64 ist die Link-Local-Adresse
  • Die IPv6-Adresse aus dem Subnetz xxxx:xxxx:0dc0:481a::/64 stammt von unserem Internetanbieter
  • Die temporäre IPv6-Adresse aus dem Subnetz xxxx:xxxx:0dc0:481a::/64 stammt von unserem Internetanbieter

Aus Gründen des Datenschutzes wird unter Windows (m.W. seit "Windows 7") immer eine temporäre Adresse gebildet. Diese wird unter Zuhilfenahme von zufällig generierten Daten generiert bei jedem Neustart neu gebildet. Somit soll sichergestellt werden, dass ein PC nicht anhand seiner IP-Adresse "wiedererkannt" werden kann.

Weitere Beweise für das Überschreiten der Zielgeraden verschaffen wir uns so:
windows 10 ping nslookup

  • Der ping auf eine "beliebige" IPv6-Adresse (z.B. 2620:fe::fe, das ist der DNS-Server von Quad 9) verläuft problemlos.
  • Der ping auf die ULA-Adresse der Fritz!Box funktioniert ebenfalls.
  • Unsere Fritz!Box löst den eigenen Hostnamen fritz.box fehlerfrei auf. Als Antwort erhalten wir ihre IP-Adresse aus dem öffentlichen Netz unseres Anbieters und die ULA-Adresse.
  • Unsere Fritz!Box löst die eigene ULA-Adresse revers auf. Als Antwort erhalten wir - wie erhofft - den Hostnamen fritz.box

Ein letzter prüfender Blick geht auf einen der zahlreichen Dienste, mit denen man seine IPv6-Anbindung überprüfen kann. Mein Favorit ist IPv6 test. Das Ergebnis:
ipv6-test

Und? Was fällt uns auf? Richtig - es wird tatsächlich die temporäre IPv6-Adresse unseres "Windows 10" PCs verwendet. Seine eigene, ebenfalls öffentliche IPv6-Adresse wird verschleiert - was dem Datenschutz sicher keinen Abbruch tut.

Ich würde mal behaupten, wir sind "fertig". Fragen, Anregungen und Ergänzungen gerne in den Kommentaren.

Liebe Grüße,
Jörg

Content-ID: 574975

Url: https://administrator.de/contentid/574975

Printed on: December 10, 2024 at 14:12 o'clock

Lochkartenstanzer
Lochkartenstanzer May 28, 2020 at 11:32:53 (UTC)
Goto Top
Zitat von @117471:

Ich beschreibe hier lediglich die IPv6-Anbindung. Informationen zu IPv4 sollten selbsterklärend sein. In meinem Szenario verwende ich eine pfSense, die an einer Fritz!Box 6360 von Kabel Deutschland hängt. Ich bemühe mich, die Anleitung so allgemein wie möglich zu halten, damit sie möglichst leicht auf eigene Szenarien angewandt werden kann.

Moin,

Kurze Anmerkung:

Auch die 7590 & Co. unterstützen natürlich das "weitergeben" der Subnetze auf diese Art, d.h. die Anleitung ist nicht auf die "Kabelfritte" beschränkt.

Das ULA-Präfix sollte man zufällig generieren, bei mir hat der Zufallsgenerator mein Geburtsdatum, gefolgt von abcd ausgeworfen face-smile

Weitere beliebte Zufallszahlengeneratoren spucken gerne mal "abba" oder "deadbeef" als Ziffernfolgen aus. face-smile

lks
117471
117471 May 28, 2020 at 11:40:55 (UTC)
Goto Top
Hallo,

Zitat von @Lochkartenstanzer:

Auch die 7590 & Co. unterstützen natürlich das "weitergeben" der Subnetze auf diese Art,

Japp, das denke ich mir auch. Ich kann natürlich nur das beschreiben, was auf meinem Schreibtisch steht. Ich habe mich daher bemüht, meine Anleitung auf die "best Practice" und das zu reduzieren, was man in irgendeiner Art und Weise überall vorfindet. Deine Anregung mit den ULA-Adressen habe ich berücksichtigt.

Bezüglich ULA kommt demnächst noch etwas, was auf dieser Anleitung bzw. diesem Szenario aufbaut. Hier ging es erst einmal darum, Internetseiten via IPv6 zu erreichen, was vermutlich 90% aller Anwendungsfälle abdecken dürfte.

Gruß,
Jörg
it-frosch
it-frosch May 28, 2020 at 12:07:54 (UTC)
Goto Top
Hallo Jörg,

danke erst einmal für deine Anleitung.
Wenn ich das richtig verstehe kann ich mir damit eine DMZ am Kabelanschluss aufbauen?

grüße vom it-frosch
Lochkartenstanzer
Lochkartenstanzer May 28, 2020 at 12:13:35 (UTC)
Goto Top
Zitat von @it-frosch:

Hallo Jörg,

danke erst einmal für deine Anleitung.
Wenn ich das richtig verstehe kann ich mir damit eine DMZ am Kabelanschluss aufbauen?

Nicht nur am Kabelanschluß sondern auch am DSL-Anschluß. Die Telekom gibt Dir z.B. ein /56. damit könntest Du 256 separate Netze hinter der Fritzbox aufspannen.

lks
117471
117471 May 28, 2020 at 12:19:04 (UTC)
Goto Top
Hallo,

japp - deshalb die Vorab-Betrachtung und der Verweis auf den Netzwerkrechner. Somit kann jeder selber eruieren, welche Möglichkeiten sein ISP ihm eröffnet.

Man sollte sich immer vor Augen führen, welche Netze und Präfixe die eigene Fritz!Box wofür reserviert.

Gruß,
Jörg
Hoernchen52
Hoernchen52 Mar 16, 2021 at 18:01:30 (UTC)
Goto Top
Hallo altmetaller,
das war ganz großes Kino ! Hat bei meiner AVM 7390 mit Telekom DSL auch sofort geklappt.
Vielen Dank für die tolle Anleitung.
Hoernchen52
Tadeusz
Tadeusz Apr 06, 2021 at 13:07:11 (UTC)
Goto Top
Hi, ich bin neu bei IPv6, nach der Anleitung hat alles gut geklappt.
Zwei Dinge noch bleiben:
In "Routing/Gateways" am pfSense wird keine IPv6-Adresse angezeigt (Gateway dynamic).
Auf Dashboard die WAN_DHCP6 steht auf "Pending"...
Gehe davon aus, dass irgendwie die zwei Dinge zusammenverbunden sind. Woran kann es liegen?

Windows hat alle IPv6 bekommen, praktisch sollte von Außen zumindest "anpingbar" sein. Oder? Geht aber nicht. Wie kann ich die Verbindung jetzt testen? Am pfSense-FW habe ich testweise ganze IP6-Traffic zugelassen, paar Verbindungen sind auch da. Am Windows auch kurz abgeschaltet - geht nicht. 100% Packet loss.
Danke im Voraus
LG.TK
117471
117471 Apr 06, 2021 at 13:11:35 (UTC)
Goto Top
Hallo,

bei mir (Vodafone, ehemals Kabel Deutschland) wird ICMP eingehend gefiltert.

Gruß,
Jörg
Tadeusz
Tadeusz Apr 07, 2021 updated at 14:24:54 (UTC)
Goto Top
Hi, danke für Hinweis. Ich habe grade eine VM in VBox eingerichtet mit SSH-Server (Netzwerkbrücke, gleiches IP-Bereich wie Host). Geht auch nicht (Timeout). Lokal geht (also innerhalb Testumgebung), nach außen IPv6 geht, von Außen zu mir nicht. Sind dann alle eingehende IPv6-Verbindungen gefiltert und zwar bei Provider?

So schaut es überall aus (etwas geändert / anonymisiert). Ist es richtig?

Fritzbox - WAN:
IPv6-Adresse: 200a:bd:7fff:1174:464e:6dff:fe41:f65b
IPv6-Präfix: 200a:bd:7f10:f400::/56 <- 56 bit, nicht änderbar

Fritzbox - LAN (192.168.188.128/25):
ULA: fd00:464e:9157:beef:464e:6dff:fe41:f65e/64 <- 64bis, nicht änderbar

Fritzbox - Verwendete IPv6 Präfixe:
Heimnetz -/-
Gastnetz -/-
WAN 200a:bd:7f10:f400::/64 <- nur info, nicht änderbar

pfSense - WAN ( also LAN-Seite von Fritz, 192.168.188.252):
inet6 fe80::20d:b9ff:fe41:878%igb0 prefixlen 64 scopeid 0x1
inet6 fd00:464e:9157:beef:20d:b9ff:fe41:878 prefixlen 64 autoconf
inet6 200a:bd:7f10:f400:20d:b9ff:fe41:878 prefixlen 64 autoconf

pfSense - LAN-in-LAN (Testumgebung, 192.168.169.1):
inet6 fe80::20d:b9ff:fe41:879%igb1 prefixlen 64 scopeid 0x2
inet6 fe80::1:1%igb1 prefixlen 64 scopeid 0x2
inet6 200a:bd:7f10:f4ff:20d:b9ff:fe41:879 prefixlen 64

Windows-in-Testumgebung (*.169.100 from DHCP am pfSense)
IPv6-Adresse. . . . . . . . . . . : 200a:bd:7f10:f4ff:19be:16bc:642b:ee0e(Bevorzugt)
Temporäre IPv6-Adresse. . . . . . : 200a:bd:7f10:f4ff:7408:93e:bf3b:a0e2(Bevorzugt)
Verbindungslokale IPv6-Adresse . : fe80::19be:16bc:642b:ee0e%13(Bevorzugt)

Linux-in-Testumgebung (*.169.101 from DHCP am pfSense)
inet6 200a:bd:7f10:f4ff:a00:27ff:fea9:db97/64 scope global dynamic mngtmpaddr noprefixroute
inet6 fe80::a00:27ff:fea9:db97/64 scope link

Ich sehe gerade, dass die Prefixen irgendwie nicht stimmen sind aber am Fritz nicht änderbar.
Muss vielleicht irgendwo eine Route eingerichtet werden? Bspw. über IPv4 aus *188.0-Netz die VM jetzt zu erreichen, müsste ich Static-Route am Fritz einrichten (dest *169.0/24 via *188.252) - sonst "Destination Net Unreachable".
117471
117471 Apr 07, 2021 at 15:38:16 (UTC)
Goto Top
Hallo,

bist Du sicher, dass das ein Produkt zur Anbindung von Serverdiensten ist?

Ob der ISP filtert siehst Du letztendlich ja in der pfSense. Entweder Du kommst durch oder im Log taucht ein Block auf.

Gruß,
Jörg
Tadeusz
Tadeusz Apr 08, 2021 updated at 10:33:43 (UTC)
Goto Top
Hallo, na ja, an Fritz-Oberfläche komme ich drauf (per IPv6) ist ja aber kein SSH. Weiter ins LAN brauche bei IPv4 eine Portweiterleitung, bei IPv6 theoretisch nicht. Ich werde weiter suchen.
Zu "Produkt" - meinst du mein DSL-Anschluss? Warum ned? Ich kenne kleine Unternehmen, die wegen HomeOffice haben "ein Loch" in Fritz zu openVPN am Server in Geschäft gemacht und arbeiten über Remote Desktop. Mit vollem Erfolg.
Ich "brauche" es lediglich um das ganze kennenzulernen. Dachte, wenn ICMPv6 blockiert, dann vllt. direkt SSH. Aber auch ned. Und obwohl seit gestern hat sich am pfSense nichts geändert (von admin-Seite), heute IPv6 funktioniert nicht mehr (keine globale IPv6).
Na egal.
Danke.
LG.TK
117471
117471 Apr 08, 2021 at 10:39:31 (UTC)
Goto Top
Hallo,

einen "Bug" hat die Lösung tatsächlich: Wenn sich das IPv6-Präfix ändert (Neustart der FRITZ!Box o.Ä.), dann bekommt die pfSense das bis zur Version 2.5.4 nicht mit. Mit der 2.5 soll es angeblich gefixt sein, die habe ich allerdings aufgrund diverser anderer Bugs und der eher fragwürdigen Netgate-Firmenpolitik noch nicht getestet.

"In Firmen" läuft es übrigens anders herum: Dort wird ein VPN-Gateway hinter einer IPv4-Adresse betrieben und die Clients wählen sich allesamt auf dem Gateway ein.

IPv6 basiert maßgeblich auf ICMP. Ich befürchte, wenn Vodafone das blockt, wird sich das auf "Internetseiten angucken, E-Mails lesen usw." beschränken.

Dieser IPv6-Test sollte Dir zeigen, ob ICMP eingehend verfügbar ist oder blockiert wird.

Gruß,
Jörg
Tadeusz
Tadeusz Apr 08, 2021 at 16:19:49 (UTC)
Goto Top
Mit der 2.5 soll es angeblich gefixt sein,
Scheinbar ist nicht der Fall. Ich habe bereits V2.5 und große Unterschiede zu 2.4.5-rX sehe ich nicht.

fragwürdigen Netgate-Firmenpolitik
War mir schon viel früher klar, dass es so endet. Wie vielen anderen OpenSource Projekten.

"In Firmen" läuft es übrigens anders herum: Dort wird ein VPN-Gateway hinter einer IPv4-Adresse betrieben und die Clients wählen sich allesamt auf dem Gateway ein.
So ist bei mir auch. Leider ein Bekannte hat kleine Gewerbe mit billig-VF-Router mit DS-Lite (nur IP6) und ich war leider ratlos, wie das ganze schnell einrichten, dass er dann von Daheim auf dem Rechner im Geschäft arbeiten kann (Router Port 1194 -> Portforward auf Rechner mit openVPN-Server -> RemoteDesktop). Hast du vllt. ne Idee, die nicht auf TeamViewer (o.ä.) basiert?

Ich befürchte, wenn Vodafone das blockt, wird sich das auf "Internetseiten angucken, E-Mails lesen usw." beschränken.
Also einerseits haben wir seit über 20 Jahren IP-NewGeneration, andererseits nur für www/e-mail und zwar nicht eingehend. Krass...

Genau dort habe ich alles getestet. Nach pfSense-Neustart war bis auf ICMP alles grün (Score 18/20), heute ist es nur 4/20 (hinter dem pfSense).

Danke für die Infos.
VG.TK
117471
117471 Apr 08, 2021 at 16:29:19 (UTC)
Goto Top
Hallo,

vielleicht irgendwo einen externen VPN Server hinstellen (Oracle Free Tier o.Ä.), das Geraffel dort anmelden und Client-to-Client aktivieren?!?

Gruß,
Jörg