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语句指定转换地址的端口分配。要配置端口的自动分配,请在层次结构级别包含port automatic[edit services nat pool nat-pool-name]该语句。默认情况下,会按顺序分配端口。

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

注意:

当 napt-44 池中可用端口总数的 99% 时,该 NAT 池上不允许有新流量。

从 Junos OS 14.2 版开始,该 auto 选项将被隐藏和弃用,并且仅出于向后兼容性而进行维护。它可能会在将来的软件版本中完全删除。

Junos OS 提供了多种端口分配备选方案:

NAPT 的轮询分配

要为 NAT 池配置轮询分配,请在层次结构级别包含 [edit services nat pool pool-name] address-allocation round-robin 配置语句。使用轮询分配时,会从范围内的每个地址分配一个端口,然后对下一个范围内的每个地址重复该过程。为最后一个范围内的所有地址分配端口后,分配过程将环绕并为第一个范围内的地址分配下一个未使用的端口。

  • 第一个连接被分配给地址:port 100.0.0.1:3333。

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

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

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

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

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

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

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

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

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

  • 第 11 个连接分配给地址:port 100.0.0.11:3333。

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

  • 发生环绕,第 13 个连接被分配给地址:port 100.0.0.1:3334。

NAPT 的顺序分配

使用顺序分配时,仅当某个地址的所有可用端口都耗尽时,才会选择 NAT 池中的下一个可用地址。

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

注意:
  • 此旧实现提供向后兼容性,不再推荐使用。

以下配置示例中名为 napt 的 NAT 池使用顺序实现:

在此示例中,端口从第一个地址范围内的第一个地址开始分配,并从此地址继续分配,直到使用完所有可用端口。使用完所有可用端口后,将分配下一个地址(在同一地址范围内或下一个地址范围内),并根据需要选择其所有端口。对于示例 napt 池,仅当使用了第一个范围内所有地址的所有端口时,才会分配元组地址端口 100.0.0.4:3333。

  • 第一个连接被分配给地址:port 100.0.0.1:3333。

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

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

  • 第四个连接分配给地址:port 100.0.0.2:3334,依此类推。

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

保留奇偶校验和保留范围选项可用于 NAPT,并在 MS-DPC 以及 MS-100、MS-400 和 MS-500 多服务 PIC 上受支持。从 Junos OS 15.1R1 版开始支持 MS-MPC 和 MS-MIC。以下选项可用于 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 控制台上将显示消息,并清除该服务集的映射。这些消息在开始删除服务集时触发,并在删除服务集完成时再次生成。删除开始和结束时将显示以下示例消息:

  • Nov 15 08:33:13.974 LOG: Critical] SVC-SET ss1 (iid 5) deactivate/delete:已启动 NAT 映射和流删除

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

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

独立于端点的映射和独立于端点的过滤

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

EIM和APP的区别如下:

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

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

注意:

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

  • Nov 15 08:33:13.974 LOG: Critical] SVC-SET ss1 (iid 5) deactivate/delete:已启动 NAT 映射和流删除

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

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

用于 NAPT 的安全端口块分配

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

运营商使用 IP 地址(RADIUS 或 DHCP)日志跟踪用户。如果他们使用 NAPT,则一个 IP 地址由多个订阅者共享,运营商必须跟踪 IP 地址和端口,它们是 NAT 日志的一部分。由于端口的使用和重用速率非常高,因此很难使用日志跟踪订阅者,因为消息数量庞大,难以存档和关联。通过启用端口块分配,端口块分配可以显着减少日志数量,从而更容易跟踪订阅者。

用于 NAPT 的安全端口块分配

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

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

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

  • block-size

  • max-blocks-per-address

  • active-block-timeout

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

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

通过在 for sp- 接口下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] 层次结构级别。从服务层次结构的顶部发出命令,或使用 top 关键字。
  6. 使用地址配置 NAT 池。

    在以下示例中,池的名称为 napt-pool ,地址为 10.10.10.0

  7. 配置端口。

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

    注意:

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

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

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

  9. 配置术语、转换流量的作和转换类型。

    在以下示例中,术语的名称为 t1,转换流量的作已 转换,源池的名称为 napt-pool,转换类型为 napt-44

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

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

  12. 层次结构级别使用[edit services]命令show验证配置。

以下示例将转换类型配置为 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 网络中配置 NAPT

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

要在 IPv6 网络中配置 NAPT:

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

    例如:

  3. 定义用于转换源地址的 NAT 规则。为此,请将规则input的语句设置为 match-direction 。此外,定义一个术语,用作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 Series多服务边缘路由器

  • 域名服务器 (DNS)

  • Junos OS 11.4 或更高版本

概述

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

使用端口转换配置 NAT

过程

分步程序

要配置服务集:

  1. 配置服务集。

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

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

    例如:

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

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

    例如:

  6. 指定接口服务。

结果

示例:在具有接口服务集的 MS-MPC 上进行 NAPT 配置

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

要求

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

  • MX 系列路由器

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

  • Junos OS 13.2R1 或更高版本

概述

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

配置

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

CLI 快速配置

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

配置接口

分步程序

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

  • 一个面向客户的界面,可处理来自和来自客户的流量。

  • 面向互联网的界面。

  • 一个服务接口,用于向面向客户的接口提供 NAT 和状态防火墙服务

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

  2. 配置面向 Internet 的接口。

  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 控制台上将显示消息,并清除该服务集的映射。