If you are reading this it is likely you were like me, on the edge of giving up on IPv6 on your network. After combining a few small pieces from posts outlining Comcast Business IPv6 using Ubiquiti EdgeRouters along with the USG Advanced Configuration guide I was able to get something that not only works correctly, but persists correctly also.
The trick was getting the right settings defined in the web interface and the one setting not available in the web interface. It's pretty straight forward, so for sake of simplicity I will just tell you what things need to be set. This configuration has 1 of my internal networks having IPv6, I did not want to spend any more time trying to make this work across multiple internal networks, but it probably isn't hard.
WAN Interface
Set your WAN interface IPv6 Connection Type to Using DHCPv6
. You will need to ensure that your cable modem has DHCPv6 enabled, it usually is by default. The Prefix Delegation Size should be set to 59
as 56 didn't seem to work.
LAN Interface
IPv6 Interface Type gets set to Prefix Delegation
, you select the WAN interface you used earlier, and you set the IPv6 Prefix ID to 1
.
I suggest setting DHCPv6/RDNSS DNS Control to Auto
, mine is set to Manual
due to having a Pi-hole on my network that I use for DNS recursion/caching.
The Backend Stuff
You will need to follow the USG Advanced Configuration guide found here: https://help.ubnt.com/hc/en-us/articles/215458888-UniFi-USG-Advanced-Configuration.
Following that guide you create your own config.gateway.json
file and can paste the following.
{
"interfaces": {
"ethernet": {
"eth2": {
"dhcpv6-pd": {
"rapid-commit": "disable"
}
}
}
}
}
If you are using WAN2 instead of WAN change eth2
to eth3
.
Finishing Up
If you followed the guide and Force provisioned your USG you should be good to go.
My linux hosts picked up the IPv6 IPs automatically, and on my Apple products I just disabled then re-enabled Wifi.