Skip to main content
Antwoord

Hoe werkt de IPv6 Prefix Delegation op de KPN Box 12?

  • December 2, 2025
  • 9 reacties
  • 89 keer bekeken

Hallo allemaal,

Wij hebben de KPN Box 12 met KPN Software V12.C.25.06.06. Voor de instelling Home network > IPv6 > IPv6 prefix delegation heb ik de opties "On", "Enabled with DHCPv6" en "Off", maar ik kan hiervoor geen documentatie vinden. Kan iemand mij het verschil tussen on en with dhcpv6 vertellen?

Voor de context: ik ben als hobby de netwerkinterfaces van mijn raspberry pi aan het configureren en zou graag een /56 (of iets dergelijks) aan mijn tunnel interface (wireguard) toekennen, zodat peers ook hun eigen /64 krijgen toegewezen. Vooralsnog lukt het me echter niet eens om prefix delegation vanaf de router werkend te krijgen (ik volg: https://wiki.debian.org/IPv6PrefixDelegation). Zou dit wel al mogelijk moeten zijn?

Ik realiseer me natuurlijk dat ik de mogelijkheid heb om een meer geavanceerde router te kopen waarmee dit beter werkt, maar vooralsnog is mij dat het geld voor deze toepassing niet waard (ook omdat de kpn box 12 nu goed samenwerkt met 3 superwifi-apparaten die we hebben).

Dankjulliewel!

Beste antwoord door hmmsjan_2

Off schakelt prefix delegatie uit, On en “Enabled with DHCPv6” zijn voor zover mij bekend hetzelfde, ik kies altijd DHCPv6. 

Ik heb een V10, maar de software zou identiek moeten zijn. 

De DHCP client moet een “P” verzoek doen, bijv “/sbin/dhclient -6 -P -v interface_naam”,  (als dit op de Pi beschikbaar is), maar er is maar een /56 prefix beschikbaar:

“PRC: Lease failed to satisfy.” betekent dat de prefix als uitgegeven is, na prefix delegatie uit/aan:

“Prefix BOUND6 old= new=2a02:xxxx:xxxx:ff00::/56”

Als er een firewall als ufw actief is op de Pi: port 546/udp moet absoluut open staan, anders werkt het niet. 

Ik weet niet of router advertisements via wireguard werken, anders kun je gewoon vaste adressen gebaseerd op die “ff00” prefix   in de server en client configuraties plaatsen. 

Daarnaast zul je de routing moeten instellen, let ook op (bij Linux, dus waarschijnlijk ook op de Pi)

/proc/sys/net/ipv6/conf/all/forwarding MOET op een staan, anders gaat het niet. Zie “sysctl” 

 

 

 

 

9 reacties

Forum|alt.badge.img+7
  • Slimmerik
  • Antwoord
  • December 3, 2025

Off schakelt prefix delegatie uit, On en “Enabled with DHCPv6” zijn voor zover mij bekend hetzelfde, ik kies altijd DHCPv6. 

Ik heb een V10, maar de software zou identiek moeten zijn. 

De DHCP client moet een “P” verzoek doen, bijv “/sbin/dhclient -6 -P -v interface_naam”,  (als dit op de Pi beschikbaar is), maar er is maar een /56 prefix beschikbaar:

“PRC: Lease failed to satisfy.” betekent dat de prefix als uitgegeven is, na prefix delegatie uit/aan:

“Prefix BOUND6 old= new=2a02:xxxx:xxxx:ff00::/56”

Als er een firewall als ufw actief is op de Pi: port 546/udp moet absoluut open staan, anders werkt het niet. 

Ik weet niet of router advertisements via wireguard werken, anders kun je gewoon vaste adressen gebaseerd op die “ff00” prefix   in de server en client configuraties plaatsen. 

Daarnaast zul je de routing moeten instellen, let ook op (bij Linux, dus waarschijnlijk ook op de Pi)

/proc/sys/net/ipv6/conf/all/forwarding MOET op een staan, anders gaat het niet. Zie “sysctl” 

 

 

 

 


  • Auteur
  • Nieuwkomer
  • December 3, 2025

Bedankt voor deze informatieve reactie, het is goed om te weten wat de instellingen betekenen en dat het uit/in-schakelen de mogelijkheid geeft om een nieuwe prefix te ontvangen. De vraag is hiermee in principe beantwoord, maar mocht je nog ideeën hebben voor het vervolg, hoor ik die natuurlijk graag.

Ik gebruik normaal systemd-networkd maar heb toch dat dhclient-commando geprobeerd en daarmee ontvang ik (na off/on) het volgende:

Listening on Socket/eth0                                                                                                                                    
Sending on Socket/eth0
PRC: Soliciting for leases (INIT).
XMT: Forming Solicit, 0 ms elapsed.
XMT: X-- IA_PD eb:6c:f6:de
XMT: | X-- Request renew in +3600
XMT: | X-- Request rebind in +5400
XMT: Solicit on eth0, interval 1050ms.
RCV: Advertise message on eth0 from fe80::b2bb:xxxx:xxxx:acc0.
RCV: X-- Preference 255.
RCV: X-- IA_PD eb:6c:f6:de
RCV: | X-- starts 1764765940
RCV: | X-- t1 - renew +3600
RCV: | X-- t2 - rebind +5760
RCV: | X-- [Options]
RCV: | | X-- IAPREFIX 2a02:xxxx:xxxx:ff00::/56
RCV: | | | X-- Preferred lifetime 7200.
RCV: | | | X-- Max lifetime 86400.
RCV: X-- Server ID: 00:03:00:02:b4:b1:ea:f9:ac:c0
RCV: Advertisement immediately selected.
PRC: Selecting best advertised lease.
PRC: Considering best lease.
PRC: X-- Initial candidate 00:03:00:02:b4:b1:ea:f9:ac:c0 (s: 10105, p: 255).
XMT: Forming Request, 0 ms elapsed.
XMT: X-- IA_PD eb:6c:f6:de
XMT: | X-- Requested renew +3600
XMT: | X-- Requested rebind +5400
XMT: | | X-- IAPREFIX 2a02:xxxx:xxxx:ff00::/56
XMT: | | | X-- Preferred lifetime +7200
XMT: | | | X-- Max lifetime +7500
XMT: V IA_PD appended.
XMT: Request on eth0, interval 1090ms.
RCV: Reply message on eth0 from fe80::b2bb:xxxx:xxxx:acc0.
RCV: X-- Preference 255.
RCV: X-- IA_PD eb:6c:f6:de
RCV: | X-- starts 1764765940
RCV: | X-- t1 - renew +3600
RCV: | X-- t2 - rebind +5760
RCV: | X-- [Options]
RCV: | | X-- IAPREFIX 2a02:xxxx:xxxx:ff00::/56
RCV: | | | X-- Preferred lifetime 7200.
RCV: | | | X-- Max lifetime 86400.
RCV: X-- Server ID: 00:03:00:02:b4:b1:ea:f9:ac:c0
PRC: Bound to lease 00:03:00:02:b4:b1:ea:f9:ac:c0.

Wel degelijk een prefix dus, maar iets andere output. Mijn eth0 interface lijkt erna helaas geen indicatie te geven van die prefix (via bijvoorbeeld networkctl status, ook niet na networkctl renew in plaats van dhclient). Ik probeer eerst dit aan het werken te krijgen; het routen via de tunnel etc. is voor mij pas de volgende stap.


Forum|alt.badge.img+7
  • Slimmerik
  • December 3, 2025

Het werkt dus. Je krijgt geen indicatie, je kunt nu ook adressen in de :ff00:: tot :ffff: range gebruiken.

Pas op: dhclient kan nu de lease gepakt hebben, dus even PD uit en aan zetten.

 


Thomas van KPN
Moderator
Forum|alt.badge.img+24

Hoi ​@Filippe, welkom op onze community! Wat leuk dat je hier interesse in hebt! Ik heb er zelf niet veel kaas van gegeten maar ik heb beide termen hier wel voorbij zien komen. Onze community zoals ​@hmmsjan_2  weet hier ook wel aardig wat vanaf.

We hebben een paar handige kennisbankartikelen over geschreven:
 

En er waren ook wel wat problemen mee met de vorige software versies:
 

 


Forum|alt.badge.img+7
  • Slimmerik
  • December 3, 2025

Mijn eth0 interface lijkt erna helaas geen indicatie te geven van die prefix (via bijvoorbeeld networkctl status,

Even een moment voor een uitgebreider antwoord:  Prefix delegatie is uitsluitend te zien in de router.  De DHCPv6 client krijgt alleen bericht van de gedelegeerde prefix.

De router ziet een multicast prefix delegation request met het eth0 link-local fe80:: adres als afzender, en stuurt de prefix terug naar dat adres. Vervolgens zet het een route voor die /56 prefix naar het fe80:: adres van eth0. Daar is op de pi verder niets van te zien. 

De implementatie van KPN is nog niet compleet, er wordt maar een enkele /56 prefix uitgegeven. In het geval van Wireguard wel prettig, omdat Wireguard statisch geconfigureerd wordt. 

Ik heb prefix delegatie nog niet met systemd-network in Fedora voor elkaar gekregen, maar dat ligt aan mij. Ik heb een bijzondere configuratie: systemd-network voor Ethernet en NetworkManager voor de Wifi. Zo leer je beide systemen…. Maar de prefix moet via Wifi opgevraagd worden en daar heeft systemd-network dus geen zeggenschap over. Ik gebruik nu dhclient voor de PD achter de rug van beide systemen om, dat werkt prima. 

 


Forum|alt.badge.img+7
  • Slimmerik
  • December 4, 2025

Gelukt met wireless via wpa_supplicant en systemd-networkd in Fedora

In de logfile:

systemd-networkd[3013]:wlp0s19f2u4: DHCP: received delegated prefix 2a02:xxxx:xxxx:ff00::/56
systemd-networkd[3013]: wlp0s19f2u4: Assigned prefix 2a02:xxxx:xxxx:ff00::/64
 

Wat de “Assigned prefix” /64 doet weet ik niet. In ieder geval kan ik aan de ethernet kant probleemloos communiceren via de ff02 prefix. Dus het moet gaan werken met Wireguard.   


  • Auteur
  • Nieuwkomer
  • December 4, 2025

Bedankt voor de artikelen ​@Thomas van KPN, ik was er al een aantal tegengekomen maar zal de rest ook zeker doornemen.

En bedankt voor de uitgebreide beschrijving ​@hmmsjan_2. Het is mij nog even niet gelukt, maar ik heb het idee dat ik pas een beetje begin te begrijpen hoe dat prefix delegation überhaupt zou moeten werken. Zal hier laten weten als ik wat verder ben!

Edit1: bij mij rept de systemd-networkd journalctl ook niet over een delegated prefix, zelfs niet met logging op debug niveau. Ik zoek nog even verder.


Forum|alt.badge.img+7
  • Slimmerik
  • December 5, 2025

Ik heb het onder Debian 13/x86_64 voor elkaar gekregen met systemd-networkd. Niet volgens de wiki, maar alles bij elkaar graaiend van de manpages. Inclusief wireguard. Het werkt analoog aan “Tracking interface” bij de pfSense/OPNSense router: prefix opvragen aan WAN,  /64 prefixen gebaseerd op die prefix  distribueren aan LAN/VLAN en tot mijn verbazing ook Wireguard. Wireguard heeft voor zover ik weet geen MAC adres, dus geen idee hoe de laatste 64 bits berekend worden.  

Als de Pi Debian systemd-networkd dus met alle features gecompileerd is zou het moeten gaan werken.

 Kijk in ieder geval even met “netstat” of “ss” of  dhcpv6 luistert op poort 546.

#netstat -aln | grep 546
udp6       0      0 fe80::6a7f:74ff:fe8:546 :::*     #IP adres afgekapt, verwarrend

#ss -ln | grep 546
udp   UNCONN 0      0          [fe80::6a7f:74ff:fe80:d55d]%wlx687f7480d55d:546                     [::]:*

 

Let op: in de default configuratie wordt een vreemde route toegevoegd:

unreachable 2a02:xxxx:xxxx:ff00::/56 dev lo proto dhcp metric 1024 pref medium

 

De hele prefix gaat dus naar een zwart gat toe. Zorg dus in ieder geval voor een meer specifieke route naar de Wireguard interface. Daar een /64 adres opzetten moet voldoende zijn. 

2a02:xxxx:xxxx:ff04::/64 dev wg0 proto kernel metric 256 expires 86266sec pref medium


  • Auteur
  • Nieuwkomer
  • December 8, 2025

Ik vrees dat ik het een beetje moet opgeven. Er lijkt bij mij niets te gebeuren, ondanks dat poort 546 gewoon beschikbaar is en de forwarding kernel opties zijn ingeschakeld. De wg0-interface en de apparaten ermee verbonden krijgen geen ip-adres toegewezen en er worden überhaupt geen routes toegevoegd. Ook het journalctl-log rept nergens over.

Inmiddels heb ik het met meerdere machines en met een alternatieve setup met een VLAN geprobeerd, zowel via de debian wiki als de handleiding van systemd-networkd... niks helpt.

Mocht je nog configuratie of iets dergelijks willen en kunnen delen, houd ik me aanbevolen.