Apparently Linux doesn't assign IPv6 temporary addresses automatically. Here's how to do it.
RFC 4941Preference for Privacy Extensions
<= 0 : disable Privacy Extensions
== 1 : enable Privacy Extensions, but prefer public
addresses over temporary addresses.
> 1 : enable Privacy Extensions and prefer temporary
addresses over public addresses.
Default: 0 (for most devices)
-1 (for point-to-point devices and loopback devices)
Redhat/CentOS: echo “2”>/proc/sys/net/ipv6/conf/eth0/use_tempaddr
Debian/Ubuntu: sysctl -w net.ipv6.conf.<devname>.use_tempaddr=2