DNS64 是支持 IPv4 资源和仅 IPv6 主机之间通信的过渡机制之一。
由于可用的 IPv4 空间不足,许多组织已采用 IPv6。但是,互联网上的大多数内容和资源仍然只保留 IPv4,并且不能通过仅 IPv6 系统直接访问,因为这两种协议不兼容。这意味着,如果没有将类型不同的两台主机中的一台映射到另一台的转换机制,仅 IPv4 和仅 IPv6 的主机就无法相互通信。DNS64 是支持 IPv4 资源和仅 IPv6 主机之间通信的过渡机制之一。
当仅 IPv6 设备为仅 IPv4 的主机请求 AAAA 记录时,通常会返回失败的响应。DNS64 与 NAT64 网关配合使用,可根据现有 A 记录合成 AAAA 记录。这是通过将现有 A 记录的 IPv4 地址转换为合成 AAAA 记录的可路由 IPv6 地址来完成的。
然后,设备连接到 DNS64 返回的 AAAA 记录的 IPv6 地址。合成 IPv6 地址的所有流量将自动重定向到 NAT64 网关,然后 NAT64 网关将连接转换为正确的 IPv4 地址。
这对最终用户和允许仅 IPv6 客户端与 IPv4 主机通信的设备完全透明。
注: NAT64 翻译超出了本指南的范围。有关 NAT64 的更多信息,请参阅 RFC 6146,有状态 NAT64:从 IPv6 客户端到 IPv4 服务器的网络地址和协议转换。
下图描述了仅 IPv6 客户端使用 DNS64 与仅 IPv4 服务器通信所涉及的步骤。
- 仅 IPv6 客户端将 AAAA 记录的查询发送到启用了 DNS64 的递归 DNS 服务器。
- 递归 DNS 服务器将 AAAA 记录查询到外部服务器。
- 外部名称服务器以 A 记录响应。
- 递归 DNS 服务器使用 DNS64 合成 AAAA 记录,并将 AAAA 记录返回给仅 IPv6 客户端。
- 客户端连接到 AAAA 记录的 IPv6 地址,并定向到 NAT64 服务器。
- NAT64 使用与合成 AAAA 记录的 IPv6 记录相同的机制将 IPv6 地址转换为 IPv4 地址,但方向相反,并连接到仅 IPv4 服务器。 注: 尽管 DNS64 和 NAT64 协同工作,但这两种机制完全分开。这两者之间没有共享状态,只有一种常见的翻译机制。DNS64 和 NAT64 都必须配置为使用相同的方法从 IPv4 地址合成 IPv6 地址,以确保正确转换。
要在 DNS 服务器上配置 DNS64 支持,必须在 Address Manager 中定义以下配置: 。