ADC

无国籍 NAT46

无状态 NAT46 功能允许通过 IPv4 到 IPv6 数据包转换在 IPv4 和 IPv6 网络之间进行通信,反之亦然,无需在 NetScaler 设备上维护任何会话信息。

对于无状态 NAT46 配置,设备将 IPv4 数据包转换为 IPv6 或将 IPv6 数据包转换为 IPv4,如 RFC 6145 和 2765 中所定义。

NetScaler 设备上的无状态 NAT46 配置包含以下组件:

  • IPv4-IPv6 INAT 条目。一个 INAT 条目,定义 IPv4 地址和 IPv6 地址之间的 1:1 关系。换句话说,设备上的 IPv4 地址代表 IPv6 服务器监听连接请求。此 IPv4 地址的 IPv4 请求数据包被转换为 IPv6 数据包,然后将 IPv6 数据包发送到 IPv6 服务器。

    设备将 IPv6 响应数据包转换为 IPv4 响应数据包,其源 IP 地址字段设置为 INAT 条目中指定的 IPv4 地址。然后将转换后的数据包发送到客户端。

  • NAT46 IPv6 前缀。在设备上配置的长度 96 位(128-32=96)的全局 IPv6 前缀。在 IPv4 数据包到 IPv6 数据包的转换过程中,设备将转换后的 IPv6 数据包的源 IP 地址设置为请求数据包中接收到的 NAT46 IPv6 前缀 [96 位] 和 IPv4 源地址 [32 位] 的组合。

    在 IPv6 数据包到 IPv4 数据包转换期间,设备会将已转换的 IPv4 数据包的目标 IP 地址设置为 IPv6 数据包的目标 IP 地址的最后 32 位。

举一个例子,一个企业在服务器 S1 上托管网站 www.example.com,该服务器具有 IPv6 地址。为了启用 IPv4 客户端与 IPv6 服务器 S1 之间的通信,NetScaler 设备 NS1 采用无状态 NAT46 配置部署,其中包括服务器 S1 的 IPv4-IPv6 INAT 条目和 NAT46 前缀。INAT 条目包括一个 IPv4 地址,设备在该地址上代表 IPv6 服务器 S1 监听来自 IPv4 客户端的连接请求。

无国籍 nat46

下表列出了此示例中使用的设置:

实体 名称
客户机的 IP 地址 client_IPv4(仅供参考) 192.0.2.60
服务器的 IPv6 地址 sevr_IPv6(仅供参考) 2001:DB8:5001::30
在 IPv6 服务器 S1 的 INAT 条目中定义的 IPv4 地址 map-sevr-IPv4(仅供参考) 192.0.2.180
NAT 46 转换的 IPv6 前缀 NAT46_Prefix (for reference purposes only) 2001:DB8:90:

以下是此示例中的流量:

  1. IPv4 Client CL1 向 NetScaler 设备上的 map-sevr-IPv4 (192.0.2.180) 地址发送请求数据包。
  2. 设备接收请求数据包并在 NAT46 INAT 条目中搜索映射到 map-sevr-IPv4 (192.0.2.180) 地址的 IPv6 地址。它找到 sevr-IPv6 (2001: DB 8:5001:30) 地址。
  3. 设备使用以下内容创建转换后的 IPv6 请求数据包:
    • 目标 IP 地址字段 = sevr-IPv6 = 2001: DB 8:5001:30
    • 源 IP 地址字段 = NAT 前缀(前 96 位)和 client_IPv4(最后 32 位)的串联 = 2001:DB8:90::192.0.2.60
  4. 设备将转换后的 IPv6 请求发送到 sevr-IPv6。
  5. IPv6 服务器 S1 的响应是向 NetScaler 设备发送 IPv6 数据包,内容为:
    • 目标 IP 地址字段 = NAT 前缀(前 96 位)和 client_IPv4(最后 32 位)的串联 = 2001:DB8:90::192.0.2.60
    • 源 IP 地址字段 = sevr-IPv6 = 2001:DB8:5001::30
  6. 设备接收 IPv6 响应数据包并验证其目标 IP 地址是否与设备上配置的 NAT46 前缀相匹配。Because the destination address matches the NAT46 prefix, the appliance searches the NAT46 INAT entries for the IPv4 address associated with the Sevr-IPv6 address (2001:DB8:5001::30 ). 它找到 map-sevr-IPv4 地址 (192.0.2.180)。
  7. 设备使用以下内容创建 IPv4 响应数据包:
    • 目标 IP 地址字段 = 从 IPv6 响应的目标地址中去除的 NAT46 前缀 = client_IPv4 (192.0.2.60)
    • 源 IP 地址字段 = map-sevr-IPv4 地址 (192.0.2.180)
  8. 设备将转换后的 IPv4 响应发送到客户端 CL1。

无状态 NAT46 的局限性

以下限制适用于无状态 NAT46:

  • 不支持 IPv4 选项的转换。
  • 不支持 IPv6 路由标头的转换。
  • 不支持转换 IPv6 数据包的逐跳扩展标头。
  • 不支持转换 IPv4 数据包的 ESP 和 EH 标头。
  • 不支持多播数据包的转换。
  • 不支持目标选项标头和源路由标头的转换。
  • 不支持转换不包含 UDP 校验和的分段 IPv4 UDP 数据包。

配置无状态 NAT46

在 NetScaler 设备上为无状态 NAT46 配置创建所需的实体涉及以下过程:

  1. 创建启用无状态模式的 IPv4-IPv6 映射 INAT 条目。
  2. 创建 NAT46 IPv6 前缀。

CLI 过程

要使用 CLI 配置 INAT 映射条目,请执行以下操作:

在命令提示符下,键入:

  • add inat <name> <publicIPv4> <privateIPv6> -mode STATELESS
  • 显示 inat <name>

要使用 CLI 创建 NAT46 前缀,请执行以下操作:

在命令提示符下,键入:

  • set inatparam -nat46v6Prefix <ipv6_addr|*>
  • show inatparam

示例:

 > add inat exmpl-com-stls-nat46 192.0.2.180
2001:DB8:5001::30 -mode stateless
Done

> set inatparam -nat46v6Prefix 2001:DB8:90::/96
Done
<!--NeedCopy-->

GUI 程序

要使用 GUI 创建 INAT 映射条目,请执行以下操作:

  1. 导航到系统 > 网络 > 路由 > INAT。

  2. 添加新的 INAT 条目或编辑现有的 INAT 条目。

  3. 设置以下参数:

    • 名称*
    • 公有 IP 地址*
    • 专用 IP 地址*(选中 IPv6 复选框并输入 IPv6 格式的地址。)
    • 模式(从下拉列表中选择“无状态”。)

    * 必填参数

要使用 GUI 创建 NAT46 前缀,请执行以下操作:

导航到“系统”>“网络”,在“ 置”组中,单击“配置 INAT 参数”,然后设置 前缀 参数。

为无状态 NAT46 设置全局参数

该设备为无状态 NAT46 配置提供了一些可选的全局参数。

要使用 CLI 为无状态 NAT46 设置全局参数,请执行以下操作:

在命令提示符下,键入:

  • set inatparam [-**nat46IgnoreTOS** ( **YES** | **NO** )] [-**nat46ZeroCheckSum** ( **ENABLED** | **DISABLED** )] [-**nat46v6Mtu** \<positive_integer>] [-**nat46FragHeader** ( **ENABLED** | **DISABLED** )]
  • show inatparam

示例:

> set inatparam -nat46IgnoreTOS YES -nat46ZeroCheckSum DISABLED -nat46v6Mtu 1400 -nat46FragHeader DISABLED
 Done
<!--NeedCopy-->

要使用 GUI 为无状态 NAT46 设置全局参数,请执行以下操作:

导航到“系统”>“网络”,在“设置”组中,单击“配置 INAT 参数”。

无国籍 NAT46