首页/网络/IP 与子网速查/NAT64 与 DNS64:只给 v6 的网络访问 v4 互联网
IPv6 与下一代网络42 条

NAT64 与 DNS64:只给 v6 的网络访问 v4 互联网

纯 IPv6 网络访问 v4 服务靠 NAT64(RFC 6146):DNS64(RFC 6147)把 A 记录合成 AAAA(64:ff9b::/96 前缀);客户端以为在连 v6,NAT64 网关再翻译成 v4。代价是 DNSSEC 校验与 v4 字面量场景受限。

IP 与子网速查网络更新于 2026-10-13

NAT64 与 DNS64 的分工

纯 IPv6 网络要访问只提供 IPv4 的服务,需要两个组件配合:DNS64 负责在域名只有 A 记录时合成一条 AAAA 记录,把 IPv4 地址嵌入 NAT64 前缀;NAT64 网关则在收到指向该合成地址的报文时,把它翻译成对实际 IPv4 地址的访问。客户端全程以为自己在访问 IPv6 服务,转换过程对它透明。

基本信息

NAT64 前缀知名前缀 64:ff9b::/96,本地使用 64:ff9b:1::/48
DNS64 职责把 A 记录合成为 AAAA,需要与 NAT64 配套
合成规则前缀加 IPv4 地址,例如 64:ff9b::198.51.100.7
DNSSEC 影响合成记录会破坏原始签名校验
字面量问题应用里硬编码 IPv4 地址时无法被翻译
补充方案464XLAT 在终端侧增加一层转换,适配老应用

数据流

数据流
客户端请求纯 IPv4 域名 example.com
DNS64 返回合成 AAAA:64:ff9b::198.51.100.7
客户端向该地址发起 IPv6 连接
NAT64 网关剥离前缀,转成对 198.51.100.7 的 IPv4 访问
回程按会话状态反向翻译,客户端无感知

前缀与用途

前缀用途
64:ff9b::/96知名 NAT64 前缀,仅嵌入 IPv4 地址
64:ff9b:1::/48本地使用前缀,可嵌入额外位以区分实例
2001:db8::/32文档示例前缀,不可用于生产
100.64.0.0/10运营商共享地址段,常与 NAT 场景同时出现

典型使用场景

  • 移动网络向 IPv6 单栈演进:终端只有 IPv6 地址,通过 NAT64 访问存量 IPv4 服务
  • 企业纯 IPv6 内网访问外部 IPv4 网站,避免为少量需求保留双栈链路
  • 排查“能解析但打不开”:确认 DNS64 合成结果与 NAT64 网关是否配套
  • 理解连接失败原因:应用硬编码 IPv4 地址或使用字面量时无法走翻译路径
  • 评估 DNSSEC 场景:合成记录与签名校验冲突时需要单独设计解析策略
NAT64 与 DNS64 必须成对部署:只做 DNS64 会把流量引向不存在的地址,只做 NAT64 则客户端拿不到合成地址,两种半配置都会导致业务不通。

排障顺序建议

  • 先确认域名解析结果:若返回的 AAAA 落在 NAT64 前缀内,说明 DNS64 已生效
  • 再确认网关可达:用 ping 或抓包检查合成地址是否有响应
  • 接着核对前缀一致性:DNS64 使用的合成前缀必须与 NAT64 网关配置的前缀相同
  • 最后检查应用行为:是否硬编码 IPv4 地址或使用字面量,这类情况需要改造成域名访问

易错点

  • 只部署 DNS64 没有 NAT64:合成出的地址无人应答,表现为解析成功但连接超时
  • 忽略 DNSSEC 校验:合成记录会导致签名校验失败,排障时要先看解析链
  • 应用硬编码 IPv4 字面量:NAT64 环境无法翻译这类地址,需要改造成域名访问
  • 把知名前缀与本地区间混用:两端配置不一致时合成地址与网关前缀对不上,连接直接失败

数据来源与参考

  • RFC 6146(NAT64)
  • RFC 6147(DNS64)
  • RFC 6052(前缀)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌