Beantwoord

IPv6 met DSL Experiabox V10 en PfSense

  • 30 April 2021
  • 12 reacties
  • 587 keer bekeken

Reputatie 5
Badge +2

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. 



 

 


 

  

icon

Beste antwoord door wjb 30 April 2021, 12:37

Bekijk origineel

12 reacties

Reputatie 7

Als de Experia Box /56 prefixen toewijst dan betekent dat dat je aan de LAN zijde van jouw PfSense gewoon /64 prefixen op jouw (v)lan's zou moeten kunnen gebruiken en dat daarmee SLAAC mogelijk zou moeten zijn.

Reputatie 5
Badge +2

Beste  Wjb,

 

Klopt helemaal….  Ik krijg ook /64 aan de LAN kant. Het is de dhcp6 parameter SLA_LEN die bepaalt hoeveel bits er van de prefix toegevoegd worden, die staat op 8.  In de DHCP6 Advanced  is deze in te stellen, zodat je ook bijv. van /56 naar /60 kunt in in een volgende router naar /64. Maar of iemand dat bij thuisgebruik nodig heeft???

 

Hello @hmmsjan_2 , I’ve tried this, but I’m only getting a /64 prefix on my WAN (and not a /56, as you mentioned), and then I’m not able to distribute it over my VLANs. Could it be something I’m missing?

Reputatie 5
Badge +2

Hello Kalpik,

You’re getting only a /64 on the WAN side, that’s just one address from the Experiabox LAN subnet, but you do not need it at all.   In the “Track” configuration of pfsense, a DHCPv6 client asks the Experia box via WAN to route another prefix to the Pfsense router.  Default, this is 2a02…..:100::/56, which allows to distribute 2a02…..100::/64 up to 2a02…...ffff::/64 to LAN and VLAN’s. You do not see anything on the WAN side, but because of the additional routing you can use the new subnets on the LAN/VLAN side. PfSense takes care of it by the “tracking” construct, you only have to specify the number added to this “…..:0100::” as “IPv6 prefix ID” for the different VLANS.   If you configure SLAAC for the LAN, all clients automagically get an IPv6 address in this 2a02:…..:100::/64 range.

 

Hope this helps…

 

 

 

Hi @hmmsjan_2,

Thanks for your reply, but for now, I am not able to get a /56 prefix from Experiabox. This is how I have configured WAN on OPNSense (very similar to pfsense)\

But this is what I get on this interface:

 

Reputatie 5
Badge +2

Please do not look to the WAN, but the LAN side of the router or the interfaces state page. LAN IPv6 config = Track with track referring to the WAN interface.

LAN IPv6 dhcp = SLAAC. The LAN interface should get an address in the 2a02:nnnn:nnnn:0100::/64 range. At the moment, my PfSense VM is not in the right state, if you do not succeed I’ll look into it further.

 

 

Reputatie 5
Badge +2

Works again…. All subnets are ::/64.

WAN   1000baseT <full-duplex> 192.168.2.12
2a02:mmmm:nnnn:1:5054:ff:fe5b:c69
LAN   1000baseT <full-duplex> 192.168.5.1
2a02:mmmm:nnnn:400:5054:ff:fe9e:bc4
OPT1   1000baseT <full-duplex> 2a02:mmmm:nnnn:401:5054:ff:fe9e:bc4

 

WAN = DHCP6, "Only request prefix" does not matter, Prefix delegation size = 56, Optional: start DHCP6 client in debug mode.

LAN = ¨Track Interface", IPv6 interface = "WAN", IPv6 Prefix ID = 0 (from 0 to ff)

Router is a V10 H369, not a V10a or V12.

On the LAN DHCPv6 could be enabled, but enabling unmanaged router advertisements is sufficient for automatic configuration.

Do not forget to open WAN port 546 TCP/UDP.  DHCPv6 sends a request to a multicast address, the server reply is a new connection from outside! 

Good luck !

 

Essential part of DHCP log:

May 14 12:25:31 dhcp6c 91433 get DHCP option IA_PD, len 41
May 14 12:25:31 dhcp6c 91433 IA_PD: ID=0, T1=47641, T2=76226
May 14 12:25:31 dhcp6c 91433 get DHCP option IA_PD prefix, len 25
May 14 12:25:31 dhcp6c 91433 IA_PD prefix: 2a02:mmmm:nnnn:400::/56 pltime=95283 vltime=181683
 

 

 

       
       
       
Reputatie 5
Badge +2

Since I lost access to the web configurator, I had to reinstall and upgraded to 2.6.  There are two options  in the WAN settings: "Block private networks and loopback addresses" and "Block bogon networks". It looks they have to be unchecked both to get it working behind the Experia box.

 

fe80::/10, the IPv6 link local address,  seems to belong to ¨Bogon addresses"….   

 

Since I lost access to the web configurator, I had to reinstall and upgraded to 2.6.  There are two options  in the WAN settings: "Block private networks and loopback addresses" and "Block bogon networks". It looks they have to be unchecked both to get it working behind the Experia box.

 

fe80::/10, the IPv6 link local address,  seems to belong to ¨Bogon addresses"….   

 

Thank you SO MUCH for the details. I will try it. I think it’s the bogon addresses checkbox that caught me. I will try fixing this, and then post back. Once again, thanks for all your help!

Indeed it was the bogon networks checkbox. All works after disabling that! Thanks a lot for your help :)

Reputatie 5
Badge +2

Great! You’re lucky that I messed up my system (only login page despite correct login) and had to reset to defaults, otherwise I had overseen this option at the bottom of the page….

 

Great! You’re lucky that I messed up my system (only login page despite correct login) and had to reset to defaults, otherwise I had overseen this option at the bottom of the page….

 

Haha, indeed :D

Reageer