摘要

  • Spiro Stathakis 为 isp6 的订单平台选用 ipFamily: ipv6,Pod 和服务走 IPv6,却仍为兼容环境留了 IPv4 /28 子网。
  • 节点主接口与双栈终结点接口占满了这块小地址池。团队后来把公共子网扩到 /27,私有子网扩到 /26。

把 IPv4 缩到云平台允许的最小子网,像是一份清楚的迁移宣言。Spiro Stathakis 真这么做了。他在 RIPE Labs 的亲历记录写道,isp6 把订单管理平台放在 IPv6 优先的 EKS 上,Pod 用公司自己的 IPv6 地址;IPv4 只留 /28,准备给旧依赖兜底。结果先挤满地址池的不是应用,而是承载应用的接口。

这个子网从开头就只有 11 个可分配位置。一个 /28 总共 16 个地址;AWS 官方规则预留开头四个和最后一个。Stathakis 说,节点主接口与双栈服务终结点的网络接口吃掉了余量,公共子网只得扩到 /27,私有子网扩到 /26。这是他报告的部署结果。文中没有逐子网、逐接口的时间戳清单,无法据此推算今天每个子网还剩多少。

“IPv6 集群”四个字的边界也值得看清。AWS 的 EKS 文档说明,在这种模式下 Pod 与服务拿到 IPv6;Pod 访问只有 IPv4 的目的地时,还会使用节点本地的 IPv4 地址,再经节点主 IPv4 地址转换出去。兼容路径使旧服务继续可用,也让应用不报错地继续用旧协议。集群地址族在创建时确定,之后不能原地改动。

Stathakis 的团队保留一台 NAT 网关处理仍需 IPv4 的目的地。他们还把部分双栈 AWS 服务终结点的 443 端口限制为 IPv6:客户端若选了 A 记录,就会失败,不会悄悄绕回 IPv4。NAT 流日志则帮他们找出尚未迁走的流量。若要判断现状,需要一份带日期的接口、子网余量和 NAT 流量记录。

这不是协议口号能结算的账。isp6 决定让工作负载用 IPv6;云平台的接口与外部依赖仍决定 IPv4 要留多大一块。/28 写下了迁移意愿,接口数量写下了实际成本。