今天在windows系统和linux系统测试能否互相ping通IPV6地址的时候,出现了在windows系统下可以ping通本机和linux系统的ipv6地址,但是在linux系统中,不管是ping本机的ipv6地址还是windows系列的ipv6地址,都是无法ping通的。如图:
图1
在linux系统里使用ping -6命令ping本机ipv6地址和ping windows系统的ipv6地址的时候,都无法ping通,且显示ping: sendmsg: Invalid argument错误。在前面讲述过localhost本机地址用IPV6表示是::1,因此ping -6 localhost本机地址的时候,应该使用ping -6 ::1,并且可以ping通。
而使用ipv4地址,window和linux系统是可以互相ping通的,因此网络是没有问题,并且使用cat /proc/sys/net/ipv6/conf/all/disable_ipv6查看linux系统是已经启用了IPV6,如图,0表示IPV6已经启用,1表示IPV6被禁用。
图2
最后通过在ping的时候指明网络接口,在可以ping通,如图,使用ping -6 IPV6地址%网口名称,即可以ping通ipv6地址。
图3
这是因为当linux系统中,有多个网口的时候,使用ping -6命令且IPV6地址都是fe80开头,系统在发送数据包的时候,无法确定要选用哪个网口,因此在ping -6 IPV6地址的时候需要执行该数据包应该选用哪个网口发送出去。