Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

网络地址转换概述

Junos Address Aware 网络寻址概述

Junos Address Aware 网络寻址提供用于转换 IP 地址的网络地址转换 (NAT) 功能。这一点尤为重要,因为互联网编号分配机构 (IANA) 在 2011 年初分配了最后一大块 IPv4 地址。

本主题包含以下部分:

NAT 的优势

NAT 支持广泛的网络目标,包括:

  • 将专用网络上的一组主机地址隐藏在公共地址池后面,以保护主机地址在网络攻击中不被直接攻击,并避免 IPv4 地址耗尽

  • 根据业务需求提供过渡到 IPv6 的工具,并确保用户和服务不间断增长

  • 提供 IPv4–IPv6 共存

NAT 概念和设施概述

Junos Address Aware 网络寻址为 IPv4 和 IPv6 网络提供运营商等级 NAT (CGN),并促进不同类型网络之间的流量传输。

Junos Address Aware 网络寻址支持多种 NAT 转换选项:

  • 静态源转换 — 允许您隐藏专用网络。它的特点是原始地址和翻译地址之间的一对一映射;映射是静态配置的。有关更多信息,请参阅 基本 NAT

  • 确定性 NAPT — 通过确保原始源 IPv4 或 IPv6 地址和端口始终映射到相同的 NAT 后 IPv4 地址和端口范围,无需进行地址转换日志记录。

  • 动态源转换 — 包括两个选项:动态纯地址源转换和 网络地址端口转换 (NAPT):

    • 动态仅地址源转换 — mdash;从源 NAT 池中动态选取 NAT 地址,只要至少有一个活动流使用此映射,就会保持从原始源地址到转换地址的映射。有关更多信息,请参阅 动态 NAT

    • NAPT — 转换原始源地址和源端口。转换后的地址和端口将从相应的 NAT 池中选取。有关详细信息,请参阅 NAPT

  • 静态目标转换 — 允许您访问选定的专用服务器。它具有翻译地址和目标地址之间的一对一映射;映射是静态配置的。有关更多信息,请参阅 静态目标 NAT

  • 协议转换 — 当跨 IPv4 或 IPv6 边界启动会话时,允许您以静态或动态方式从池中分配地址。有关更多信息,请参阅配置 NAT-PT、使用 DNS ALG 的 NAT-PT有状态 NAT64

  • 使用软线将 IPv4 数据包封装到 IPv6 数据包中 — 使数据包能够通过软线传输到运营商级 NAT 端点,在那里进行源 NAT 处理以隐藏原始源地址。有关更多信息,请参阅 适用于 IPv4 到 IPv6 过渡的隧道服务概述

Junos Address Aware 网络寻址支持 IETF RFC 和互联网草案中所述的 NAT 功能,如标准参考中的“支持的 NAT 和 SIP 标准”中所示。

注意:

并非所有接口类型都支持所有类型的 NAT。请参阅 按接口卡类型的 Junos Address Aware 运营商级 NAT 功能比较,其中列出了受支持接口上的可用功能。

IPv4 到 IPv4 基本 NAT

基本网络地址转换或基本 NAT 是一种将 IP 地址从一个组映射到另一个组的方法,对最终用户透明。网络地址端口转换 (NAPT) 是一种将许多网络地址及其 TCP/UDP 端口转换为单个网络地址及其 TCP/UDP 端口的方法。这两种作(称为传统 NAT)共同提供了一种机制,用于将具有私有地址的领域连接到具有全局唯一注册地址的外部领域。

Junos Address Aware 网络寻址完全支持 RFC 3022 传统 IP 网络地址转换器中指定的传统 NAT。此外,源地址支持 NAPT。

基本 NAT

使用基本 NAT,当私有域中的主机地址将会话发起到外部域时,会留出一个外部地址块来转换这些地址。对于从专用网络出站的数据包,基本 NAT 会转换源 IP 地址和相关字段,例如 IP、TCP、UDP 和 ICMP 标头校验和。对于入站数据包,基本 NAT 会转换目标 IP 地址和上面列出的校验和。

基本 NAT 支持发夹。

NAPT

使用 NAPT 使专用网络的组件能够共享单个外部地址。NAPT 将专用网络的传输标识符(例如,TCP 端口号、UDP 端口号或 ICMP 查询 ID)转换为单个外部地址。NAPT 可以与基本 NAT 结合使用,以将外部地址池与端口转换结合使用。

对于从专用网络出站的数据包,NAPT 会转换源 IP 地址、源传输标识符(TCP/UDP 端口或 ICMP 查询 ID)和相关字段,例如 IP、TCP、UDP 和 ICMP 标头校验和。对于入站数据包,NAPT 将转换目标 IP 地址、目标传输标识符以及 IP 和传输标头校验和。

在带有 MS-MIC 和 MS-MPC 的 MX 系列路由器上,如果配置了 NAPT44 NAT 规则,并且欺骗数据包的源 IP 地址等于 NAT 池,且 NAT 规则匹配条件失败,则数据包将在服务 PIC 和数据包转发引擎之间持续循环。在这种情况下,我们建议您手动清除会话并创建过滤器以阻止 NAT 池 IP 欺骗。

NAPT 支持发夹。

可确定的 NAPT

使用确定性 NAPT44 可确保原始源 IPv4 地址和端口始终映射到相同的 NAT 后 IPv4 地址和端口范围,并确保给定转换的外部 IPv4 地址和端口的反向映射始终映射到相同的内部 IP 地址。这样就消除了对地址转换日志记录的需要。从 Junos OS 17.4R1 版开始,MS-MPC 和 MS-MIC 支持确定性 NAPT64。确定性 NAPT64 可确保原始源 IPv6 地址和端口始终映射到相同的 NAT 后 IPv4 地址和端口范围,并且给定转换的外部 IPv4 地址和端口的反向映射始终映射到相同的内部 IPv6 地址。

静态目标 NAT

使用静态目标 NAT 将外部流量的目标地址转换为目标池中指定的地址。目标池包含一个地址,没有端口配置。

有关静态目标 NAT 的详细信息,请参阅 RFC 2663,IP 网络地址转换器 (NAT) 术语和注意事项。

两次 NAT

在 Twice NAT 中,当数据包遍历 NAT 路由器时,源地址和目的地址都会进行转换。要转换的源信息可以是“仅地址”,也可以是“地址和端口”。例如,当您连接两个网络时,其中一个网络中的全部或部分地址与另一个网络中的地址(无论该网络是专用的还是公共的)重叠时,您将使用两次 NAT。在传统 NAT 中,只会转换其中一个地址。

要配置 Twice NAT,必须为匹配方向、池或前缀以及转换类型指定目标地址和源地址。

当在同一服务集中配置了 Twice NAT 时,您可以在状态防火墙、NAT 或服务等级 (CoS) 规则下为 ICMP 和 traceroute 配置应用级网关 (ALG)。这些 ALG 不能应用于由数据包网关控制协议 (PGCP) 创建的流。Twice NAT 不支持其他 ALG。默认情况下,两次 NAT 功能可能会影响嵌入在 ICMP 错误消息有效负载中的 IP、TCP 和 UDP 报头。

Junos Address Aware 网络寻址完全支持 RFC 2663 IP 网络地址转换器 (NAT) 术语和注意事项中指定的两次 NAT。

IPv6 NAT

在互联网草案 draft-mrw-behave-nat66-01 中定义的 IPv6 到 IPv6 NAT (NAT66),IPv6 到 IPv6 网络地址转换 (NAT66),完全受 Junos Address Aware 网络寻址支持。

应用级网关 (ALG) 支持

Junos Address Aware 网络寻址支持多种 ALG。您可以使用 NAT 规则根据 ALGS 过滤传入流量。有关更多信息,请参阅 网络地址转换规则概述

带有 DNS ALG 的 NAT-PT

NAT-PT 和域名系统 (DNS) ALG 用于促进 IPv6 主机和 IPv4 主机之间的通信。当跨 IPv4 或 IPv6 边界启动会话时,NAT-PT 使用 IPv4 地址池,动态地将该池中的地址分配给 IPv6 节点。入站和出站会话必须遍历同一 NAT-PT 路由器,以便它可以跟踪这些会话。RFC 2766, 网络地址转换 - 协议转换 (NAT-PT),建议将 NAT-PT 用于仅 IPv6 节点和仅 IPv4 节点之间的转换, 而不是 IPv6 节点之间的 IPv6 到 IPv6 转换或 IPv4 节点之间的 IPv4 到 IPv4 转换。

DNS 是一种分布式分层命名系统,用于连接到 Internet 或专用网络的计算机、服务或任何资源。DNS ALG 是特定于应用的代理,允许 IPv6 节点与 IPv4 节点通信,反之亦然。

当 DNS ALG 与 NAT-PT 一起使用时,DNS ALG 会将 DNS 查询和响应中的 IPv6 地址转换为相应的 IPv4 地址,反之亦然。IPv4 名称到地址的映射通过“A”查询保存在 DNS 中。IPv6 名称到地址的映射通过“AAAA”查询保存在 DNS 中。

注意:

对于 IPv6 DNS 查询,请在[edit applications application application-name]层次结构级别使用do-not-translate-AAAA-query-to-A-query语句。

动态 NAT

动态 NAT 流如 图 1 所示。

图 1:动态 NAT 流 Dynamic NAT Flow

使用动态 NAT,您可以将专用 IP 地址(源)映射到从已注册(公共)IP 地址池中绘制的公共 IP 地址。池中的 NAT 地址是动态分配的。动态分配地址还允许多个专用主机使用几个公共 IP 地址,这与源静态 NAT 所需的等大小池形成鲜明对比。

有关动态地址转换的详细信息,请参阅 RFC 2663,IP 网络地址转换器 (NAT) 术语和注意事项

状态式 NAT64

有状态 NAT64 流程如 图 2 所示。

图 2:有状态 NAT64 流 Stateful NAT64 Flow

有状态 NAT64 是一种迁移到 IPv6 网络并同时处理 IPv4 地址枯竭的机制。通过允许仅支持 IPv6 的客户端使用单播 UDP、TCP 或 ICMP 联系 IPv4 服务器,多个仅支持 IPv6 的客户端可以共享相同的公共 IPv4 服务器地址。为了允许共享 IPv4 服务器地址,NAT64 将传入的 IPv6 数据包转换为 IPv4(反之亦然)。

当有状态 NAT64 与 DNS64 结合使用时,IPv6 客户端或 IPv4 服务器通常不需要进行任何更改。DNS64 超出了本文档的讨论范围,因为它通常作为对当前部署的 DNS 服务器的增强而实现。

Junos Address Aware 网络寻址完全支持在 RFC 6146《 状态 NAT64:从 IPv6 客户端到 IPv4 服务器的网络地址和协议转换》中指定的有状态 NAT64。

464XLAT

从 Junos OS 17.1R1 版开始,您可以配置 464XLAT 提供商端转换器 (PLAT)。这仅在 MS-MIC 和 MS-MPC 上受支持。 464XLAT 提供了一种简单且可扩展的技术,可让具有专用地址的 IPv4 客户端通过 IPv6 网络连接到 IPv4 主机。464XLAT 仅在客户端-服务器模型中支持 IPv4,因此不支持 IPv4 对等通信或入站 IPv4 连接。

客户端转换器 (CLAT) 并非瞻博网络产品,通过将 IPv4 源地址和目的地址嵌入到 IPv6 /96 前缀中,将 IPv4 数据包转换为 IPv6,并通过 IPv6 网络将数据包发送到 PLAT。PLAT 将数据包转换为 IPv4,并通过 IPv4 网络将数据包发送到 IPv4 主机(参见 图 3)。

图 3:464XLAT 有线流 464XLAT Wireline Flow

XLAT464提供了不必维护 IPv4 网络和不必分配额外的公共 IPv4 地址的优势。

CLAT 可以驻留在仅支持 IPv6 的移动网络中的最终用户移动设备上,从而允许移动网络提供商在移动设备上为其用户 and 部署 IPv6,支持仅限 IPv4 的应用(参见 图 4)。

图 4:464XLAT 无线流 464XLAT Wireless Flow

双堆栈精简版

双堆栈精简版 (DS-Lite) 流程如 图 5 所示。

图 5:DS-Lite 流 DS-Lite Flow

DS-Lite 利用 IPv4-over-IPv6 隧道穿过 IPv6 接入网络,到达运营商级 IPv4-IPv4 NAT。这通过提供与 IPv4 的向后兼容性,促进了 IPv6 在 Internet 上的分阶段引入。

配备 MS-DPC 的 MX 系列路由器以及配备 MS-100、MS-400 和 MS-500 多服务 PIC 的 M Series 路由器支持 DS-Lite。从 Junos OS 17.4R1 版开始,带有 MS-MPC 和 MS-MIC 的 MX 系列路由器支持 DS-Lite。从 Junos OS 19.2R1 版开始,MX 虚拟机箱和 MX 宽带网络网关 (BNG) 路由器支持 DS-Lite。

Junos Address Aware 网络寻址线卡支持

Junos Address Aware 网络寻址技术适用于以下线卡:

  • 多服务密集端口集中器 (MS-DPC)

  • MS-100、MS-400 和 MS-500 多服务 PIC

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

  • 模块化端口集中器(内联 NAT)。

有关每种类型卡支持的特定 NAT 类型的列表,请参阅 按接口卡类型的 Junos Address Aware 运营商级 NAT 功能比较

IPv6 过渡方案示例

Junos OS 支持 Junos OS 客户所需的多种 IPv6 过渡方案。以下是选定的示例:

示例 1:使用非 IPv6 接入网络导致 IPv4 耗尽

图 6 描述了互联网服务提供商 (ISP) 未显著更改其 IPv4 网络的场景。这种方法使 IPv4 主机能够访问 IPv4 Internet,IPv6 主机能够访问 IPv6 Internet。双栈主机在使用 IPv4 接入服务时可视为 IPv4 主机,在使用 IPv6 接入服务时可视为 IPv6 主机。

图 6:IPv4 耗尽解决方案 - IPv4 接入网络 IPv4 Depletion Solution - IPv4 Access Network

这种方法必须部署两种新型设备:双堆栈家庭网关和双堆栈运营商级网络地址转换 (NAT)。双栈家庭网关集成了 IPv4 转发和 v6-over-v4 隧道功能。它还可以集成 v4-v4 NAT 功能。双栈运营商级 NAT (CGN) 集成了 v6-over-v4 隧道和运营商级 v4-v4 NAT 功能。

示例 2:使用 IPv6 接入网络实现 IPv4 耗尽

图 7 所示的场景中,ISP 网络仅支持 IPv6。

图 7:IPv4 耗尽解决方案 - IPv6 接入网络 IPv4 Depletion Solution - IPv6 Access Network

双堆栈精简版 (DS-Lite) 解决方案适用于仅支持 IPv6 的 ISP。这种方法的最佳商业模式是,客户端设备 (CPE) 集成了将 IPv6 隧道连接到 IPv4 骨干网、将 IPv4 隧道连接到 IPv6 骨干网的功能,并且可以自动检测需要哪种解决方案。

并非给定 ISP 的所有客户都必须同时从 IPv4 访问切换到 IPv6 访问;事实上,通过逐步切换客户群(例如,所有连接到一个接入点的客户群),可以更好地管理过渡。事实证明,这种渐进式方法应该比全面转换更容易计划、安排和执行。

示例 3:移动网络的 IPv4 消耗

移动网络的复杂性要求采用灵活的迁移方法,以确保在过渡期间将中断降至最少,并最大限度地向后兼容。NAT64 可用于使 IPv6 设备能够与 IPv4 主机通信,而无需修改客户端。

Junos OS 运营商级 NAT 实施概述

使用 Junos OS,您可以根据用于实施的服务接口类型来实施和扩展运营商等级网络地址转换 (CGNAT) 解决方案:

  • 多服务密集端口集中器 (MS-DPC) — 第 3 层服务包用于为 MS-DPC 自适应服务 PIC 配置 NAT。此解决方案提供 Junos Address Aware 网络寻址概述中所述的 NAT 功能。

  • MS-100、MS-400 和 MS-500 多服务 PIC — 第 3 层服务包用于为多服务 PIC 配置 NAT。此解决方案提供 Junos Address Aware 网络寻址概述中所述的 NAT 功能。

  • 多服务模块化端口集中器 (MS-MPC) 和多服务模块化接口卡 (MS-MIC) — MS-MPC 和 MS-MIC 已预配置,可启用运营商级 NAT 配置。此解决方案提供 Junos Address Aware 网络寻址概述中所述的 NAT 功能。

  • 模块化端口集中器 (MPC) 线卡的内联 NAT — 内联 NAT 利用 MPC 线卡的服务功能,允许在数据平面上经济高效地实施 NAT 功能,如 内联网络地址转换概述中所述。

按接口卡类型比较的 Junos Address Aware 运营商级 NAT 功能

表 1 总结了 Junos OS 运营商级 NAT 实施之间的功能差异。

从 Junos OS 17.2R1 版开始,MPC5E 和 MPC6E 支持内联 NAT。

从 Junos OS 17.4R1 版开始,MPC7E、MPC8E 和 MPC9E 支持内联 NAT。

表 1:运营商级 NAT — 各平台功能比较

特征

MS-DPC

MS-100型

MS-400型

MS-500型

MS-MPC

MS-MIC

MPC1、MPC2、MPC3、MPC5E、MPC6E、MPC7E、MPC8E 和 MPC9E

内联 NAT

静态源 NAT

是的

是的

是的

动态源 NAT - 仅地址

是的

是的

动态源 NAT - 具有安全端口块分配的 NAPT 端口转换

是的

是(从 Junos OS 14.2R2 版开始,MS-MPC 和 MS-MIC 支持具有安全端口块分配的动态源 NAT - 具有安全端口块分配的 NAPT 端口转换)

动态源 NAT - 具有确定性端口块分配的 NAPT44 端口转换

是的

是(从 Junos OS 17.3R1 版、Junos OS 14.2R7 及更高版本、15.1R3 及更高版本以及 16.1R5 及更高版本开始,MS-MPC 和 MS-MIC 支持具有确定性端口块分配的动态源 NAT - NAPT44 端口转换)

动态源 NAT - 具有确定性端口块分配的 NAPT64 端口转换

是(从 Junos OS 17.4R1 版开始,MS-MPC 和 MS-MIC 支持具有确定性端口块分配的动态源 NAT - NAPT64 端口转换)

静态目标 NAT

是的

是的

是的

注意:

目标 NAT 可以间接实现。请参阅内 联网络地址转换概述

两次 NAT

是的

是(从 Junos OS 15.1R1 版开始,MS-MPC 和 MS-MIC 支持两次 NAT)

是的

注意:

两次 NAT 可以间接实现。请参阅内 联网络地址转换概述

NAPT - 保持奇偶校验和范围

是的

是(NAPT - 从 Junos OS 15.1R1 版开始,MS-MPC 和 MS-MIC 支持保留奇偶校验和范围)

NAPT - APP/EIF/EIM

是的

是的

IKE ALG

是(从 Junos OS 14.2R7、15.1R5、16.1R2 和 17.1R1 版开始)

状态式 NAT64

是的

是的

带有 APP/EIM/EIF 的有状态 NAT64

是的

带有 ALG 的有状态 NAT64

  • FTP

  • 艾克

  • TFTP

  • RTSP

  • PPPT的

是的

DS-精简版

是的

是(从 Junos OS 17.4R1 版开始,MS-MPC 和 MS-MIC 支持 DS-Lite)

第 6

是的

6to4

是的

464XLAT

是(从 Junos OS 17.1R1 版开始)

跨 NAT 池的重叠地址

是的

是的

重载池

是的

端口控制协议

是的

是(从 Junos OS 17.4R1 版开始,MS-MPC 和 MS-MIC 支持带有 NAPT44 的端口控制协议。从 Junos OS 18.2R1 版开始,MS-MPC 和 MS-MIC 上的端口控制协议支持 DS-Lite。PCP 提供了一种机制来控制上游设备(如 NAT44 和防火墙设备)转发传入数据包,以及一种减少应用激活流量的机制。

CGN-PIC

是的

AMS 支持

是的

端口转发

是的

是(从 Junos OS 17.4R1 版开始,MS-MPC 和 MS-MIC 支持端口转发。

无翻译

是的

是(从 Junos OS 15.1R1 版开始,MS-MPC 和 MS-MIC 不支持转换)

是的

表 2 按线卡类型汇总了翻译类型的可用性。

表 2:运营商级 NAT 转换类型

翻译类型

MS-DPC

MS-100型

MS-400型

MS-500型

MS-MPC

MS-MIC

MPC1、MPC2、MPC3、MPC5E、MPC6E、MPC7E、MPC8E 和 MPC9E

内联 NAT

basic-nat44

是的

是的

是的

basic-nat66

是的

basic-nat-pt

是的

deterministic-napt44

是的

是(deterministic-napt44 从 Junos OS 17.3R1 版、Junos OS 14.2R7 和更高版本、15.1R3 和更高版本 15.1 版本以及 16.1R5 和更高版本 16.1 版本开始,支持 MS-MPC 和 MS-MIC)

deterministic-napt64

是(deterministic-napt64 从 Junos OS 17.4R1 版开始支持 MS-MPC 和 MS-MIC)

dnat-44

是的

是的

dynamic-nat44

是的

是的

napt-44

是的

是的

napt-66

是的

napt-pt

是的

stateful-nat464

是(从 Junos OS 17.1R1 版开始)

stateful-nat64

是的

是的

twice-basic-nat-44

是的

是(twice-dynamic-nat-44 从 Junos OS 15.1R1 版开始支持 MS-MPC 和 MS-MIC)

是(twice-basic-nat-44 从 Junos OS 15.1R1 版开始支持内联 NAT)

twice-dynamic-nat-44

是的

是(twice-dynamic-nat-44 从 Junos OS 15.1R1 版开始支持 MS-MPC 和 MS-MIC)

twice-dynamic-napt-44

是的

是(twice-dynamic-napt-44 从 Junos OS 15.1R1 版开始支持 MS-MPC 和 MS-MIC)

可用于 Junos OS 地址感知 NAT 的 ALG

3 中列出的以下应用程序级别网关 (ALG) 支持在列出的平台上进行 NAT 处理。

要查看这些 Junos OS 默认应用程序的实现详细信息(端口、协议等),请在表中找到 Junos OS 默认 ALG 名称,然后在 中查找列出的名称 groups。例如,有关 TFTP 的详细信息,请按如下所示进行查找 junos-tftp

提示:

Junos OS 提供了 junos-alg,它使其他 ALG 能够通过处理 ALG 注册、使慢速路径数据包流经已注册的 ALG 以及将 ALG 事件传输到 ALG 插件来正常工作。 junos-alg ALG 在 MS-MPC 和 MS-MIC 平台上自动可用,无需进一步配置。

注意:

在具有 MS-MIC 和 MS-MPC 的 MX 系列路由器上,网络地址端口转换 (NAPT) 不支持远程 shell (RSH) 和远程登录 (rlogin) 应用层网关 (ALG)。

表 3 汇总了可用于 Junos OS 地址感知服务接口卡的 NAT。

表 3:按接口卡类型可用于 NAT 的 ALG

ALG

MS-DPC

MS-MPC、MS-MIC

Junos OS 默认 ALG 名称

基本 TCP ALG

是的

是的

注意:

不支持特定的 Junos OS ALG。但是,默认情况下,称为 TCP 跟踪器的功能可用,用于执行分段排序和重传以及连接跟踪,以及 TCP 连接的验证。

基本 UDP ALG

是的

是的

注意:

TCP 跟踪器对 UDP 执行有限的完整性和验证检查。

BOOTP

是的

  • junos-bootpc

  • junos-bootps

DCE RPC 服务

是的

是的

  • junos-dce-rpc-portmap

  • junos-dcerpc-endpoint-mapper-service

  • junos-dcerpc-msexchange-directory-nsp

  • junos-dcerpc-msexchange-directory-rfr

  • junos-dcerpc-msexchange-information-store

DNS

是的

是的

  • junos-dns-udp

DNS

  • junos-dns-tcp

FTP

是的

是的

  • junos-ftp

网守 RAS(从 Junos OS 17.1R1 版开始)

是的

  • junos-h323-ras

H323型

是的

  • junos-h323

ICMP

是的

是的

注意:

在 Junos OS 14.1 及更早版本中,默认情况下会处理 ICMP 消息,但不提供 PING ALG 支持。从 Junos OS 14.2 版本开始,默认情况下会处理 ICMP 消息并提供 PING ALG 支持。

  • junos-icmp-all

  • junos-icmp-ping

IIOP

是的

  • junos-iiop-java

  • junos-iiop-orbix

IKE ALG

是的

注意:

从 Junos OS 14.2R7、15.1R5、16.1R2 和 17.1R1 版开始,MS-MPC 和 MS-MIC 支持 IKE ALG ALG。

  • junos-ike

IP

是的

默认情况下,这些平台上可用的 TCP 跟踪器执行有限的完整性和验证检查。

  • junos-ip

NETBIOS

是的

  • junos-netbios-datagram

  • junos-netbios-name-tcp

  • junos-netbios-name-udp

  • junos-netbios-session

网络显示

是的

  • junos-netshow

PPTP

是的

是的

  • junos-pptp

真实音频

是的

  • junos-realaudio

Sun RPC 和 RPC 端口映射服务

是的

是的

  • junos-rpc-portmap-tcp

  • junos-rpc-portmap-udp

RTSP

是的

是的

  • junos-rtsp

是的

是的

  • junos-sip

SIP callid 不会 在消息中 register 翻译。

注意:

SIP 会话限制为 12 小时(720 分钟),用于在 MS-MIC 和 MS-MPC 接口卡上进行 NAT 处理。MS-DPC 上的 SIP 会话没有时间限制。

SNMP

是的

  • junos-snmp-get

  • junos-snmp-get-next

  • junos-snmp-response

  • junos-snmp-trap

SQLNET的

是的

是的

  • junos-sqlnet

TFTP

是的

是的

  • junos-tftp

Traceroute

是的

是的

  • junos-traceroute

Unix Remote Shell 服务

是的

是的

注意:

网络地址端口转换 (NAPT) 不支持远程 Shell (RSH) ALG。

  • junos-rsh

WINFrame

是的

  • junos-citrix-winframe

  • junos-citrix-winframe-udp

TALK-UDP

是的

  • junos-talk-udp

多发性硬化症 RPC

是的

  • junos-rpc-portmap-tcp

  • junos-rpc-portmap-udp

  • junos-rpc-services-tcp

  • junos-rpc-services-udp

ALG 默认可用于 ACX500 路由器上的 Junos OS 地址感知 NAT

ACX500 路由器上的 NAT 处理支持 表 4 中列出的以下应用级别网关 (ALG)。

要查看这些 Junos OS 默认应用程序的实现详细信息(端口、协议等),请在表中找到 Junos OS 默认 ALG 名称,然后在 中查找列出的名称 groups。例如,有关 TFTP 的详细信息,请按如下所示进行查找 junos-tftp

注意:

适用于 NAT 的 ALG 仅在 ACX500 室内路由器上受支持。

提示:

Junos OS 提供了 junos-alg,它使其他 ALG 能够通过处理 ALG 注册、使慢速路径数据包流经已注册的 ALG 以及将 ALG 事件传输到 ALG 插件来正常工作。 junos-alg ALG 在 ACX500 路由器上自动可用,无需进一步配置。

注意:

ACX500 路由器上的网络地址端口转换 (NAPT) 不支持远程登录 (rlogin) 应用层网关 (ALG)。

表 4:默认可用的 ALG

ALG

ACX500 路由器

Junos OS 默认 ALG 名称

基本 TCP ALG

是的

注意:

不支持特定的 Junos OS ALG。但是,默认情况下,称为 TCP 跟踪器的功能可用,用于执行分段排序和重传以及连接跟踪,以及 TCP 连接的验证。

基本 UDP ALG

是的

注意:

TCP 跟踪器对 UDP 执行有限的完整性和验证检查。

DNS

是的

  • junos-dns-tcp

  • junos-dns-udp

FTP

是的

  • junos-ftp

ICMP

是的

注意:

默认情况下会处理 ICMP 消息,但不提供 PING ALG 支持。

  • junos-icmp-all

TFTP

是的

  • junos-tftp

Unix Remote Shell 服务

是的

注意:

网络地址端口转换 (NAPT) 不支持远程 Shell (RSH) ALG。

  • junos-rsh

ALG 支持详细信息

本部分包含有关 ALG 的详细信息。它包括以下内容:

基本 TCP

此 ALG 对 TCP 数据包执行基本的健全性检查。如果发现错误,将生成以下异常事件和系统日志消息:

  • TCP 源端口或目标端口零

  • TCP 报头长度检查失败

  • TCP 序列号为 0,并且未设置任何标志

  • 设置了 TCP 序列号 0 和 FIN/PSH/RST 标志

  • TCP FIN/RST 或 SYN(URG|FIN|设置 RST) 标志

TCP ALG 执行以下步骤:

  1. 当路由器收到 SYN 数据包时,ALG 会创建 TCP 正向和反向流,并在 对话中对它们进行分组。它跟踪 TCP 三次握手。

  2. SYN 防御机制跟踪 TCP 连接建立状态。它要求在很短的时间间隔内(当前为 4 秒)建立 TCP 会话。如果在此期间未建立 TCP 三次握手,则会话将终止。

  3. 激活机制可检测具有无响应端点的 TCP 会话。

  4. 仅当流与 ICMP 数据中指定的选择器信息匹配时,才允许出现 ICMP 错误。

基本 UDP

此 ALG 对 UDP 标头执行基本的健全性检查。如果发现错误,将生成以下异常事件和系统日志消息:

  • UDP 源端口或目标端口 0

  • UDP 报头长度检查失败

UDP ALG 执行以下步骤:

  1. 当 ALG 收到第一个数据包时,它会创建双向流以接受正向和反向 UDP 会话流量。

  2. 如果会话的空闲时间超过允许的最大空闲时间(默认为 30 秒),则流将被删除。

  3. 仅当流与 ICMP 数据中指定的选择器信息匹配时,才允许出现 ICMP 错误。

DNS

域名系统 (DNS) ALG 处理与定位域名并将其转换为 IP 地址相关的数据。ALG 通常在端口 53 上运行。ALG 监控 DNS 查询和回复数据包,仅支持 UDP 流量。ALG 不支持有效负载转换。DNS ALG 仅在收到回复或达到空闲超时时关闭会话。

以下是配置 DNS ALG 的示例:

  1. 创建 NAT 接口。

  2. 配置 NAT 池。

  3. 为 DNS ALG 定义 NAT 规则。

  4. 将服务集绑定到接口。

FTP

FTP 是 RFC 959 中指定的文件传输协议。除了主控制连接外,还为客户端和服务器之间的任何数据传输建立数据连接;主机、端口和方向通过控制通道进行协商。

对于非被动模式 FTP,Junos OS 状态式防火墙服务会扫描客户端到服务器的应用程序数据中的 PORT 命令,该命令提供服务器连接到的 IP 地址和端口号。对于被动模式 FTP,Junos OS 状态式防火墙服务会扫描客户端到服务器应用程序数据中的 PASV 命令,然后扫描服务器到客户端响应中的 227 响应,其中包含客户端连接到的 IP 地址和端口号。

还有一个额外的复杂性:FTP 以 ASCII 表示这些地址和端口号。因此,当地址和端口被重写时,TCP 序列号可能会被更改,此后 NAT 服务需要通过对所有后续数据包执行序列 NAT 来维护 SEQ 和 ACK 编号中的此增量。

要支持状态防火墙和 NAT 服务,您需要在 TCP 端口 21 上配置 FTP ALG 以启用 FTP 控制协议。ALG 执行以下任务:

  • 自动分配动态数据连接的数据端口和防火墙权限

  • 为动态协商的数据连接创建流

  • 在主动和被动模式下监控控制连接

  • 使用相应的 NAT 地址和端口信息重写控制数据包

在 ACX500 上,要使无源 FTP 在未启用 FTP 应用层网关 (ALG) 的情况下正常工作(通过不在application junos-ftp层次结构级别指定语句[edit services nat rule rule-name term term-name from]),必须启用启用地址池配对 (APP) 功能(通过在[edit services nat rule rule-name term term-name then translated]层次结构级别包含address-pooling语句)。此类配置会导致数据和控制 FTP 会话接收相同的 NAT 地址。

配置 FTP ALG 的示例如下:

  1. 创建 NAT 接口。

  2. 配置 NAT 池。

  3. 为 FTP ALG 定义 NAT 规则。

  4. 将服务集绑定到接口。

ICMP

互联网控制消息协议 (ICMP) 在 RFC 792 中定义。Junos OS 允许按特定类型或特定类型代码值过滤 ICMP 消息。缺少特定配置类型和代码的 ICMP 错误数据包将与任何相反方向的现有流量进行匹配,以检查错误数据包的合法性。通过过滤器匹配的 ICMP 错误数据包需要进行 NAT 转换。

ICMP ALG 始终使用 ICMP 序列号有状态地跟踪 ping 流量。仅当存在具有相应序列号的回显请求时,才会转发每个回显回复。对于任何 ping 流,只能转发 20 个回显请求,而不会收到回显回复。配置动态 NAT 时,PING 数据包标识符将进行转换,以允许 NAT 池中的其他主机使用相同的标识符。

如果需要协议,需要对 NAT 服务提供支持,您需要配置 ICMP ALG。您可以配置 ICMP 类型和代码以进行其他过滤。

TFTP

简单文件传输协议 (TFTP) 在 RFC 1350 中指定。初始 TFTP 请求将发送到 UDP 目标端口 69。可以创建其他流来 获取放置 单个文件。要支持 NAT 服务,您需要为 UDP 目标端口 69 配置 TFTP ALG。

配置 TFTP ALG 的示例如下:

  1. 创建 NAT 接口。

  2. 配置 NAT 池。

  3. 为 TFTP ALG 定义 NAT 规则。

  4. 将服务集绑定到接口。

UNIX 远程 Shell 服务

三个协议构成了 UNIX 远程 shell 服务的基础:

  • exec - 远程命令执行;使客户端系统上的用户能够在远程系统上执行命令。从客户端 (rcmd) 到服务器 (rshd) 的第一个命令使用已知的 TCP 端口 512。可以应 的 rcmd请求打开第二个 TCP 连接。第二个连接的客户端端口号将作为 ASCII 字符串发送到服务器。

  • 登录 - 更广为人知的是 rlogin;使用众所周知的 TCP 端口 513。有关详细信息,请参阅 RFC 1282。不需要特殊的防火墙处理。

  • Shell - 远程命令执行;使客户端系统上的用户能够在远程系统上执行命令。从客户端 (rcmd) 到服务器 (rshd) 的第一个命令使用已知的 TCP 端口 514。可以应 的 rcmd请求打开第二个 TCP 连接。第二个连接的客户端端口号将作为 ASCII 字符串发送到服务器。

NAT 远程 shell 服务要求分配的任何动态源端口都在 512 到 1023 的端口范围内。如果配置 NAT 池,则此端口范围专门为远程 shell 应用程序保留。

以下是配置 RSH ALG 的示例:

  1. 创建 NAT 接口。

  2. 配置 NAT 池。

  3. 为 RSH ALG 定义 NAT 规则。

  4. 将服务集绑定到接口。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。

释放
描述
19.2R1
从 Junos OS 19.2R1 版开始,MX 虚拟机箱和 MX 宽带网络网关 (BNG) 路由器支持 DS-Lite。
17.4R1
从 Junos OS 17.4R1 版开始,MS-MPC 和 MS-MIC 支持确定性 NAPT64。
17.4R1
从 Junos OS 17.4R1 版开始,带有 MS-MPC 和 MS-MIC 的 MX 系列路由器支持 DS-Lite。
17.4R1
从 Junos OS 17.4R1 版开始,MPC7E、MPC8E 和 MPC9E 支持内联 NAT。
17.4R1
动态源 NAT - NAPT64 端口转换,支持 MS-MPC 和 MS-MIC 的确定性端口块分配
17.4R1
MS-MPC 和 MS-MIC 支持 DS-Lite
17.4R1
deterministic-napt64支持 MS-MPC 和 MS-MIC
17.4.R1
MS-MPC 和 MS-MIC 支持端口转发
17.2R1
从 Junos OS 17.2R1 版开始,MPC5E 和 MPC6E 支持内联 NAT。
17.1R4
MS-MPC 和 MS-MIC 支持具有 NAPT44 的端口控制协议
17.1R1
从 Junos OS 17.1R1 版开始,您可以配置 464XLAT 提供商端转换器 (PLAT)。
17.1R1
464XLAT
17.1R1
stateful-nat464
17.1R1
网守 RAS(从 Junos OS 17.1R1 版开始)
15.1R1
MS-MPC 和 MS-MIC 支持两次 NAT
15.1R1
NAPT - 保留 MS-MPC 和 MS-MIC 支持的奇偶校验和范围
15.1R1
MS-MPC 和 MS-MIC 不支持转换
15.1R1
twice-dynamic-nat-44支持 MS-MPC 和 MS-MIC
15.1R1
twice-basic-nat-44支持内联 NAT
15.1R1
twice-dynamic-nat-44支持 MS-MPC 和 MS-MIC
15.1R1
twice-dynamic-napt-44支持 MS-MPC 和 MS-MIC
14.2R7
动态源 NAT - NAPT44 端口转换,支持 MS-MPC 和 MS-MIC 的确定性端口块分配
14.2R7
IKE ALG
14.2R7
deterministic-napt44支持 MS-MPC 和 MS-MIC
14.2R7
从 Junos OS 14.2R7、15.1R5、16.1R2 和 17.1R1 版开始,MS-MPC 和 MS-MIC 支持 IKE ALG ALG。
14.2R2
动态源 NAT - 支持 MS-MPC 和 MS-MIC 的安全端口块分配的 NAPT 端口转换
14.2
从 Junos OS 14.2 版本开始,默认情况下会处理 ICMP 消息并提供 PING ALG 支持。