Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

网络地址端口转换

为网络地址端口转换 (NAPT) 配置地址池概述

借助网络地址端口转换 (NAPT),您可以配置多达 32 个地址范围,每个地址最多可达 65,536 个。

port语句指定已转换地址的端口分配。要配置端口的自动分配,请在层次结构级别中[edit services nat pool nat-pool-name]包含port automatic语句。默认情况下,将进行端口的顺序分配。

从 Junos OS 版本 14.2 开始,您可以在层次结构级别中[edit services nat pool nat-pool-name]包含 sequential 语句选项port automatic,以便从指定范围对端口进行有序分配。要配置特定端口号范围,请在层次结构级别中[edit services nat pool nat-pool-name]包含语port range low minimum-value high maximum-value句。

注意:

当池中用于餐巾纸-44 的可用端口总数的 99% 时,该 NAT 池上不允许新流。

从 Junos OS 14.2 版开始, auto 选项是隐藏的,已弃用,仅针对向后兼容性进行维护。在未来的软件版本中,可能会完全删除它。

Junos OS 提供了多个用于分配端口的替代方案:

NAPT 的轮询分配

要为 NAT 池配置轮询分配,请在[edit services nat pool pool-name]层级包含地址分配轮询配置语句。使用轮询分配时,在为下一个范围内的每个地址重复该进程之前,会从每个地址中分配一个端口。为最后一个系列中的所有地址分配端口之后,分配过程将围绕并分配下一个未使用的端口,用于第一个范围中的地址。

  • 第一个连接分配给地址:端口 100.0.0.1:3333。

  • 第二个连接分配给地址:端口 100.0.0.2:3333。

  • 第三个连接分配给地址:端口 100.0.0.3:3333。

  • 第四个连接分配给地址:端口 100.0.0.4:3333。

  • 第五个连接分配给地址:端口 100.0.0.5:3333。

  • 第六个连接分配给地址:端口 100.0.0.6:3333。

  • 第七个连接分配给地址:端口 100.0.0.7:3333。

  • 第八个连接分配给地址:端口 100.0.0.8:3333。

  • 第九个连接分配给地址:端口 100.0.0.9:3333。

  • 第十个连接分配给地址:端口 100.0.0.10:3333。

  • 第十一个连接分配给地址:端口 100.0.0.11:3333。

  • 第十二个连接分配给地址:端口 100.0.0.12:3333。

  • 绕道而行,第十三个连接分配给地址:端口 100.0.0.1:3334。

NAPT 的顺序分配

通过连续分配,仅当地址中提供的所有端口均已用尽时,才能选择 NAT 池中的下一个可用地址。

顺序分配只能为 MS-DPC 和 MS-100、MS-400 和 MS-500 多服务 PICS 配置。MS-MPC 和 MS-MIC 卡仅使用轮询分配方法。

注意:
  • 这种旧有实施方案提供了向后兼容性,不再是建议的方法。

以下配置示例中称为 餐巾的 NAT 池使用连续实施:

在此示例中,端口将从第一个地址范围内的第一个地址开始分配,分配从此地址继续,直至使用所有可用端口。使用所有可用端口时,将分配下一个地址(在同一地址范围或以下地址范围内),并且根据需要选择其所有端口。对于 尿布 池示例,只有在使用第一个系列中所有地址的所有端口时,才会分配元件地址:端口 100.0.0.4:333。

  • 第一个连接分配给地址:端口 100.0.0.1:3333。

  • 第二个连接分配给地址:端口 100.0.0.1:3334。

  • 第三个连接分配给地址:端口 100.0.0.2:3333。

  • 第四个连接分配给地址:端口 100.0.0.2:3334,等等。

保留 NAPT 的奇偶校验和保留范围

NAPT 提供保留奇偶校验和保留范围选项,MS-DPC 和 MS-100、MS-400 和 MS-500 多服务 PICS 支持。对 MS-MPC 和 MS-MIC 的支持始于 Junos OS 版本 15.1R1。NAPT 提供以下选项:

  • 保留奇偶校验 — 使用 preserve-parity 命令为带有奇数源端口的数据包分配偶数端口,甚至为源端口和奇数端口分配端口。

  • 保留范围 — 假设原始数据包在保留范围内包含源端口,请使用 preserve-range 命令在 0 到 1023 的范围内分配端口。这适用于控制会话,而不是数据会话。

NAPT 的地址池和端点无关映射

地址池

地址池或地址池配对 (APP) 可确保为源自同一内部主机的所有会话分配相同的外部 IP 地址。从池中分配外部 IP 地址时,您可以使用此功能。此选项不会影响端口利用率

地址池可解决应用程序打开多个连接的问题。例如,当会话初始化协议 (SIP) 客户端发送实时传输协议 (RTP) 和实时控制协议 (RTCP) 数据包时,SIP 服务器通常要求它们来自同一 IP 地址,即使它们受到 NAT 约束也是如此。如果 RTP 和 RTCP IP 地址不同,接收端点可能会丢弃数据包。协商端口的任何点对点 (P2P) 协议(假设地址稳定性)都受益于对地址池的优势。

以下是地址池的用例:

  • 提供即时消息服务的网站需要聊天及其控制会话来自同一公共源地址。当用户登录聊天时,控制会话会对用户进行身份验证。当用户开始聊天会话时,将开始不同的会话。如果聊天会话源自不同于认证会话的源地址,则即时消息服务器拒绝聊天会话,因为它源自未经授权的地址。

  • 某些网站(如网上银行网站)要求来自给定主机的所有连接均来自同一 IP 地址。

注意:

从 Junos OS 版本 14.1 开始,当您停用包含该服务集的地址池配对 (APP) 的服务集时,消息将显示在 PIC 控制台上,映射将用于该服务集。当服务集的删除开始,并在完成服务集的删除后再次生成时,将触发这些消息。删除开始和结束时,将显示以下示例消息:

  • 11 月 15 日 08:33:13.974 日志:关键] SVC-SET ss1 (iid 5) 停用/删除:启动 NAT 映射和流删除

  • 11 月 15 日 08:33:14.674 日志:关键] SVC-SET ss1 (iid 5) 停用/删除:NAT 映射和流删除完成

在服务集中包含大量应用程序的扩展环境中,会生成大量消息,此过程需要一些时间。我们建议您等到控制台消息表示服务集完成删除后再重新激活服务集。

端点无关映射和端点无关过滤

端点无关映射 (EIM) 确保从给定主机使用同一内部端口时,为所有连接分配相同的外部地址 端口。这意味着,如果他们来自不同的源端口,您可以自由分配不同的外部地址。

EIM 和 APP 各不相同,具体如下:

  • APP 可确保分配相同的外部 IP 地址。

  • EIM 提供了一个稳定的外部 IP 地址和端口(一段时间),外部主机可以连接到该端口。端点无关过滤 (EIF) 控制哪些外部主机可以连接到内部主机。

注意:

从 Junos OS 版本 14.1 开始,当您停用包含该服务集的端点无关映射 (EIM) 映射的服务集时,消息将显示在 PIC 控制台上,并且映射将用于该服务集。当服务集的删除开始,并在完成服务集的删除后再次生成时,将触发这些消息。删除开始和结束时,将显示以下示例消息:

  • 11 月 15 日 08:33:13.974 日志:关键] SVC-SET ss1 (iid 5) 停用/删除:启动 NAT 映射和流删除

  • 11 月 15 日 08:33:14.674 日志:关键] SVC-SET ss1 (iid 5) 停用/删除:NAT 映射和流删除完成

在服务集中包含大量 EIM 映射的扩展环境中,会生成大量消息,而此过程需要一些时间。我们建议您等到控制台消息表示服务集完成删除后再重新激活服务集。

NAPT 的安全端口块分配

带 MS-DPC 的 MX 系列路由器以及带 MS-100、MS-400 和 MS-500 多服务 PICS 的 M 系列路由器上支持端口块分配。MX 系列路由器支持端口块分配,从 Junos OS 版本 14.2R2 开始,带有 MS-MPC 和 MS-MIC。

运营商使用 IP 地址(RADIUS 或 DHCP) 日志跟踪订阅者。如果他们使用 NAPT,则多个订阅者共享一个 IP 地址,并且运营商必须跟踪作为 NAT 日志一部分的 IP 地址和端口。由于端口以非常高的速度使用和重复使用,因此使用日志跟踪订阅者变得困难,因为大量消息难以存档和关联。通过在块中分配端口,端口块分配可以显著减少日志数量,从而更轻松地跟踪订阅者。

NAPT 的安全端口块分配

安全的端口块分配可用于转换类型 napt-44stateful-nat64

分配端口块时,最近分配的块是当前活动块。从活动块中提供 NAT 端口的新请求。端口将从当前活动块随机分配。

配置安全端口块分配时,可以指定以下内容:

  • block-size

  • max-blocks-per-address

  • active-block-timeout

端口块分配的临时日志记录

通过端口块分配,我们会生成每组分配给订阅者的端口的 syslog 日志。这些日志基于 UDP,可能会在网络中丢失,特别是对于长期运行的流。临时日志记录触发器以配置的间隔重新发送上述日志,以供至少在块的一个端口上具有流量的活动块发送。

临时日志记录将包含在 sp-interfaces 下services-options方的pba-interim-logging-interval语句以激活。

NAPT 实施方法比较

表 1 提供了可用 NAPT 实施方法的功能比较。

表 1:NAPT 实施方法比较

特性/功能

动态端口分配

安全端口块分配

确定性端口块分配

每个 IP 用户

安全风险

日志利用率

无(无需日志)

降低安全风险

随机分配

活动块超时 功能

不适用

每个 IP 增加用户数

不适用

配置多个较小的端口块以最大化用户/公共 IP

基于算法的端口分配

在 IPv4 网络中配置 NAPT

网络地址端口转换 (NAPT) 是一种将许多网络地址及其 TCP/UDP 端口转换为单个网络地址及其 TCP/UDP 端口的方法。此转换可在 IPv4 和 IPv6 网络中配置。本节介绍在 IPv4 网络中配置 NAPT 的步骤。

要配置 NAPT,必须在层次结构级别配置一个规则 [edit services nat] ,以便动态转换源 IPv4 地址。

要在 IPv4 网络中配置 NAPT:

  1. 在配置模式下 [edit services] ,转至层次结构级别。
  2. 配置服务集和 NAT 规则。

    在以下示例中,服务集的名称为 s1 ,NAT 规则的名称为 rule-napt-44

  3. 转至 [interface-service] 服务集的层次结构级别。
  4. 配置服务接口。

    在以下示例中,服务接口的名称为 ms-0/1/0

    注意:

    如果路由器中不存在服务接口,或者指定接口不起作用,以下命令可能会导致错误。

  5. 转到 [edit services nat] 层次结构级别。从服务层次结构顶部发出 命令,或使用 主要 关键字。
  6. 使用地址配置 NAT 池。

    在以下示例中,池的名称为 餐巾池 ,地址为 10.10.10.0

  7. 配置端口。

    在以下示例中,端口类型被选为 顺序auto

    注意:

    从 Junos OS 14.2 版开始,sequential引入了选项,使您能够配置端口的顺序分配。语sequential句在层次结构级别可用port automatic的选项random-allocation是相互排斥的[edit services nat pool nat-pool-name]。您可以包括sequential连续分配选项和random-allocation随机委派端口的选项。默认情况下,如果在层次结构级别中[edit services nat pool nat-pool- name]仅包含语句,port automatic则会按顺序分配端口。该auto选项是隐藏的,在 Junos OS 版本 14.2 和更高版本中已弃用,并且仅针对向后兼容性进行维护。在未来的软件版本中,可能会完全删除它。

  8. 配置规则和匹配方向。

    在以下示例中,规则的名称为 rule-napt-44 ,匹配方向为 输入

  9. 配置术语、已转换信息流的操作和转换类型。

    在以下示例中,术语的名称为 t1已转换信息流的操作将转换,源池的名称为 餐巾池,转换类型为 napt-44

  10. 转到 [edit services adaptive-services-pics] 层次结构级别。在 命令中, 主要 关键字可确保命令从层次结构顶部运行。
  11. 配置追踪选项。

    在以下示例中,跟踪参数配置为 全部

  12. 在层级使用 show 命令 [edit services] 验证配置。

以下示例将转换类型配置为 napt-44

动态地址转换到带有回退到 NAT 的小型池

以下配置显示从大前缀到小型池的动态地址转换,将 /24 子网转换为 10 个地址池。当源池 (src-pool) 中的地址耗尽时,NAT 由 NAPT 过载池 (pat-pool) 提供。

使用小型池的动态地址转换

以下配置显示从大前缀到小型池的动态地址转换,将 /24 子网转换为 10 个地址池。前 10 个主机会话的会话将首先从池中分配一个地址,先到先得,并且任何附加请求均被拒绝。每个分配了 NAT 的主机都可以参加多个会话。

在 IPv6 网络中配置 NAPT

网络地址端口转换 (NAPT) 是一种将许多网络地址及其 TCP/UDP 端口转换为单个网络地址及其 TCP/UDP 端口的方法。此转换可在 IPv4 和 IPv6 网络中配置。本节介绍在 IPv6 网络中配置 NAPT 的步骤。如果您使用 MS-MPC 或 MS-MIC,则不支持在 IPv6 网络中配置 NAPT。有关在 IPv4 网络中配置 NAPT 的信息,请参阅 在 IPv4 Networks 中配置 NAPT

要配置 NAPT,必须在层次结构级别配置一个规则 [edit services nat] ,以便动态转换源 IPv6 地址。

要在 IPv6 网络中配置 NAPT:

  1. 在配置模式下 [edit services nat] ,转至层次结构级别。
  2. 定义必须用于动态转换的 IPv6 源地址池。对于 NAPT,在配置源池时也指定端口号。

    例如:

  3. 定义用于转换源地址的 NAT 规则。为此,请将规则的语句设置 match-directioninput。此外,还定义了一个术语,该术语用作 napt-66 转换类型,用于转换上一步中定义的池地址。请注意, napt-66 转换类型仅在 MS-DPC、MS-100、MS-400 和 MS-500 线卡上受支持。

    例如:

  4. up输入 命令以导航到[edit services]层次结构级别。
  5. 定义服务集以指定必须使用的服务接口,并参考为 NAPT 转换实施的 NAT 规则。

    例如:

  6. 定义自适应服务 PIC 的追踪选项。

    例如:

以下示例配置 IPv6 网络的动态源(地址和端口)转换或 NAPT。

示例:使用端口转换配置 NAT

此示例说明如何使用端口转换配置 NAT。

要求

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

  • 带服务 DPC 的 MX 系列 5G 通用路由平台或带服务 PIC 的 M 系列多服务边缘路由器

  • 域名服务器 (DNS)

  • Junos OS 版本 11.4 或更高版本

概述

此示例显示完整的 CGN NAT44 配置和高级选项。

使用端口转换配置 NAT

程序

逐步过程

要配置服务集:

  1. 配置服务集。

  2. 在配置模式下 [edit services nat] ,转至层次结构级别。

  3. 定义必须用于动态转换的源地址池。对于 NAPT,在配置源池时也指定端口号。

    例如:

  4. 指定要使用的 NAT 规则。

  5. 定义用于转换源地址的 NAT 规则。为此,请将规则的语句设置 match-directioninput。此外,还定义了一个术语,该术语用作 napt-44 转换类型,用于转换上一步中定义的池地址。

    例如:

  6. 指定接口服务。

结果

示例:带接口服务集的 MS-MPC 上的 NAPT 配置

此示例说明如何使用多服务模块化端口集中器 (MS-MPC) 作为服务接口卡在 MX 系列路由器上使用端口转换 (NAPT) 配置网络地址转换。

要求

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

  • MX 系列路由器

  • 多服务模块化端口集中器 (MS-MPC)

  • Junos OS 版本 13.2R1 或更高版本

概述

服务提供商选择 MS-MPC 作为提供 NAT 服务以容纳新订户的平台。

配置

要使用 MS-MPC 作为服务接口卡配置 NAPT44,请执行以下任务:

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,然后将命令复制粘贴到 [edit] 层次结构级别的 CLI 中。

配置接口

逐步过程

配置 NAT 处理所需的接口。您需要以下接口:

  • 面向客户的接口,可处理来自客户和客户的流量。

  • 面向互联网的接口。

  • 向面向客户的接口提供 NAT 和有状态防火墙服务的服务接口

  1. 为面向客户的接口配置接口。

  2. 为面向互联网的接口配置接口。

  3. 配置将服务连接到面向客户的接口的服务集的接口。在我们的示例中,接口位于 MS-MPC 上。

配置一组可接受的应用程序流量

逐步过程

识别传入流量的可接受应用程序。

  1. 指定包含可接受传入应用程序流量的应用程序集。

结果

配置有状态防火墙规则

逐步过程

配置将接受所有传入流量的有状态防火墙规则。

  1. 指定所有输入和输出的防火墙匹配

  2. 从面向客户的接口识别源地址和可接受的应用程序流量。

结果

配置 NAT 池和规则

逐步过程

使用自动端口分配配置 NAT 池和规则以进行地址转换。

  1. 使用自动端口分配配置 NAT 池。

  2. 配置使用已定义 NAT 池应用转换类型的 napt-44 NAT 规则。

结果

配置服务集

逐步过程

配置接口类型服务集。

  1. 指定适用于客户流量的 NAT 和状态防火墙规则。

  2. 指定将规则应用于客户流量的服务接口。

结果
发布历史记录表
释放
描述
14.2
从 Junos OS 版本 14.2 开始,您可以在层次结构级别中 [edit services nat pool nat-pool-name]包含 sequential 语句选项 port automatic,以便从指定范围对端口进行有序分配。
14.2
从 Junos OS 14.2 版开始, auto 选项是隐藏的,已弃用,仅针对向后兼容性进行维护。
14.2
从 Junos OS 14.2 版开始, sequential 引入了选项,使您能够配置端口的顺序分配。
14.1
从 Junos OS 版本 14.1 开始,当您停用包含该服务集的地址池配对 (APP) 的服务集时,消息将显示在 PIC 控制台上,映射将用于该服务集。
14.1
从 Junos OS 版本 14.1 开始,当您停用包含该服务集的端点无关映射 (EIM) 映射的服务集时,消息将显示在 PIC 控制台上,并且映射将用于该服务集。