That is what link local addresses are for - which you can access your devices on just fine, and don't change. And bonus points - aren't externally routable either.
One really nice thing about IPv6 is you can (and do) have many addresses, all of which work.
for example, you can add a manual fe80::5 address to one machine, and fe80::9 on another - and use those to access those machines on the local network. And not have to worry about that being externally addressable, or having conflicts, etc.
And they won't change when your external addresses change either (unless there is some weird software bug in your OS or something).
When my IPv6 changes my prefix changes and then my internal devices have new IP addresses and I don't know what those IPs are.
That is what link local addresses are for - which you can access your devices on just fine, and don't change. And bonus points - aren't externally routable either.
They are also much shorter. [https://en.wikipedia.org/wiki/Link-local_address]
One really nice thing about IPv6 is you can (and do) have many addresses, all of which work.
for example, you can add a manual fe80::5 address to one machine, and fe80::9 on another - and use those to access those machines on the local network. And not have to worry about that being externally addressable, or having conflicts, etc.
And they won't change when your external addresses change either (unless there is some weird software bug in your OS or something).
Though you probably want to use a unique local address range instead [https://en.wikipedia.org/wiki/Unique_local_address] as they're more equivalent to the 10.0.0.0/16 type behavior you're expecting.