前述
在windows和linux同时安装ipv6之后,系统将会自动分配一个link-local(链接本地)地址
也就是ifconfig -a看到的一行【inet6 addr: fe80::20c:29ff:fed7:4214/64 Scope:Link】,黄色部分就是ipv6的链接本地地址。
现在假设win7下通过ipconfig看到的ipv6地址如下:
fe80::493e:6c55:cce9:57cd%17
%后面是本ipv6地址对应的网络接口的index,windows术语叫scope id,可理解为一个接口序号
而linux的ipv6地址是:
fe80::20c:29ff:fed7:4214
这样的配置,在linux下使用ping6 -I eth0 fe80::20c:29ff:fed7:4214能够正常ping通windows的ipv6链路本地地址
但是在windows下使用ping -6 fe80::20c:29ff:feda:aaa是不能ping通linux的ipv6地址的。
结尾
折腾了好久,还以为是本地链路地址的原因,后来发现原来是windows系统的一个很搞笑的事情(~_~也许只是我感觉搞笑)
必须使用ping -6 fe80::20c:29ff:fed7:4214%17才能ping通linux的ipv6链路本地地址,也就是需要再linux的ipv6地址后面加上%和windows网络接口序号。
这个后面的%17来自VMware Network Adapter VMnet8
为什么是VMware Network Adapter VMnet8而不是VMware Network Adapter VMnet1,因为使用的是NAT模式
因此物理机和虚拟机通信使用的VMNet8这个网络接口。
所以最后成了这样
ping -6 fe80::20c:29ff:fed7:4214%17
完毕。