IPv6 VPS服务无法访问的常见原因与排查方法

IPv6 VPS服务无法访问的常见原因与排查方法

近年来越来越多 VPS 开始提供 IPv6 地址,尤其是一些低价 VPS、IPv6-only VPS 和家宽线路服务器。

IPv6 VPS 虽然资源丰富,但在实际使用中经常会遇到一些问题:

  • SSH 可以连接,但是网站打不开
  • 域名已经解析,但是服务无法访问
  • 端口显示开启,但是外部连接失败
  • IPv6 可以 ping,但是 TCP 服务不通

本文记录一些常见排查方法。

1: 检查IPv6地址是否正常

首先确认服务器是否拥有公网 IPv6:

1
ip -6 addr

正常情况下应该看到:

1
inet6 xxxx::xxxx scope global

如果只有:

1
fe80::

说明只是本地链路 IPv6,不能被公网访问。

2: 检查IPv6默认路由

拥有 IPv6 地址后,还需要确认路由:

1
ip -6 route

正常应该存在:

1
default via xxxx::xxxx

如果没有默认路由,IPv6 通信会失败。

3: 检查服务监听地址

很多程序默认只监听 IPv4。

查看端口:

1
ss -tuln

例如:

1
0.0.0.0:443

表示只监听 IPv4。

如果支持 IPv6,应该类似:

1
[::]:443

例如 Nginx:

1
listen [::]:443 ssl;

4: 检查IPv6防火墙

IPv4 和 IPv6 防火墙规则不同。

查看 IPv6:

1
ip6tables -L

如果 IPv6 端口被拦截,即使服务正常运行,外部也无法访问。

5: 检查AAAA解析

IPv6 网站需要 AAAA 记录。

查看:

1
dig AAAA example.com

如果没有返回 IPv6 地址,需要检查 DNS 配置。

IPv6 VPS常见故障

1: 网站打不开

可能原因:

  • DNS AAAA错误
  • Nginx没有监听IPv6
  • 防火墙限制443端口

2: 面板可以打开,服务无法连接
原因:

  • 程序只绑定IPv4
  • 端口没有开放IPv6
  • 配置文件监听地址错误

3: 开启CDN后异常

部分 CDN 对 IPv6 回源支持不同。

排查时建议:

  1. 暂时关闭代理
  2. 使用 DNS only
  3. 直接测试源站 IPv6

确认源站正常后,再开启 CDN。

总节

IPv6 VPS 出现访问问题时,不要只检查服务程序。

推荐按照以下顺序排查:

  1. 检查 IPv6 地址
  2. 检查默认路由
  3. 检查 DNS AAAA
  4. 检查端口监听
  5. 检查 IPv6 防火墙
  6. 检查应用配置

掌握这些基础排查方法,可以解决大部分 IPv6 VPS 部署中的访问问题。