IPv6 Ping 全部节点超时怎么办
全部节点超时,是最容易让人慌的一种结果。但排查路径其实很固定,按顺序走一遍,大部分情况能定位。
第一步:确认 AAAA 记录
没有 AAAA 记录,Ping 连目标地址都拿不到,所有节点必然超时。
用 dig AAAA 域名 查一下。有记录,再确认记录指向的地址是不是公网地址。指向内网地址的话,公网节点永远到不了。
如果域名用了多家 DNS 服务商,还要确认权威服务器都同步了。
第二步:确认目标没禁 ICMPv6
很多服务器和云厂商默认丢弃 ICMP,IPv4 和 IPv6 是两套规则,要分别确认。
ip6tables -L 看有没有 DROP icmpv6,云厂商安全组的入方向有没有放行 ICMPv6。
这一步最容易被跳过,也最容易误判成“IPv6 没通”。
第三步:确认真的有 IPv6 出口
服务器上有 IPv6 地址,不代表公网能访问。
ip -6 addr 看地址是不是全局地址,ip -6 route 看有没有默认路由。机房没开通 IPv6 出口的话,地址可能只是内部分配的。
用 TCPing 分层
Ping 全超时,但网站可能是好的。怎么区分?
用 IPv6 TCPing 对 443 端口测一次。
TCPing 能通,说明 IPv6 链路是好的,只是 ICMPv6 被过滤了,这时候不用改任何配置。
TCPing 也不通,说明 IPv6 链路真的有问题,回到前面三步继续查。
用了 CDN 的情况
CDN 没开 IPv6,用户侧的 IPv6 请求到不了 CDN,Ping 自然全超时。
去 CDN 控制台确认 IPv6 加速是否开启。开了之后还要看回源,回源走 IPv4 是允许的,不影响用户侧访问。
最后一步:换工具验证
如果 Ping 不通但 TCPing 通,用 IPv6 网站测速 再跑一次,确认应用层是否正常。
三层都过,才算真的支持 IPv6。只有 Ping 通,只能证明主机在线。
在 IPv6 Ping 测速 里先测一个已知支持 IPv6 的公共地址做对照,能快速排除平台侧问题。