使用 ping 命令可能是检查远程服务器是否可访问的最常用方法。
默认情况下,ping 命令对 IPv4 地址起作用。 但是,如果您需要 ping IPv6 地址怎么办?
答案是你仍然使用 ping 命令。 是的 较新版本的 ping 命令支持 IPv6 地址.
ping IPv6_address
如果您有一个域名并且想要从 IPv6 获取回复,请使用 ping 命令,如下所示:
ping -6 domain_name
或者,您可以随时 依赖 ping6 命令:
ping6 ipv6_address_or_domain_name
要成功 ping IPv6 地址,您需要从该目标到本地系统的完整 IPv6 流。
- 目标应启用 IPv6
- 源及其路由器也应该启用 IPv6
检查您的系统是否启用了 IPv6 支持
要成功 ping IPv6 地址,您还需要在本地系统上启用 IPv6。 否则,如果您尝试 ping IPv6 回复,您将收到“ping: connect: network is unreachable”错误。
[email protected]:~$ ping -6 google.com
ping: connect: Network is unreachable
您如何知道您的系统是否支持 IPv6? 使用此命令并观察其输出:
ip -6 route
这将提供 IPv6 流量的路由信息。 如果你看到 ”默认通过“在输出中, 您为 IPv6 设置了网关 IP:
[email protected]:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::1 dev eth0 proto ra metric 1024 expires 1774sec mtu 1500 pref medium
如果您在没有任何路线信息的情况下看到这样的内容,您 未启用 IPv6 支持. 您应该先启用它。
[email protected]:~$ ip -6 route
::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev wlp0s20f3 proto kernel metric 1024 pref medium
确保本地系统支持 IPv6 后,让我们看看有关 ping IPv6 地址的一两件事。
使用 ping 命令 ping IPv6 地址
如果您 ping 一个域,默认情况下,它会 ping IPv4 地址。 像这样的东西:
根据 ping 命令的手册页,您可以使用 -6
强制 ping 命令用于 IPv6 地址的选项。
ping -6 domain_name
为了 example,我将使用确切的地址,以便您可以注意到发送回复的地址的变化。
看到地址的不同了吗? 这次您将收到来自 IPv6 地址的回复。
这对域名很好。 如果您只有 IPv6 地址怎么办?
使用完整的 IPv6 地址
该方法很简单,在 IPv6 地址后面加上 ping
命令。 是的,就是这样!
ping IPv6_address
Linuxhandbook 的 IPv6 地址是 2606:4700:20::681a:c82,所以我会用这个 example:

使用 ping6 命令 ping IPv6
早些时候,ping 命令只能使用 IPv4 地址,因此创建了一个名为 ping6 的单独实用程序。
在某些较旧的 Linux 版本上,ping 可能不适用于 IPv6。 如果是这种情况,请改用 ping6。
ping6 domain_or_IPv6_address

最后的话
我认为不需要使用 ping6。 在解决网络问题时,ping 命令一直是我的首选。 我也更喜欢将它用于 IPv6。 少了一个要记住的命令。
随时分享您的想法和疑问。