Disclaimer: I am not an IPv6 expert.
Your output, to me, looks mostly okay, and the only things I question are
things for which I lack answers. For example, your IPv6 addresses look
fine before/after, though there is a change. Does that matter? I do not
think so, but we’d probably need to dig deeper to work out the answer
conclusively. Also, I do not see any IPv6 route, which makes me wonder if
that is wrong, but then again it does not show up before or after, so
maybe it is not needed (that seems really odd) or else it is just not
shown by default, so perhaps we should verify that:
ip -6 route
Next we can also ask the routing table how it would reach somewhere, like
google.com, via IPv6:
dig +short -t AAAA google.com
#The resulting IPv6 address is 2607:f8b0:4005:805::200e for me
ip route get 2607:f8b0:4005:805::200e
Does that, both when working and broken, return something interesting?
The IPv4 way does on my laptop, so I would expect the IPv6 way on your
system to work similarly, showing you the route to that system.
Since you always see established IPv4 and IPv6 connections, that makes me
think the problem may be with setting up new connections more than keeping
the current ones, unless those established connections are stale or
something. Are any of them things you can verify still work, like active
SSH connections or something through which you could send a couple
characters to ensure it is not showing as present but really does not have
any way to get data through?
I thought you mentioned local things worked via IPv6, but maybe that was
somebody else or another thread. Either way, using something like ‘ping6’
can you reach local boxes even when you cannot get to outside boxes
(google.com, ipv6-test.com, or others)? If that is the case, then we can
maybe focus on how data get outside your network; perhaps your router
needs to have the IPv6 address refreshed periodically or else it stops
routing new stuff. If while not able to access the Internet via IPv6 you
can still access local boxes, that means we should probably check the
router next. While testing connections with ping6, also try the router,
which I presume has an IPv6 address of its own.
Another useful command is ‘ip neigh’ which shows MAC addresses for various
IPs. Some IPv6 addresses (including one of yours) is based on the MAC
address, but it would be useful to see ‘ip neigh’ output before/after
things break or are fixed again.
If you find this post helpful and are logged into the web interface,
show your appreciation and click on the star below.
If you want to send me a private message, please let me know in the
forum as I do not use the web interface often.