VPC IPv6 与双栈

VPC 可开通 IPv6 能力:先给 VPC 分配 IPv6 网段,再为交换机分配 IPv6 子网,实例即可获得 IPv6 地址。若要支持 IPv6 访问公网,还需要开通 IPv6 网关与公网带宽(各厂商实现方式不同)。

VPC IPv6 与双栈

VPC 可以开通 IPv6 能力,让实例同时拥有 IPv4 与 IPv6 地址(双栈)。开通顺序是「VPC 分配 IPv6 网段 → 交换机或子网分配 IPv6 网段 → 实例获取地址」。若要支持 IPv6 访问公网,还需要额外开通 IPv6 公网带宽或网关产品;仅分配地址时 IPv6 只在 VPC 内可用,各厂商实现方式不同。

基本信息

开通顺序VPC 分配 IPv6 网段 → 子网分配 IPv6 网段 → 实例获取地址
公网访问阿里云经 IPv6 网关开通公网带宽后,IPv6 才能出入公网
安全组需按 IPv6 授权对象(具体前缀或 ::/0)单独放行
内网通信同 VPC 内 IPv6 默认互通,行为与 IPv4 一致

典型使用场景

  • 面向移动网络与海外用户的业务,避免 IPv4 地址耗尽与 NAT 端口瓶颈
  • 新建 VPC 直接按双栈规划,省去后期大规模改造与业务停机
  • 对 IPv6 有合规或采购要求的项目,需要实例具备 IPv6 地址与公网出口
  • 内网服务之间用 IPv6 直连,减少 IPv4 私有网段的规划压力
  • 按 IPv6 前缀做更细粒度的安全组与访问控制策略

双栈环境要点

双栈不是「多配一个地址」这么简单:DNS 要能同时返回 A 与 AAAA 记录,客户端会在两者之间自行选择(常见优先 IPv6);防火墙、WAF、负载均衡的健康检查都要具备 IPv6 能力,否则出现「一部分用户能访问、一部分不能」的间歇性故障。上线前建议同时在纯 IPv4、纯 IPv6 与双栈三种客户端环境下各验证一次。

在实例内查看 IPv6

在实例内查看 IPv6
ip -6 addr show
ip -6 route show
ping6 -c 3 2400:3200::1   # 阿里云公共 DNS 的 IPv6 地址示例
# 检查服务是否监听在 IPv6 上
ss -lntp | grep -E '\[::\]|\*:'

常见问题与现象

现象常见原因排查方向
IPv6 能通内网不能上公网未开通 IPv6 公网带宽检查 IPv6 网关与带宽配置
地址已分配但外部访问不到应用只监听 IPv4确认监听地址是否为 :: 或指定 IPv6
入向请求全部被拒安全组未放行 IPv6 源按 IPv6 前缀单独添加规则
应用只监听 IPv4 地址(0.0.0.0)时,即便实例已具备 IPv6 也无法通过 IPv6 访问;监听方式、DNS 解析结果与安全组要一起检查。

易错点

  • 分配了 IPv6 地址不代表能上公网:未开通 IPv6 网关与带宽时仅内网可用
  • 应用监听 0.0.0.0 与 [::] 的行为有差别,双栈环境需显式确认
  • 安全组只放行 IPv4 源地址,IPv6 请求被静默丢弃
  • 防火墙或 WAF 未开启 IPv6 防护,双栈后出现防护缺口

数据来源与参考

  • 阿里云 VPC IPv6 文档
  • 阿里云 IPv6 网关文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌