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