Loading…

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:

  • DHCPv6
    • Ein DHCPv6-Server im Providernetz verteilt das Präfix (und die IP) und die DNS-Server aktiv an Clients, die einen DHCP-Request senden.
  • SLAAC
  • 6rd
    • Bei 6rd wird, ähnlich wie bei 6to4-Tunneln, die Providerinfrastruktur nicht nativ auf IPv6 ausgelegt und der IPv6-Verkehr in IPv4-Pakete verpackt. Der relevante Unterschied ist, dass die Endgeräte öffentlich erreichbare Adressen haben.

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 Regel hinzugefü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. Occasionally working with Ubiquiti Hardware and pfSense. Also interested in payment solutions.

24 thoughts on “Deutsche Glasfaser: IPv6 vs. pfSense/opnSense

  1. 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. 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. 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.

    1. 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.

    2. 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.

    3. 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.

    4. 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?

    5. 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.

    6. 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.

    7. 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.

    8. 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.

    9. 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.

  4. Hallo Armin,
    vielen Dank für die Infos.
    Bei mir ist angeblich seit gestern DGF aktiv und ich habe vom NT einfach ein Kabel zu einem meiners ports der PFSENSE angeschlossen, da ich keinen DGF router verwenden will und auch habe.
    Leider bekomme ich bei beiden konfigurationsvarianten keine IP zugewiesen – weder ipv4 noch ipv6.

    BEI 6rd siehts so aus:

    Status
    up
    DHCP
    up
    Relinquish Lease
    MAC Address
    00:0d:b9:43:xx:xx – PC Engines GmbH
    IPv4 Address
    0.0.0.0
    Subnet mask IPv4
    255.0.0.0
    IPv6 Address
    2a00:61e0::
    Subnet mask IPv6
    32
    Gateway IPv6
    2a00:61e0:647f:1::
    MTU
    1500
    Media
    1000baseT
    In/out packets
    0/85 (0 B/6 KiB)
    In/out packets (pass)
    0/85 (0 B/6 KiB)
    In/out packets (block)
    0/0 (0 B/0 B)
    In/out errors
    0/0
    Collisions
    0

    Bei DHCP6 so:

    Status
    up
    DHCP
    up
    Relinquish Lease
    MAC Address
    00:0d:b9:43:11:02 – PC Engines GmbH
    IPv4 Address
    0.0.0.0
    Subnet mask IPv4
    255.0.0.0
    IPv6 Link Local
    fe80::20d:b9ff:fe43:1102%re2
    MTU
    1500
    Media
    1000baseT
    In/out packets
    0/986 (0 B/66 KiB)
    In/out packets (pass)
    0/986 (0 B/66 KiB)
    In/out packets (block)
    0/0 (0 B/0 B)
    In/out errors
    0/0
    Collisions
    0

    Bekommt ihr bei Anschluss an den NT automatisch eine ipv4 vom DHCP?

    1. Grundsätzlich bekomme ich eine IPv4 vom DHCP der DGF. Ich hatte allerdings schon häufiger, dass ich die PfSense mal neu starten musste, wenn ich zu viele Änderungen am WAN Interface gemacht habe. Iwie scheinen mir auch die DHCP Server der DGF ziemlich lahm…

      Ich hoffe auch, dass du wirklich eine PfSense nutzt und keine OpnSense. Damit habe ich auf dem APU Board nie eine WAN Verbindung zustande bekommen. Gibt/gab da wohl einen Bug.

      Ich habe außerdem festgestellt, dass die Verbindung über 6rd bei mir irgendwie schneller bzw. Sicherer aufgebaut wird. Wenn ich nur dchpv6 konfiguriere, kann es sein, dass ich gar keine Adressen zugewiesen bekomme.

    2. Hmm also komischweise bekomme ich mit einem Windows laptop eine ipv4 zugewiesen, jedoch nicht bei der pfsense oder demselben laptop, wenn ein OS X gestartet wurde. Die Antwort des DHCPs kommt zwar wird aber nicht angenommen.
      Was auffällig ist, ist dass der NT folgende MAC addresse hat:
      02:00:00:00:00:10 (ip 100.72.128.1)
      Diese wird scheinbar vom Kernel ignoriert?

    3. Moin,
      entschuldige bitte die späte Antwort.
      Ich kann dir da momentan aber auch nicht wirklich weiterhelfen.
      Als der Anschluss bei mir geschaltet wurde habe ich die Erfahrung gemacht, dass ein direkt angeschlossenes Windows-Notebook zwar eine netzinterne IPv4 bekommt, aber keine IPv6.
      Meine Vermutung war damals, dass es an der Art und Weise liegt, wie das große “Hauptpräfix” angefordert werden muss.

      Jsut to be sure: du hattest bei der DG auch explizit angegeben, dass du einen eigenen Router verwenden willst?

    4. Hallo,
      endlich war jemand von DG da und hat das Problem auch beseitigt.
      Auch wenn der Techniker sein Windows Laptop angeschlossen hatte und mit “es geht doch” schon wieder gehen wollte, bin ich hartnäckig geblieben und habe auf das nicht funktionieren mit JEDEM Router hingewiesen, was die gemeinsamen tests dann auch bestätigt haben.
      Nach ein paar Telefonaten, deren Inhalt ich nicht mitbekommen habe, gings dann aber.
      Viele Grüße und nochmals Danke für die hilfreichen Informationen!

  5. Hallo!

    wir hatten schonmal das vergnügen, und bedanke mich nochmals die ausführliche Hilfe per Mail durch deinen Kollegen.

    Heute war es soweit. Mein Anschluss wurde auf Bridge Mode umgestellt. Da ich mit opnsense aber leider die oben beschriebene Schritte nicht nachvollziehen konnte, habe ich kurzerhand pfsense installiert.

    Und dies ebenfalls exakt wie oben beschrieben konfiguriert. Habe mich für die dhcpv6 Methode entschieden.

    Die ganzen Geräte bekommen nun alle ne ipv6 Adresse jedoch hat keines über ipv6 ein Internetzugang, weil kein Gerät ein DNS-Server zu verfügung hat. Hab in pfsense auch überall das irgendwas mit DNS für ipv6 zutun hat 2606:4700:4700::1111 eingetragen, jedoch trotzdem hat keins ein ipv6 Zugang. Ebenfalls den Trick ausgeführt mit dem einmal de- und aktivieren der Firewallregel bzgl. ipv6 brachte nichts.

    Und sehe ich es richtig, das für die Slaac Konfiguration nur ein Haken bei “use same settings as DHCPv6 server” zu setzen ist?

    Ich muss nochmals erwähnen das ich es super finde das du solche Guides postest!

    Mit der Internetgeschwindigkeit bin ich super zufrieden bzgl Deutsche Glasfaser. Aber was der technische Support angeht, ist unter aller sau… Die versuchen zwar einen zu helfen, aber wenn der Herr mich fragt was ein ipv6 präfix sei, und das mich, der selbst davon so gut wie 0 Ahnung hat, finde ich das echt zum verzweifeln.

    PS: was ich noch beobachtet habe: Ich habe eine 1gbit Leitung. Aber jedesmal wenn ich pfSense neustarte, muss ich die Box neustarten in dem das Glasfaser in Kupfer gewandelt wird, weil dann die 1gbit auf 100mbit gedrosselt wird…

    1. Moin,

      – Hast du auf den Geräten den IPv6 DNS Server händisch gesetzt und geguckt, obs dann läuft?
      Prinzipiell sollte es ausreichen, die Nameserver über das “General Setup” zu definieren. Dann werden die als Standardwerte auch für die ganzen Services von pfSense gesetzt, solange man dort nicht manuell konfiguriert.

      – Für SLAAC sollte es reichen, in den Router Advertisements das Häkchen zu setzen und oben auf “Assisted” zu stellen.

      – Der Support der DG ist echt nicht das Wahre, aber wenn man sich die Arbeitgeberbewertungen bei bspw. kununu anguckt, kommt das auch nicht von Ungefähr…

      – Die 100 Mbit Drosselung ist bei mir noch nicht aufgetreten. Das klingt nach einem Problem bei der Aushandlung der Verbindung. Hast du mal auf deiner Seite eine andere Netzwerkkarte oder ein anderes Kabel probiert?

      Armin

  6. Hey

    – Ja habe ich.Tats nicht. Gab dann auf und lies die Geräte an und ging schlafen. Am nächsten morgen (also heute) tats alles und tut es immer noch!

    – Ok

    – Ja, wohl wahr…

    – Ja habe das weiter beobachtet. Das liegt daran dass das zugrundeliegende Nic Interface spontan sich entscheidet auf 100mbit runter zu gehen… das problem tritt aber seit gestern auch mit opnsense auf. Also seit der umstellung auf Bridge Modus. Sobald man das Kabel am WAN ein und austeckt, dann ist wieder 1gbit. Und ich konnte es darauf eingrenzen das es auf 100mbit drosselt wenn über paar minuten “richtig saft” gezogen wird. Ich aktualisiere mal proxmox und starte proxmox mal neu. Vielleicht hat er das nicht so verkraftet mitten im Betrieb paar Kabel und ports gewechselt zu bekommen.

  7. Hi,
    danke für den Artikel – wärst Du so nett die Firewall Regeln für die FritzBox VOIP nochmal aufzuschreiben. Aus dem Screenshot kann ich leider keine Ports und IPs sehen.

    1. Nabend, ich habe noch einen weiteren Screenshot hinzugefügt. Die Regel liegt in Firewall->NAT->Outbound. Bei Gelegenheit muss ich nochmal gucken, dass ich die so verändere, dass sie nur für die IPs der Fritzbox gilt. Ich erwarte da aber wegen des dynamischen IPv6-Präfixes auch wieder Probleme…

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.