Ik ben al een tijdje bezig met het bestuderen van het nieuwe internet protocol IPv6, dat het al lang bestaande tekort aan IPv4 adressen moet gaan opvangen. Eerst via een tunnel provider, waar IPv6 over de IPv4 verbinding loopt, totdat plotseling KPN adressen op mjin thuisnetwerk verschenen… Het betreft een Experia box V10 met DSL. Ik heb in een virtuele machine gekeken hoe het met een PfSense router werkt en daarover wat opgeschreven. Ik zal het hierbij delen, misschien heeft iemand er wat aan.
Â
IPv6 met Experiabox V10
Â
IPv6 is het nieuwe internet protocol, op dit moment als “dual stack” samen met het oude IPv4 beschikbaar op steeds meer aansluitingen. Functionaliteit is vergelijkbaar, alleen worden 128 bits gebruikt voor een adres i.p.v. 32. Er is dus een astronomisch aantal adressen beschikbaar.Â
Â
Notatie van IP adressen.Â
IPv4:Â Â Â 4 decimale getallen tussen 0 en 255, gescheiden door punt. Â Voorbeeld: 192.168.1.254
IPv6:   8 hexadecimale getallen tussen 0 en ffff, gescheiden door “:”
Voorbeeld:Â Â Â 2a02:1234:5678:0:a54b:8c6d:3357:410d
Voorloop nullen worden weggelaten
Groepen van achtereenvolgende nullen kunnen vervangen worden door “::”, zolang het adres ondubbelzinnig is. Â
Â
Een IPv6 bestaat uit een netwerk-deel en een deel voor de aangesloten systemen. Standaard ligt de scheiding bij 64. Automatische configuratie (SLAAC) is gebaseerd op deze /64 netwerken.Â
Â
Prefix: Netwerkdeel van het IP adres, gevolgd door “::/” en het aantal bits van het netwerk gedeelte. Voorbeeld: 2a02:1234:5678:9abc::/64
Bovendien krijgt iedere netwerk interface standaard een link-local adres in fe80::/64
Â
Hoe krijgt een netwerk interface een IPv6 adres:Â
Â
-
Stateless (SLAAC): Hiervoor hoeft niets gedaan te worden. De Experiabox verzendt “Router Advertisements” met prefix, router adres en DNS server. De computer geeft zichzelf aan de hand van de prefix een IPv6 adres.. Dit wordt nergens geregistreerd, vandaar “Stateless”, maar de PC hangt aan het IPv6 internet. Test: https://ipv6-test.com
-
Stateful: Vraag via een DHCP een IPv6 adres en DNS adres op bij de Experia box. Routing komt alsnog via een advertisement en kan even duren!
 -
Handmatig: Adres, prefix lengte, DNS en route worden handmatig geconfigureerd. Pas op: het correcte default router adres staat niet op de Experiabox status pagina!
 Routing wordt via een “router advertisement” gezet. Dit kan een paar minuten duren, de Experia box lijkt niet op “router solicitations” te reageren.Â
Â
Beschikbaar 2**64 = 1.8e19 wereldwijd unieke en van buitenaf bereikbare adressen. Wat moet je daarmee? Als consument niet veel, hoeveel smart LED’s passen in een woning? Maar het is mogelijk de laatste 64 bit’s random te maken, om tracking op PC niveau te hinderen. Maar de KPN prefix identificeert de woning precies zoals het globale IPv4 adres….
Â
Beperking:
De Experiabox is een consumenten router met minder configuratie mogelijkheden dan een professionele router. De Experia box firewall configuratie is gebaseerd op host/poort, net als bij IPv4. Wel kunnen meerdere DMZ’s geconfigureerd worden. Waarschijnlijk zit daar de beperking van het aantal van buitenaf bereikbare apparaten.
Â
Extra router achter de Experia box:
Â
Ondanks het gigantische aantal adressen is er een probleem: als een router achter de Experia box gezet wordt, zijn de computers aan de LAN kant van de router niet zichtbaar. Onder de motorkap verloopt IP communicatie via MAC adressen. De Experia box vraagt via “Neighbour Discovery” wie een bepaald IPv6 adres bezit en wat het MAC adres is. Als een systeem achter een router hangt, is dit onzichtbaar en de verbinding komt niet tot stand. De Experia box moet dus weten dat die adressen achter een router zitten en dus VIA de WAN van de router bereikt moeten worden. Dat zit helaas niet in de configuratie pagina’s….
Bij IPv4 is dit geen probleem, omdat iedereen NAT accepteert, alle systemen op de LAN van de router worden afgehandeld door de WAN van de router, en dan door de WAN van de Experia box op het publieke IPv4 adres. En dan puzzelen met port forwarding. Maar nu zijn er 2**64 unieke IPv6 adressen i.p.v een enkel IPv4 adres.
Â
Dit is bij IPv6 als volgt opgelost: KPN is genereus en geeft iedere gebruiker een /48 prefix.
Hiermee kunnen theoretisch 65536 /64 subnetten gemaakt worden.
Dit betekent dat de eerste drie groepen van het IPv6 adres door KPN bepaald worden, van de vierde groep zijn 0000 en 0001 gereserveerd voor de Experia box, 0100 tot ffff kunnen voor subnetten gebruikt worden. Â
Â
Maar hoe te configureren???? Antwoord is “Prefix delegation”.Â
Een speciale DHCP opdracht vraagt aan de Experia box een prefix. Deze geeft een /56 prefix.
Dit kan een door de Experia box te kiezen prefix zijn, of een vooraf gedefinieerde, mits beschikbaar. Met een /48 prefix kun je 256 /56 prefixen maken, van een /56 weer 256 /64 prefixen. Een DHCP client die dat kan is dhcp6c, deze vraagt via de router-WAN een /56 prefix aan de Experia box, en verdeelt deze in /64 prefixen voor LAN en VLANS. Om de hele /56 prefix aan de router uit te besteden, zet de Experia box zet een route naar het link-local adres van de WAN van de router. Het is niet vereist dat WAN een eigen IPv6 adres krijgt, link-local is standaard beschikbaar.  Â
Â
Implementatie in PfSense firewall: (getest in VirtualBox)
Â
Advanced Networking: Schakel “Allow IPv6” in (!)
Firewall: Open port TCP/UDP 546 voor Ipv6 op de WAN poort voor de DHCP client.  Â
Â
WAN/IPv6 Configuration type : DHCPv6
DHCPv6 Prefix delegation size: 56
Â
LAN:Â Â Â IPv6 configuration type: Tracking interface
   Track IPv6 interface : WAN
   IPv6 prefix ID: Definieert de laatste twee hex-cijfers van het vierde segment van het adres.Â
Â
Hetzelfde voor eventuele VLAN’s, ieder een ander IPv6 prefix ID.Â
Vaste /56 prefix: Lukt mij niet via het PfSense DHCP6/advanced menu, maar wel met een door de gebruiker gedefinieerde dhcpv6_wan.conf file. De PfSense interface biedt deze mogelijkheid.Â
Â
Â
Â
 Â