ping通ipv6地址
Windows
ping ipv6主机名的方法如下:
1 | ping -6 ipv6.google.com |
ping ipv6地址的方法如下:
1 | ping IPv6Address[%ZoneID] |
例如ping 2001:4860:0:2001::68。如果要ping link-local地址,则需要指定网络接口索引:
1 | ping fe80::260:97ff:fe02:6ea5%4 |
其中%4表示用索引为4的网络接口ping目标计算机。要查看网络接口索引,使用如下命令:
1 | netsh interface ipv6 show address |
Linux
ping ipv6主机名的方法如下:
1 | ping6 ipv6.google.com |
ping ipv6地址的方法如下:
1 | ping6 IPv6Address[%InterfaceName] |
如果要ping link-local地址,则需要指定网络接口名称:
1 | ping6 fe80::260:97ff:fe02:6ea5%eth0 |
其中%eth0表示用网络接口eth0来ping目标计算机。 使用ping6命令访问一个IPv6的地址时,经常出现connect: Invalid argument的错误。解决方法是在IPv6地址后加上%设备名,例如ping6 fe80::172:16:212:4%eth0。Linux使用ifconfig命令就可列出所有网络接口名称。
为什么Link-local地址后面要有百分号?
由于所有的link-local地址都有相同的前缀FE80::/64,并且每个网络接口都必须分配一个link-local地址,因而导致当发送数据包到一个link-local地址时,如果路由器使用普通的路由方法就无法决定选用哪个网络接口。因此引入了一种被叫做zone index的标识符,它提供额外的路由信息,这个标识符通常指网络接口,并且通过一个百分号被附加在IPv6地址后面。
- 感谢您的赞赏
赞赏名单
