Yes on the router. But make sure your clients are correctly setup as well.
So I have 3 OSes on my clients, iOS, Windows and Android. I cannot disable "privacy extensions" on iOS nor on Android, and on Windows, if it's disabled, router discovery would also be disabled. On RouterOS, I unchecked "Advertise MAC address" which I assumed will help with this "privacy extensions" issue.
When they are somehow configured for DHCPv6 (unusual!) it will not work.
And iOS, Android and Windows all support SLAAC out of the box, I don't see config problems on client devices on IPv6.
Also Android is... Android:
https://www.nullzero.co.uk/android-does ... -fix-that/
I connected an Android phone, went immediately to network info and saw only IPv4. Ran test-ipv6.com and no IPv6. Looked in the router and saw others with active IPv6 connections in IPv6->firewall->connections. I was puzzeled, and in a hurry.
Later checked again and IPv6 was fine. That is when I did a trace and saw it comes up only on the first RA received, not immediately on connection.
The phone is supposed to send a Router Sollicitation when it connects, but either it does not do that or it is not received/processed correctly.
That may actually be related to Multicast filtering in the switch.
So clearly, I'm not the only user-facing IPv6 issues on MikroTik and also other brands. What's really the cause here? I mean, it's a major problem that is seemingly ignored by the vendors.
It not working for all devices has to be some issue with RA not being processed correctly, they *are* being sent.
Having 20 dead addressses after one day can only be explained by privacy extensions being enabled, google how to disable it.
Your local systems remembering old prefixes after the ISP has changed them can be considered a RouterOS bug or at least limitation.
(it should send an RA with the old address and zero lifetime when it withdraws the old address to set the new one, but it doesn't)
Privacy extensions cannot be altered on Android/iOS, and even if we could, this seems more like a dirty hack than a proper IPv6 solution/implementation.
Another small hack I came up with is to reduce the preferred and preferred-lifetime & valid-lifetime to 2 hours in ND>Prefix, it seems to work and forces the client devices to refresh IPv6 addresses every two hours or at least drop whatever it used after 2 hours, but again this is dirty and not a clean solution and I'm not sure if it'll work well in the long-run.
However, I'm really frustrated that only 3 devices at any point of time is receiving IPv6 addresses to begin with. My RouterOS and client devices configuration all looks good to me. My email to MikroTik is still left without a reply for now.