为什么 VPS 有 IPv6,访问网站还是 IPv4

这篇直接整理自我之前的问题:“为什么我的 VPS 有 IPv6,但是访问网站还是 IPv4?”当时的核心结论是:VPS 有 IPv6 地址,不等于每次访问都会选择 IPv6。

第一步:检查地址和默认路由

系统可能已经拿到 IPv6 地址,但默认路由缺失、网关不通或线路质量不稳定。先检查基础网络,而不是先改面板。

  • ip -6 addr:查看 IPv6 地址。
  • ip -6 route:查看 IPv6 路由,重点看是否存在 default。
  • ping6 -c 3 2606:4700:4700::1111:测试纯 IPv6 连通性。
  • curl -6 https://目标网站:强制用 IPv6 测试;curl -4 可作对照。

第二步:检查 DNS 与目标网站

目标域名同时有 A 和 AAAA 记录时,系统会根据连接速度选择。IPv6 延迟高或丢包时,Happy Eyeballs 机制可能快速回退到 IPv4。

如果目标网站本身没有 AAAA 记录,它就只能通过 IPv4 访问。先确认目标支持 IPv6,再判断 VPS 配置。

第三步:检查代理、CDN和应用绑定

DNS、代理节点或 CDN 可能让最终网站看到 IPv4;应用本身也可能只监听或只连接 IPv4。服务器的入口是 IPv6,和它访问外部网站时使用什么出口,是两件不同的事。

此前的 mihomo 配置已经包含 ipv6: true、DNS IPv6 和 IPv6 优先直连组,但配置开关只是允许使用 IPv6,仍要用实际连接结果验证。

正确的判断方式

不要只看一个“我的 IP”页面。分别用 curl -4、curl -6 测试,再检查域名 A/AAAA、系统路由和应用日志,才能知道到底是哪一层选择了 IPv4。