V6IPv6Hub

实务篇 · 动手部署

如何正确检测 IPv6:方法、工具与结论边界 - IPv6Hub

检测方法结论边界工具

本页目录

  1. 一、先分清你要检测什么
  2. 二、常见误判与成因
  3. 三、检测的正确姿势
  4. 1. 本机出口检测
  5. 2. 域名可达检测
  6. 3. 全站资源检测
  7. 4. 从多个位置测
  8. 四、命令行工具速查
  9. 五、关于"检测工具的结论边界"
  10. 六、给自己网站的检测清单
  11. 小结

如何正确检测 IPv6:方法、工具与结论边界

"我这个站支持 IPv6 吗?"——这是最常见的问题,也是最容易得到错误答案的问题。原因不在于工具不好用,而在于"支持 IPv6"本身就是个需要分层的判断。这篇给出正确的检测方法与结论口径。

一、先分清你要检测什么

检测对象 问题 典型方法
本机出口 我这台设备能不能上 IPv6? 服务端回显对端地址
域名可达 这个域名能不能用 v6 访问? dig AAAA + curl -6
全站资源 页面上所有内容是否都能 v6 加载? 逐域名检查 AAAA + 抓包
服务端口 某个端口在 v6 上是否开放? nc -6 / curl -6 / 端口探测

三个问题的答案可以完全不同。 例如:本机有 v6、域名也有 AAAA,但图片 CDN 只有 v4,页面能打开却加载不全——这时"支持 IPv6"只能说"部分支持"。

二、常见误判与成因

表面现象 可能的真实情况
网页能打开,所以支持 IPv6 可能只是 Happy Eyeballs 回落到了 IPv4
检测工具说"支持 IPv6" 它可能只检查了 AAAA 记录,没有真的发起 v6 连接
本机显示有 IPv6 地址 有地址 ≠ 有可用的 v6 路由(可能只配了链路本地)
用手机热点测能通,家里不能 不同运营商/链路的 v6 路径质量不同
装了 VPN 后检测结果全变 检测到的是 VPN 出口,不是你的真实链路
用 IPv6 访问很慢但能通 可能是 MTU / PMTUD 黑洞,连接建立了但大包丢失

结论:任何"能打开网页就算支持"的判断都不可靠。

三、检测的正确姿势

1. 本机出口检测

浏览器里 JavaScript 无法直接判断你走的是 v4 还是 v6——因为浏览器不暴露这个信息,而且它会自动在 A/AAAA 之间竞速。

正确做法是让服务端回显本次连接的对端地址:

2. 域名可达检测

# 第一步:有没有 AAAA
dig AAAA example.com +short

# 第二步:能不能真的用 v6 连上(需要本机有 v6 出口)
curl -6 -I https://example.com

# 第三步:看看 v6 路径在哪一跳出问题
traceroute6 example.com     # Linux / macOS
tracert -6 example.com      # Windows

判据:dig 有 AAAA 且 curl -6 成功,才算"域名支持 IPv6"。只有前者只是"声明支持"。

3. 全站资源检测

# 把页面上出现的所有域名都查一遍
for h in www static img api cdn; do
  echo "== $h"
  dig AAAA $h.example.com +short
done

任何一个关键资源域名缺 AAAA,都会让 v6-only 用户看到残缺页面。

4. 从多个位置测

单点检测的结论只对那一个探测位置成立。做正式评估时至少覆盖:

四、命令行工具速查

工具 用途 示例
dig 查询 AAAA / PTR dig AAAA example.com
nslookup 跨平台 DNS 查询 nslookup -type=AAAA example.com
curl -6 强制 IPv6 请求 curl -6 -I https://example.com
ping -6 / ping6 v6 连通性 ping -6 2400:3200::1
traceroute6 / tracert -6 v6 路径追踪 traceroute6 example.com
ss -lntp 本地监听是否含 [::] ss -lntp | grep 443
ip -6 neigh NDP 邻居表 ip -6 neigh show

五、关于"检测工具的结论边界"

任何检测服务给出的结论,都受以下因素约束,看结果时务必对照:

  1. 探测视角:本站检测只能证明"从本站出发可达"。换一个网络位置观察,结果可能不同,结论不代表全球可达。
  2. 探测目标范围:检测的是"指定的地址或 URL 的基础连通性",不代表页面内全部资源都支持 IPv6。
  3. 探测时机:链路的 v6 质量会随时间波动,一次成功不代表长期稳定。
  4. DNS 解析位置:本站用的解析器与你的网络不同,可能得到不同的 AAAA 结果。

给结论加限定词是个好习惯。 与其说"这个网站支持 IPv6",不如说"从本站、在本次检测时刻,该域名的 AAAA 地址可建立 IPv6 连接"——后者才是可复核的表述。

六、给自己网站的检测清单

# 检查 命令/方式
1 主域名 AAAA dig AAAA 域名 +short
2 子域名 AAAA 逐个 dig
3 服务端口 v6 监听 ss -lntp
4 外部 v6 可达 curl -6 -I 域名(从外部机器)
5 页面资源域名 浏览器开发者工具看域名列表,逐个核对
6 限流口径 确认按 /64 归并
7 回滚预案 明确 AAAA 移除流程

小结

下一篇进入应用篇:《过渡技术选型:双栈、隧道与 NAT64》。

← IPv6 排障清单 过渡技术选型:双栈、隧道与 NAT64 →