Назад | Перейти на главную страницу

Почему конфиденциальный IPv6-адрес не может подключиться к Интернету в гостевой виртуальной машине

У меня есть гостевой ubuntu 14.04, установленный в kvm, хост - это Fedora 20. Гость eth1 находится в режиме моста macvtap. По умолчанию Ubuntu включает расширение конфиденциальности ipv6 и предпочитает временный адрес:

$ ip -6 addr show dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
inet6 2001:da8:207:e216:a935:a562:3102:7e00/64 scope global temporary dynamic 
   valid_lft 599380sec preferred_lft 80380sec
inet6 2001:da8:207:e216:5054:ff:fed5:8cae/64 scope global dynamic 
   valid_lft 2591548sec preferred_lft 604348sec
inet6 fe80::5054:ff:fed5:8cae/64 scope link 
   valid_lft forever preferred_lft forever
$ sysctl net.ipv6.conf.all.use_tempaddr
net.ipv6.conf.all.use_tempaddr = 2

Однако я не могу подключиться к Интернету по ipv6:

ping6 ipv6.google.com
PING ipv6.google.com(hkg03s10-in-x06.1e100.net) 56 data bytes
^C
--- ipv6.google.com ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3023ms

Если я удалю временный адрес 2001:da8:207:e216:a935:a562:3102:7e00/64 или установить net.ipv6.conf.all.use_tempaddr до 1, это будет работать:

# sysctl net.ipv6.conf.eth1.use_tempaddr=1
net.ipv6.conf.eth1.use_tempaddr = 1
# ifdown eth1                              
# ifup eth1
# ping6 ipv6.google.com
PING ipv6.google.com(hkg03s10-in-x06.1e100.net) 56 data bytes
64 bytes from hkg03s10-in-x06.1e100.net: icmp_seq=1 ttl=47 time=305 ms
64 bytes from hkg03s10-in-x06.1e100.net: icmp_seq=2 ttl=47 time=305 ms

И ОС хоста (Fedora 20) могла получить доступ ipv6.google.com даже если я установлю net.ipv6.conf.all.use_tempaddr к 2.

Мне кажется, что приватный адрес в kvm guest не может получить доступ к ipv6 Internet. Почему это?