我有一个guest虚拟机Ubuntu 14.04安装在kvm,主机是一个Fedora 20.客户端的eth1 nic是在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连接到Internet:
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
即使我将net.ipv6.conf.all.use_tempaddr设置为2,host os(fedora 20)也可以访问ipv6.google.com 。
在我看来,kvm guest中的隐私地址无法访问ipv6 Internet。 为什么?