In IPv6 everywhere with tinc we saw how to use a tinc VPN to let a host with its own public IPv6 network provide entire subnetworks to remote devices like home computers.
The setup allows each device to have its own public IPv6 addresses to access or provide services to the IPv6 Internet. However, with such a setup the device always uses the same address for outgoing traffic, which may be awful for end-user devices from the privacy perspective, since they are very easy to be uniquely identified worldwide.
Also, the network topology diagram in that post showed that each device may
serve its /64
public IPv6 network locally, thus allowing other hosts in the
local network to also have full public IPv6. A very simple setup using IPv6
stateless address autoconfiguration (SLAAC) for such hosts, based on the IPv6
router advertisement daemon (radvd
) is explained here. However,
autoconfigured addresses have the very nasty effect of revealing the host's
MAC address, which is even worse privacy-wise since hosts become uniquely
identifiable regardless of the network they are in (see this post for a deeper
discussion).
This article explains how to easily configure a Debian IPv6 router and its hosts to use temporary IPv6 addresses (privacy extensions for SLAAC) that avoid the problems mentioned above.