The link local one is like the equivalent of the ipv4 rfc1918 addresses, like 192.168.1.1; its used for local lan connections.
For the globally-routed addresses, the router advertises its 64-bit network prefix; all the following methods are about configuring the remaining 64 bits to make up the complete 128 bit address.
If the router is running DHCPv6, there is a ‘fixed’ one that stays constant. Its assigned by the router using DHCPv6 and should stay relatively constant as long as your router keeps your mac address mapping in memory. Its probably shorter like ::1a or something; this is the one you should use for hosting services; the constant address is useful if you send someone your IP address or want to create a DNS AAAA record.
With the right network configuration flags, you may also have a fixed address using SLAAC wherein the host configures itself. Unlike the short DHCPv6-type addresses, it looks completely random but its not; its derived the same way every time you connect to that specific network using some hashing algorithm techniques. But if you connect to a different network it will derive a different random-looking 64 bits, but also stable for that network. The idea here is that IPv6 used to use the mac address for the last 64 bits, but this meant someone could track you moving your machine from network to network by matching against the last 64 bits of the address, so this method was developed to prevent that privacy leak but still allow some kind of stability. You can also use this one for hosting since its stable.
Linux will also configure truly random, dynamic IPv6 address. It will change by default once a day. This is used as the default for new outgoing connections. This is meant for privacy, since your outbound traffic will come from a new source every day and its harder to track you over time. In reality the advertising networks just track you by your 64-bit prefix instead, meaning you’re tracked by your household instead of down to the individual machine (so very similar to NAT for ipv4 where the entire household shares a single IPv4). There is a 5m window overlap where there are two dynamic IPs right before the old one expires; this lets the existing connections close out safely.
The link local one is like the equivalent of the ipv4 rfc1918 addresses, like 192.168.1.1; its used for local lan connections. For the globally-routed addresses, the router advertises its 64-bit network prefix; all the following methods are about configuring the remaining 64 bits to make up the complete 128 bit address.
If the router is running DHCPv6, there is a ‘fixed’ one that stays constant. Its assigned by the router using DHCPv6 and should stay relatively constant as long as your router keeps your mac address mapping in memory. Its probably shorter like ::1a or something; this is the one you should use for hosting services; the constant address is useful if you send someone your IP address or want to create a DNS AAAA record.
With the right network configuration flags, you may also have a fixed address using SLAAC wherein the host configures itself. Unlike the short DHCPv6-type addresses, it looks completely random but its not; its derived the same way every time you connect to that specific network using some hashing algorithm techniques. But if you connect to a different network it will derive a different random-looking 64 bits, but also stable for that network. The idea here is that IPv6 used to use the mac address for the last 64 bits, but this meant someone could track you moving your machine from network to network by matching against the last 64 bits of the address, so this method was developed to prevent that privacy leak but still allow some kind of stability. You can also use this one for hosting since its stable.
Linux will also configure truly random, dynamic IPv6 address. It will change by default once a day. This is used as the default for new outgoing connections. This is meant for privacy, since your outbound traffic will come from a new source every day and its harder to track you over time. In reality the advertising networks just track you by your 64-bit prefix instead, meaning you’re tracked by your household instead of down to the individual machine (so very similar to NAT for ipv4 where the entire household shares a single IPv4). There is a 5m window overlap where there are two dynamic IPs right before the old one expires; this lets the existing connections close out safely.