Deutsche Glasfaser: IPv6 vs. pfSense/opnSense

Dieser Eintrag wurde nach der Erstveröffentlichung wesentlich erweitert und verändert. An dieser Stelle besten Dank an Sven Hofacker für das gemeinsame Erarbeiten einer besseren Konfiguration.

Wenn man statt der weit verbreiteten Fritz!Boxen (und einigen anderen Routern) eine pfSense-Installation für die Bereitstellung des Internetzuganges nutzen will, sind einige Punkte zu beachten.

DHCPv6 oder SLAAC oder 6rd? (WAN-Seite)

Da bei IPv6 im Gegensatz zu IPv4 reichlich Adressen vorhanden sind, sind keine Krücken wie NATs vorgesehen. Jeder Computer soll seine eigene Adresse erhalten und darüber ansprechbar sein.

Dazu wird ein sogenanntes Präfix an den Router vergegeben. Dieses ist 64 Bit lang (von 128 Bit Gesamtlänge). Die restlichen 64 Bit werden entweder vom DHCPv6 Servers bei Vergabe an den Client gefüllt oder (bei SLAAC) vom Client selber. (Dabei wurde grundsätzlich erst einmal die MAC-Adresse der Netzwerkkarte verwendet. Da dies aber aus datenschutztechnischer Sicht nicht optimal ist, wurden Privacy-Extensions eingeführt (RFC 4941).)

Nun geht es um die Frage, wie der Router (in meinem Falle pfSense) das Präfix bekommt, um es überhaupt weiterverteilen zu können. Dafür gibt es 3 verschiedene Techniken:

Die Deutsche Glasfaser verwendet in den neueren Netzen sowohl DHCPv6 als auch 6rd, während ältere (eventuell <2015) dem Vernehmen nach nur 6rd unterstützen. Beide Konfigurationen sind mit pfSense/opnSense möglich. Die Menüstrukturen und auch die Bezeichnungen der einzelnen Optionen weichen teilweise voneinander ab, aber grundsätzlich sind in beiden Distributionen alle vorhanden.

6rd Konfiguration

Falls man 6rd benutzen möchte (nebenbei angemerkt: Durch das Verpacken der Pakete verringert sich die MTU geringfügig) oder muss, sind folgende Einstellungen notwendig:

Insbesondere relevant sind hierbei die Zugangseinstellungen für das 6rd-Gateway:

6rd Präfix2A00:61E0::/32
6rd Border relay100.127.0.1
6rd IPv4 Prefix length8

DHCPv6 Konfiguration

Bei DHCPv6 werden folgende Einstellungen gesetzt:

Wichtig ist hier die “DHCPv6 Prefix Delegation size” im WAN-Interface, da sich dieser Wert im Zweifelsfalle ändern kann (wenn der Provider nur noch kleiner Netze über das Präfix bereitstellt).

LAN-Seite konfigurieren

Das schönste Präfix bringt uns nichts, wenn wir es nicht an die Clients weiterverteilen können. Wie eingangs beschrieben, haben wir auch hier die Wahl zwischen SLAAC und DHCPv6. Diese beiden Varianten schließen sich aber keineswegs aus, sondern können problemlos nebeneinander existieren. Dies ist teilweise sogar sinnvoll, da beispielsweise Windows 10 vor dem Creators Update noch nicht richtig mit SLAAC funktionierte.

Konfiguration von DHCPv6 und SLAAC auf LAN-Seite

Anmerkungen

Nach dem Einrichten von DHCPv6 auf WAN-Seite und DHCPv6/SLAAC auf LAN-Seite hatte ich das Problem, dass zwar ordnungsgemäß Adressen verteilt wurden, aber von Clients kein Datenverkehr über IPv6 möglich war. Über sowohl das LAN-, als auch das WAN-Interface von pfSense waren hingegen keine Einschränkungen feststellbar. Ein Neuladen oder Deaktivieren/Aktivieren der Firewall/Rules/LAN/”Default allow LAN IPv6 to any rule” brachte hier sofort Besserung (Bezeichnung in pfSense. Diese Regel erlaubt ausgehenden IPv6 Verkehr und existiert auch in einer IPv4-Variante).

Für die Nutzung einer Fritz!Box hinter pfSense als Telefonanlage mit den SIP-Servern der Deutschen Glasfaser muss noch folgende Regelnhinzugefügt werden, da ansonsten verschiedene Probleme (nur eingehende oder ausgehende Sprachübertragung, gar keine Verbindung) auftreten können:

Author: Armin Jacob

Business Information Technology student at Kiel University, on his way through the net and world. Occasinally working with wireless networks.

Last modified on January 24th, 2019 at 8:57

Comments (13)

  1. Raphael at 18:08

    Hey du,
    Seid einem Update auf meinem Router, funktioniert die Automatische Konfiguration von IPv6 nicht mehr.
    Nur durch diese hier gemachten Angaben habe ich die Sache zum laufen bekommen.
    Ich hätte nirgendwo den Präfix von 2a00:61e0:: ersehen oder erahnen können.
    Vielen Dank für diesen Beitrag!

  2. Sven at 14:39

    Moin und besten Dank für den Eintrag,
    soeben habe ich openSense entsprechend konfiguriert und es lüppt..

    Frohe Restweihnachten und einen guten Rutsch in Jahr 2019 wünsche ich

    Gruß aus P’hagen
    Sven

    P.S.: Meld dich mal zum fachsimpeln .. .. ..

  3. MasterT at 18:02

    Sehr schöne Übersicht!

    Habs dank deiner Anleitung auch hinbekommen. Irgendwie macht mich nur stutzig, dass ich auf dem WAN ne IPv6 mit der /128 Maske bekomme und mir nicht ersichtlich ist, warum meine Portfreigaben (IPv6) trotzdem funktionieren und warum ich überhaupt ne IPv6 an meinen Clients bekomme.

    • Armin Jacob (Post Author) at 19:11

      Moin,
      wir verstehen das folgendermaßen:
      Du fragst bei der DG nach einem Prefix, aus dem sich pfSense für die LAN-Interfaces jeweils eine IP-bastelt und welches dann per SLAAC/… auch an die LAN-Clients weitergeht. Das WAN-Interface bekommt zusätzlich eine einzelne IP von der DG, um innerhalb des Providernetzes zu agieren.
      Bei 6rd mit Hurricane Electric scheint das ähnlich zu laufen.

      • MasterT at 8:17

        Hallo Armin, danke für die schnelle Antwort.

        Eigentlich ist es bei mir eingerichtet, wie oben in den Bildern zu sehen unter DHCP auf der WAN Schnittstelle.

        In den Bildern ist bei dir als Maske 64 angegeben, bei mir eben 128.

      • Armin Jacob (Post Author) at 8:59

        Moin,
        ich kann dir da nicht so wirklich folgen.
        Wir reden hier vom “Status”-Screenshot unter “DHCPv6 Konfiguration” oder? (Bei den beiden anderen hatte ich die Beschriftung vertauscht, ist nun korrigiert)
        Da hat das WAN-Interface (oben) eine einzelne IPv6 (/128) und im LAN habe ich ein /64er Netz, welches verteilt wird.
        Du kannst in den LAN-Einstellungen unter “IPv6 Prefix ID” konfigurieren, welches (/64er) Netz du aus dem Präfix an die Schnittstelle verweist.

      • MasterT at 17:19

        Hi,
        ja jetzt wo die Bilder korrigiert sind, ergibt das ganze Sinn. Warum ich den vorher nicht gesehen habe, ist mir echt schleierhaft.

        Gibt die DG an die Kunden nur noch /64er Netze aus? Ein etwas größeres Netz wäre mir bei meinem Vorhaben lieber. Das /64er lässt sich nach meinem Verständnis nach nicht so dolle in 2 Netze aufteilen, da SLAAC wohl dann nicht mehr funktionieren soll bzw. kleinere Netze als /64 nicht zulässig sind oder sehe ich da was falsch?

      • Armin Jacob (Post Author) at 19:10

        Nein, ich glaube du verstehst da etwas grundlegend falsch.
        Du bekommst von der DG ein /56er Präfix zugeteilt.
        Das WAN-Interface selber bekommt ein /128er Präfix, also wie schon beschrieben, eine einzelne IP.
        Dann konfigurierst du in den einzelnen (LAN-)Interfaces über “IPv6 Prefix ID” welches /64er Subnetz du an das Interface bindest (soweit ich das sehen konnte, handelt es sich immer um ein /64er Netz).
        Aus dem /56er kannst du also 256 Interfaces JEWEILS mit je einem /64er Netz versorgen.

        Bzgl. der SLAAC Problematik liegst du soweit richtig, dieser Fall tritt aber nicht zum Glück nicht ein.

      • MasterT at 19:22

        Ah, okay!
        Das WAN muss also nicht im Bereich des /56er Netzes liegen, welches mir zugeteilt wird…
        Das muss man erstmal wissen!

        Soweit so gut. Auch wenn es jetzt etwas “ausufert”:
        Wenn ich 2 LAN-Interfaces konfiguriert habe und auf dem ersten bei IPv6 sage “track interface”: WAN und bei “IPv6 Prefix ID”: 64 eintrage kann ich das beim zweiten LAN-Interface eben nicht, da pfSense mir die Fehlermeldung auswirft, dass ich genau das schon hätte bei dem ersten LAN-Interface gemacht.

        Somit ist mir noch nicht ganz klar, wie ich das mit 2 LAN´s und 2 /64er Netzen konfigurieren soll.

        Trotzdem vielen vielen Dank für die Klarstellung.
        Ich hatte vorher nen Lancom Router und da war das WAN definitiv im /56er Netz mit drin. Dazu sei angemerkt, es ist auch mehr Hobby, als das ich auch nur irgendwas dahingehend Studiert hätte oder so.

      • Armin Jacob (Post Author) at 19:35

        Du darfst nicht das gleiche Präfix benutzen. Der valide Bereich steht direkt unter dem Eingabefeld (bei mir (hexadecimal from 0 to ff)).
        Die Präfix ID wird Teil der IPv6-Adresse. Du verlängerst also im Grunde genommen das “Haupt”-Präfix um zwei Stellen. Dabei dürfen zwei Interfaces aber nicht dasselbe verteilen (im IPv4 Vergleich würdest du bspw. auf zwei Interfaces jeweils ein öffentlich geroutetes 123.456.5.* packen und dich dann wundern, wenn bei ankommenden Paketen nicht klar ist, an welches Interface sie sollen).

        Heißt: Interface 1 bspw. ID=1 und Interface 2 ID=2. Es kann sein, dass irgendeine Kombination reserviert ist, da musst du dann einfach andere testen.

      • MasterT at 20:07

        Also beispielhaft:
        c9 für LAN1 und ca für LAN2.

        Somit müsste dann eine IPv6 folgend aussehen:
        LAN1 2a00:xxxx:xxxx:xxc9:yyyy:yyyy:yyyy:yyyy
        LAN2 2a00:xxxx:xxxx:xxcA:yyyy:yyyy:yyyy:yyyy

        Habs jetzt eingetragen, keine Fehlermeldung bekommen. Den Rest sehe ich wohl dann, wenn ich am WE mal Testweise nen Laptop an LAN2 hänge.

      • MasterT at 20:15

        Nach nem Neustart des pfSense per DHCP keine IPv6 mehr bekommen von der DGF…
        Umgestellt auf 6rd. Auch wenn ich´s nicht gerne gemacht habe, da per DHCP ein Speedtest immer 490Mbit ergab und per 6rd “nur” 400Mbit, aber sei es drum. 400 sind ja auch nur gebucht.

        Die Konfiguration mit 2 LAN´s klappt. Danke nochmal für die Hilfe. Das einzige, was ich NICHT getestet habe, ob Freigaben ins LAN2 von der WAN-Seite aus auch funktionieren. Auf LAN1 gehts auf jeden Fall und ich wüsste nicht, warum es auf LAN2 nicht gehen sollte.

Leave a Reply

Your email address will not be published. Required fields are marked *