AT&T Fiber and the NVG599
When AT&T Fiber was installed at my house, I was given a NVG599 residential gateway. As a simple router/wifi access point, this seems to be a good device. However, the user interface, and advanced settings seem to leave a lot to be desired. I had to do some searching to come up with how to combine both the NVG599 and my EdgeRouter Lite’s setup. I ended up putting the NVG599 in IP Passthrough, which is good enough for my uses. This worked well for IPv4, but I was having issues setting up IPv6.
The issue seemed to be that in order for the EdgeRouter Lite to divvy out IPv6 addresses I needed a subnet prefix larger than /64. This was a problem because the best I could get from the NVG599 was, as you probably guessed it, a /64 subnet.
After a long Google search, if found a few blog posts (http://models.street-artists.org/2016/12/06/getting-multiple-64-prefixes-from-att-nvg599/ and http://models.street-artists.org/2016/12/01/getting-a-60-with-att-6rd-tunnels/) which helped me come to the following solution.
Please let me know if I got anything incorrect here, I know this works, but I’m not 100% sure I’m doing it correctly.
IPv6 - Prefix Delegation
AT&T uses 6RD to propagate IPv6 throughout their network. It appears that they give a /28 subnet prefix to the residental gateway, combined with the routers IPv4 address in some way, to come up with a /60 prefix. This gives us 16 /60 IPv6 subnet prefixes to use. Shown below is the IPv6 configuration shown by the NVG599.
With prefix delegation it is possible to request multiple /64 length prefixes from AT&T’s NVG599 residential gateway. As AT&T gives each residential gateway a /60 prefix to work with, that means we can request up to 16 /64 prefixes. It appears that AT&T reserves one prefix for the gateway itself, leaving us with 15. That should be plenty :-)
In my local network I have requested a prefix for each VLAN. Here is the WAN interface configuration on my EdgeRouter Lite. pd 0
and pd 1
describe the prefix delegation requests along with which interface (or VLAN) to assign the returned subnet prefix.
ethernet eth0 {
address dhcp
description WAN
dhcpv6-pd {
pd 0 {
/* MGMT */
interface eth1 {
host-address ::1
service dhcpv6-stateless
}
prefix-length /64
}
pd 1 {
/* LAN */
interface eth1.10 {
host-address ::1
service dhcpv6-stateless
}
prefix-length /64
}
rapid-commit enable
}
...
}
Looking back at the NVG599, you can see the subnets which were requested by my router.