Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:配置有状态 NAT64 以处理 IPv4 地址耗尽

此示例在具有服务 DPC 的 MX 系列 3D 通用边缘路由器上配置有状态 NAT64。该配置复制了 draft-ietf-behave-v6v4-xlate-stateful-12 和 RFC 6146 有状态 NAT64:从 IPv6 客户端到 IPv4 服务器的网络地址和协议转换中的示例流。

此示例包含以下部分:

要求

此示例使用以下硬件和软件组件:

  • 带有服务 DPC 的 MX 系列 3D 通用边缘路由器或带有服务 PIC 的 M 系列多服务边缘路由器

  • Junos OS 10.2 或更高版本

  • 支持 DNS64 的名称服务器

注意:

此配置示例已使用列出的软件版本进行了测试,并假定适用于所有更高版本。

实现

具有服务 PIC 或服务密集端口集中器 (DPC) 的瞻博网络路由器支持有状态 NAT64。系统将来自仅支持 IPv6 主机的 IPv6 数据包定向到服务 DPC,在服务 DPC 中,数据包将根据配置转换为 IPv4。在相反路径中,系统会将 IPv4 数据包发送到服务 DPC,由其他系统处理反向转换并将相应的 IPv6 数据包发送回客户端。

配置概述和拓扑

图 1 显示了使用两个千兆以太网接口和一个服务 DPC 实现 NAT64 的 MX 系列路由器路由器 R2。连接到 IPv4 网络的接口是 ,连接到 IPv6 网络的接口是 ge-1/3/6ge-1/3/5

还显示了具有 DNS64 功能的本地名称服务器,系统将其用作翻译过程的一部分。本地名称服务器配置了 /96 分配给本地 NAT64 路由器的前缀。

图 1:NAT64 拓扑 NAT64 Topology

配置

配置有状态 NAT64 涉及以下任务:

配置 PIC 和接口

分步过程

要在路由器 R2 上配置 PIC 和接口,请执行以下操作:

  1. chassis编辑配置以启用第 3 层服务包。服务包及其关联的服务包sp-) 接口用于在流量传递到其目标之前对其进行操作。有关配置软件包的详细信息,请参阅 Junos OS 服务接口配置指南

  2. [edit chassis fpc pic adaptive-services] 层次结构级别配置服务包。此示例假定 PIC 位于 FPC 5 插槽 0 中。

  3. 配置 ge-1/3/5 连接到 IPv6 网络的接口:

    • family inet 在层次结构级别包括 [edit interfaces interface-name unit unit-number] (IPv4) 和 family inet6 (IPv6) 语句。

    • 在层次结构级别包括 [edit interfaces unit unit-number family inet6 address] IPv6 地址。

    • 在和 [edit interfaces interface-name unit unit-number family service input service-set] 层次结构 [edit interfaces interface-name unit unit-number family service output service-set] 级别配置服务集。

  4. 配置 ge-1/3/6 连接到 IPv4 网络的接口:

    • family inet在层次结构级别包含语句[edit interfaces unit unit-number]

    • 在层次结构级别包括 [edit interfaces unit unit-number family inet] IPv4 地址。

  5. 在此示例中, sp-5/0/0配置服务接口。此示例为本地主机上的任何服务配置系统日志。

    与此接口关联的服务包是在步骤 2 中配置的。在层次结构级别指定 [edit interfaces interface-name unit unit-number] IPv4 和 IPv6 地址族。您在配置服务集中 配置的服务集 与此接口相关联。

配置 NAT64 池

分步过程

此程序用于为 NAT64 路由器(路由器 R2) /96 配置前缀,以表示 IPv6 地址空间中的 IPv4 地址。然后,寻址到包含前缀的目标 /96 地址的 IPv6 数据包将路由到 NAT 路由器的 IPv6 接口。您还可以为 NAT 池配置一个或多个 IPv4 传输地址。

此示例说明如何为 IPv4 地址配置网络地址 203.0.113.1/32转换。它还演示了如何配置 IPv6 前缀 64:FF9B::/96。要配置 NAT64 池,请执行以下操作:

  1. [edit services nat pool pool-name] 层次结构级别为池配置 IPv4 传输地址。配置要自动分配的 NAT 池端口。

  2. 配置 NAT 规则以转换来自 IPv6 网络的数据包。NAT 规则指定要匹配的流量以及流量与规则匹配时要执行的操作。

    在此示例中,只需要一个规则即可完成地址转换。该规则选择来自 IPv6 网络上的源地址 . 2001:DB8::1/128然后,/96使用前缀为转换指定在步骤 1 中配置的传输地址。

    在层次结构级别配置 [edit services nat rule rule-name] 规则,如下所示:

配置服务集

分步过程

要在路由器 R2 上为 NAT 服务配置服务集,必须将之前配置的规则 () 和服务接口 (nat64sp-5/0/0) 与服务集相关联。还包括系统日志配置。

要在层次结构级别配置这些设置 [edit services service-set service-set-name] ,请执行以下操作:

  1. 配置系统日志。

  2. 将 NAT 规则和服务接口与层次结构级别的服务集 [edit services service-set service-set-name] 相关联。

  3. 在路由器 R2 上,提交配置。

验证 NAT64 操作

您可以使用以下功能来验证 NAT64 配置:

  • 路由器上的 CLI 命令

  • 测 井

您还可以使用测试工具,该工具可以使用众所周知的前缀 (64:FF9B::/96) 作为目标,生成定向到 MX 系列路由器的 IPv6 流。

其中,您可以使用以下 CLI 命令来验证 NAT64 配置:

  • show services stateful-firewall flows

  • show services stateful-firewall conversations

  • show services nat pool detail

  • show services stateful-firewall statistics extensive

在此示例中:

  • 在输入方向上,IPv4 目标地址是从前缀与从指定前缀长度配置的目标前缀匹配的 IPv6 目标地址获取的。

  • 在反向或输出方向上,IPv4 地址以指定的前缀长度作为目标前缀的后缀。

要确认 NAT64 配置,请执行以下任务:

显示 NAT64 流

目的

显示并验证是否已创建 NAT64 流并包含正确的网络地址转换。

行动

要在路由器 R2 上显示 NAT64 流,请使用 show services stateful-firewall flows 命令。

意义

在示例输出中,将显示输入 (I) 和输出 (O) 方向的 NAT 源和 NAT 目标地址。此输出中列出的 NAT64 流没有特定顺序。

显示 NAT64 对话

目的

显示并验证 NAT64 对话(相关流的集合)是否正确。

行动

要在路由器 R2 上显示 NAT64 对话,请使用 show services stateful-firewall conversations 命令。与不按特定顺序报告所有流的命令相反 flows ,命令的 conversations 输出对属于会话的流进行分组,以便轻松排除特定主机对之间的通信故障。

意义

示例输出显示特定主机对之间的 NAT64 对话。

显示与全局 NAT 池相关的统计信息

目的

显示并验证与池使用情况相关的全局 NAT 统计信息。

行动

要在路由器 R2 上显示与全局 NAT 池相关的统计信息,请使用show services nat pool detail命令。通常将此命令与“显示 NAT64 流”中使用的命令结合使用show services stateful-firewall flows,后者显示翻译的源和输出。

意义

示例输出显示有关 NAT64 池的相关统计信息和信息。

检查系统日志

目的

检查系统日志,因为系统会在创建和删除会话时创建详细的日志。

行动

根据示例设置创建会话时,将提供两个日志。第一个日志指示数据包匹配的规则和期限。第二个日志指示流创建。

会话结束后,除了删除流日志外,系统还会创建一个日志,指示 NAT 池地址和端口释放,如下所示:

意义

示例输出显示在创建会话和会话结束时可以看到的日志消息。

验证是否进行了 NAT64 对话

目的

验证 NAT64 对话是否正在进行。目前对应用层网关 (ALG) 的支持仅限于 ICMP 和 traceroute。

行动

要验证路由器 R2 上是否正在进行 NAT64 对话,请使用 show services stateful-firewall conversations 命令。以下是 ICMP 回显测试 (ping) 的示例输出。

意义

示例输出显示 ICMP 回显测试的结果。