Two months ago, IPv6 stopped working on my Xfinity connection. It had previously worked brilliantly. I was stumped. My first thought was a cable modem configuration problem. I wasn't looking forward to working my way though Xfinity's support.
Long story short, Xfinity changed how they do DHCPv6 in my area. This is likely to be rolled out elsewhere, so perhaps save some frustration among others.
They changed the location of the DHCPv6 server from local scope (fec0::/10) to a public IPv6.
I suppose this was to allow a single server to serve multiple network segments within their control and allow the network to scale better. Of course, none of the support team I spoke with were aware of this.
In the end, just three changes needed to be made to my configuration:
(1) IPv6 Firewall: Modified the default rule in the input chain that allows DHCPv6 (UDP, 547, 546) to allow ALL addresses rather than just local. (Presumably Xfinity has taken precautions on their end).
(2) DHCPv6 Client: Modified settings to NOT add default route. (This route is based on the location of the server it seems, which was also the gateway. Used to work.) Since the server is now at a public IP, it is not reachable as a gateway.
(3) IPv6 Routes: Add a static route for ::/0 via ether1 to reach the rest of the world. (add disabled=no dst-address=::/0 gateway=ether1)
Anyone have any thoughts on Xfinity's changing this? The default firewall filters expect local addresses. That suggests Mikrotik wouldn't be too enthusiastic.
Also, any comments on my configuration changes?
Perhaps this thread will save someone time in the future.