Linux Router Dhcpv6 PD Split
Using dibbler-client / wide-dhcpv6-client to get dhcpv6-pd.
As IPv6 doesn’t have NAT as IPv4, new tools and settings are required for Linux base router. In Linux IPv6 Router How To I covered using wide-dhcpv6-client to get 2 prefix delegations(PD). However that turn out not working for most ISPs. Most service providers will only give out one /64 PD by default, and give out /56 only when requested in settings.
/64 and multiple PDs
/64
is the most common PD size. However it is not advisable to split it into smaller subnet. If your ISP is supplying multiple /64 PDs, then you can use wide-dhcpv6-client with following config:
|
|
lan
and dmz
are your internal interfaces. Remember to test IPv6 routing from both network to the internet.
I am not able to configure dibbler-client to get multiple PDs.
/56 & /60 PD
/56
and /60
PD sizes are also served by many ISPs. These are much better than /64
PD for subnetting. However it is getting more and more common that you have to request it specifically in the settings, else you will get a /64
. Both dibbler-client and wide-dhcpv6-client are able to split them properly.
wide-dhcpv6-client
/etc/wide-dhcpv6-client/dhcp6c.conf
|
|
Uncomment lines according to the PD size.
wide-dhcpv6-client
will automatically assign the IPs to the internal internal interfaces.
dibbler-client
/etc/dibbler/client.conf
|
|
Uncomment lines according to the PD size.
dibbler-client
can automatically split the PD and assign the subnets to interfaces. However the auto assignments part doesn’t seems to work for PD < /64. As a result, client.sh
script is needed.
/etc/dibbler/client.sh
|
|
The above script should work for any number for internal interfaces without changes.
Prefix Hints
The most important part of all the above config files are prefix hints.
Prefix hints in wide-dhcpv6-client:
|
|
Prefix hints in dibbler-client:
|
|
Without it, you will likely get a /64 PD.
ISP Network Behavior
If you currently has a /64 PD and switch to a /56 one, you may get the new PD right away but IPv6 traffic is not routing beyond your router. That is because your ISP router still has your old PD route. The timeout period can range from 24hr to a week.
PS: All config files can be found here: github.com/J-Siu/linux_conf