一台双栈 VPS,IPv4 网站可访问,IPv6 域名却偶发超时:同一域名有时秒开,有时卡住数十秒,不同地区的监控结果也互相矛盾。真正棘手的不是缺少 IPv6,而是地址、路由或邻居发现任一环节失配,再被客户端的解析顺序放大。此时盲目改 DNS、重装网络或反复添加网关,往往只会把问题推迟到下一次续租。
如果你正在选机器,或者想先把线路和配置跑通再谈长期方案,可以先看看这几家的线路说明和技术参数:cliproxy(海外服务器),先看清带宽线路、流量策略和退款条款,再决定要不要迁。
先检查接口上的 IPv6 地址、掩码和作用域,再用 ip -6 addr 与 ip -6 route 核对实际配置。LAN 地址通常依赖 /64 前缀;缺省路由必须指向同一链路的 IPv6 默认网关,同时还要确认默认路由的出口网卡、源地址选择和返回路径。只看到公网地址,并不代表报文能够穿过网关。

IPv6 前缀通告也要与主机地址分开判断。路由器发送的 RA 负责发布前缀、默认网关及部分前缀参数,主机可通过 SLAAC 或 DHCPv6 获取配置;云服务器则可能由平台下发地址并静态注入路由,不一定运行 RA。排查时应记录前缀长度、网关是否同链路,以及路由是动态学习还是平台静态下发,避免把控制面已经分配误判为数据面完全畅通。
邻居发现协议依赖 ICMPv6 完成路由器发现和链路邻居解析。RS、RA、NS、NA 任一步异常,都可能造成地址能 ping 通但 HTTPS 建连失败。可先用 ip -6 neigh 查看 FAILED、INCOMPLETE 等状态,再分别测试链路本地网关、已配置的公网地址和目标站点;同时抓取 ICMPv6,确认失败点是邻居解析、路由转发,还是远端没有回包。

网络层确认后,再检查 双栈域名解析。DNS 返回的 A 与 AAAA 记录、客户端地址排序以及连接建立顺序并不是一回事。解析器可能按 RFC 6724 规则优先 IPv6,而 Happy Eyeballs机制会在双栈候选间竞速连接;它只能绕开部分坏路径,不能修复错误的 IPv6 地址或缺失路由。使用 curl 的 IPv4、IPv6 强制选项进行对照,比只看浏览器是否最终打开更有诊断价值。
可用 ServLlama 记录同一域名在不同节点的解析结果与连接耗时,再按“地址与前缀默认路由邻居发现解析和建连”逐层收敛。判断时坚持两个原则:先证明本机报文能到下一跳,再判断应用为何选择了异常地址;先修复确定的底层断路,再讨论 DNS 排序和客户端策略。
域名访问并非同时走两条路。解析器分别返回 A 与 AAAA 记录,客户端再按双栈域名解析策略排序。存在 AAAA 时,客户端通常先尝试 IPv6;达到连接延迟阈值后启动 IPv4,这正是Happy Eyeballs机制:它用短暂等待换取更快建连,而不是等 IPv6 完全超时才回退。
浏览器的 DoH、代理、CDN 就近解析和 DNS 缓存,可能掩盖系统层结果;应用也可能长期缓存 AAAA,或自行固定顺序。排障时应固定地址族,用 curl -4 -I https://example.com、curl -6 -I https://example.com 对比,再以 dig A example.com、dig AAAA example.com 核对记录,同时检查 TTL、污染记录及仅 AAAA 缓存。
若站点只发布 AAAA,而本地依赖 NAT64、DNS64,解析成功也不代表链路可用。应确认 DNS64 已合成带前缀的 AAAA,NAT64 网关可达,避免把地址转换故障误判成源站故障。
IPv6 地址可用,必须同时满足IPv6前缀通告、有效路由和邻居可达。路由器通过 RA 通告前缀及默认路由,但收到前缀只说明主机取得地址配置,不代表IPv6默认网关允许公网流量,也不保证服务端存在 IPv6 回程。临时地址、SLAAC、前缀长度或 RA 标志异常,都会造成“地址正确却无法出网”。
邻居发现协议依赖 ICMPv6 完成路由器发现、邻居解析和可达性确认,不能只检查 TCP 端口。先用 ip -6 route 找到默认网关,再用 ping -6 -I 网卡名 测试链路本地网关,并按需指定 zone index。能 ping 通网关却不能访问公网,应检查上游路由、源地址选择和回程;网关也不通,则优先检查 RA、ICMPv6 策略及交换机是否拦截邻居发现。

小包正常而网页、SSH 或 TLS 握手失败,还可能是路径 MTU 探测被过滤,可用 tracepath -6 或逐步增大 ping 负载确认。双栈同时异常时,也要排查服务端仅监听一种协议、AAAA 指向错误节点,以及 IPv4 与 IPv6 分别经过不同代理或出口。
可执行检查清单:执行 ip -6 addr 查看地址,执行 ip -6 route 确认默认路由,执行 ip -6 neigh 检查网关状态,再用 ip -6 route get 目标IPv6 核对选路与源地址;依次测试网关、公网 IPv6、目标 IPv6 及对应 IPv4,最后检查 RA、ICMPv6 放行、MTU、DNS A/AAAA、代理和服务端监听。保存命令输出、接口与时间,避免仅凭一次 ping 或反复重启下结论。
最终把问题拆成“解析、选路、邻居、传输、服务端”五层,固定地址族后逐层验证,并确保 IPv4 是独立可用路径。这样才能确认双栈确实并行工作,而不是 IPv6 失败后被客户端静默回退所掩盖。