如何 Ping IPv6 地址

使用 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 地址

如果您 p​​ing 一个域,默认情况下,它会 ping IPv4 地址。 像这样的东西:

ping 网络地址的默认方式

根据 ping 命令的手册页,您可以使用 -6 强制 ping 命令用于 IPv6 地址的选项。

ping -6 domain_name

为了 example,我将使用确切的地址,以便您可以注意到发送回复的地址的变化。

使用 -6 选项 ping IPv6 网络地址

看到地址的不同了吗? 这次您将收到来自 IPv6 地址的回复。

这对域名很好。 如果您只有 IPv6 地址怎么办?

使用完整的 IPv6 地址

该方法很简单,在 IPv6 地址后面加上 ping 命令。 是的,就是这样!

ping IPv6_address

Linuxhandbook 的 IPv6 地址是 2606:4700:20::681a:c82,所以我会用这个 example:

在 linux 中通过 ping 命令使用完整的 IPv6 地址对 IPv6 地址使用 ping 命令

使用 ping6 命令 ping IPv6

早些时候,ping 命令只能使用 IPv4 地址,因此创建了一个名为 ping6 的单独实用程序。

在某些较旧的 Linux 版本上,ping 可能不适用于 IPv6。 如果是这种情况,请改用 ping6。

ping6 domain_or_IPv6_address
使用 ping6 命令 ping IPv6 地址使用 ping6 命令 ping IPv6 地址

最后的话

我认为不需要使用 ping6。 在解决网络问题时,ping 命令一直是我的首选。 我也更喜欢将它用于 IPv6。 少了一个要记住的命令。

随时分享您的想法和疑问。