Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ALG 概述

ALG 说明

本主题介绍 Junos OS 支持的应用层网关 (ALG)。 ALG 支持包括管理受支持的 ALG 的针孔和父子关系。

支持的 ALG

表 1 列出了 Junos OS 支持的 ALG。有关 MS-DPC、MS-MPC、MS-MIC 支持哪些 ALG 的信息,请参阅可用于 Junos OS 地址感知 NAT 的 ALG

表 1:Junos OS 支持的 ALG

支持 ALG

v4 - v4

v6 - v4

v6 - v6

DS-Lite(从 Junos OS 18.1R1 版开始,对在 MS-MPC 和 MS-MIC 上使用 DS-lite 的 ALG 的支持)

基本 TCP ALG

是的

是的

是的

是的

基本 UPD ALG

是的

是的

是的

是的

BOOTP

是的

DCE RPC 服务

是的

DNS

是的

是的

是的

FTP

是的

是(从 Junos OS 14.1R1 版开始)

是的

网守 RAS

是(从 Junos OS 17.1R1 版开始)

是(从 Junos OS 17.2R1 版开始)

H323

是的

是(从 Junos OS 17.2R1 版开始)

ICMP

是的

是的

是的

是的

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

是的

是的

IIOP

是的

IP

是的

NETBIOS

是的

网络秀

是的

PPTP

是的

是(从 Junos OS 14.1R1 版开始)

是的

真实音频

是的

Sun RPC 和 RPC 端口映射服务

是的

RTSP

是的

是(从 Junos OS 14.1R1 版开始)

是的

SIP

是的

是(从 Junos OS 14.1R1 版开始)

从 Junos OS 18.2R1 版开始,MS-MPC 和 MS-MIC 上的 DS-Lite 支持 SIP。

SNMP

是的

SQLNET

是的

TFTP

是的

是(从 Junos OS 14.1R1 版开始)

是的

跟踪路由

是的

是的

是的

Unix 远程 Shell 服务

是的

WINFrame

是的

ALG 支持详细信息

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

基本 TCP ALG

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

  • TCP 源端口或目标端口 0

  • TCP 标头长度检查失败

  • TCP 序列号为零,未设置任何标志

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

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

TCP ALG 执行以下步骤:

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

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

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

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

基本 UDP ALG

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

  • UDP 源端口或目标端口 0

  • UDP 标头长度检查失败

UDP ALG 执行以下步骤:

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

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

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

BOOTP

自举协议 (BOOTP) 客户端从网络中的服务器检索其网络信息。它发送一条通用广播消息来请求信息,该信息由 BOOTP 服务器返回。有关协议规范,请参阅 ftp://ftp.isi.edu/in-notes/rfc951.txt

要支持有状态防火墙,您需要在 UDP 服务器端口 67 和客户端端口 68 上配置 BOOTP ALG。如果客户端发送广播消息,您应该在服务规则的语句中 from 配置广播地址。即使 NAT 规则与流量匹配,也不会对 BOOTP 流量执行网络地址转换 (NAT)。如果在路由器上激活了 BOOTP 中继功能,则假定远程 BOOTP 服务器会为被 NAT 转换屏蔽的客户端分配地址。

DCE RPC 服务

分布式计算环境 (DCE) 远程过程调用 (RPC) 服务主要由 Microsoft 应用程序使用。ALG 将众所周知的 TCP 端口 135 用于端口映射服务,并使用通用唯一标识符 (UUID) 而不是程序编号来识别协议。基于应用程序的主要 DCE RPC 是 Microsoft Exchange 协议。

要支持状态防火墙和 NAT 服务,您需要在 TCP 端口 135 上配置 DCE RPC 端口图 ALG。DCE RPC ALG 使用带有特定于应用的 UUID 的 TCP 协议。

DNS

域名系统 (DNS) 通常在端口 53 上运行,处理与定位域名并将其转换为 IP 地址相关的数据。MX 系列 DNS ALG 监控 DNS 查询和回复数据包,并独立支持 UDP 和 TCP DNS 流量。DNS ALG 不支持 NAT 的有效负载转换,但在 DNS 服务器发送响应后,作人员可以使用它从内存中高效移除 NAT 或有状态防火墙 DNS 会话。DNS ALG 仅在收到回复或达到空闲超时时关闭会话。

如果 DNS 流量不仅仅是标准请求和回复类型,则使用 TCP-DNS-ALG 时,TCP DNS 流量可能会出现问题。例如,TCP-DNS-ALG 可能会中断使用 TCP 的 DNS 服务器到服务器通信,例如 DNS 复制或区域传输。NAT 或有状态防火墙插件可能会丢弃此类流量,因为 TCP-DNS-ALG 会在 TCP 握手完成后以及每台服务器将一个数据包发送到另一台服务器后关闭会话。在这些情况下,请勿使用 TCP-DNS-ALG。

注意:

MS-DPC 服务卡不支持 TCP-DNS-ALG。

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 地址和端口信息重写控制数据包

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

网守 RAS

从 Junos OS 17.1R1 版开始,网守注册、管理和状态 (RAS) ALG 允许对 H.323 呼叫的网守模式提供全面支持。端点向网守注册并请求其管理。在发出呼叫之前,端点会请求其网守发出呼叫的权限。在注册和准入阶段,都会使用 RAS 通道。在 IPv4 和 IPv6 状态式防火墙规则或 NAPT-44 规则中使用网守 RAS ALG 和 H323 ALG。从 Junos OS 17.2R1 版开始,还支持 NAT-64 规则。Junos 默认应用程序集 junos-h323-suite 包括 H323 ALG 和网守 RAS ALG。

H323

H323 是一套用于音频和视频会议及协作应用的 ITU 协议。H323由H.225呼叫信令协议和H.245控制协议组成,用于媒体通信。在 H.225 协商期间,端点通过在控制信道上交换呼叫信令消息来创建呼叫,并为 H.245 协商新的控制信道。将为 H.245 消息创建新的控制连接。消息在 H.245 控制信道上交换以打开媒体信道。

有状态防火墙监控 H.225 控制通道以打开 H.245 控制通道。创建 H.245 信道后,状态式防火墙还会监控此信道的媒体信道信息,并允许媒体流量通过防火墙。

H323 ALG 通过重写 H.225 和 H.245 消息中的相应地址和端口,支持静态目标、静态和动态源 NAT。

要支持 H.323 呼叫的网守模式,请在 IPv4 和 IPv6 状态式防火墙规则或 NAPT-44 规则中使用 H323 ALG 和网守 RAS ALG。从 Junos OS 17.2R1 版开始,还支持 NAT-64 规则。Junos 默认应用程序集 junos-h323-suite 包括 H323 ALG 和网守 RAS ALG。

ICMP

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

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

要支持状态防火墙和 NAT 服务,您需要配置 ICMP ALG(如果需要协议)。您可以配置 ICMP 类型和代码以进行其他过滤。

IIOP

Oracle Application Server Name Server Internet Inter-ORB Protocol (IIOP)。该 ALG 用于基于分布式计算的通用对象请求代理架构 (CORBA)。尽管 CORBA 和 IIOP 是对象管理组 (OMG) 标准,但未为 IIOP 分配固定端口。实施 CORBA 的每个供应商选择一个端口。Java 虚拟机默认使用端口 1975,而 ORBIX 默认使用端口 3075。

有状态防火墙和 NAT 要求为 TCP 端口配置 ALG IIOP,用于 Java VM IIOP,为 CORBA 应用程序配置 3075 ORBIX,Iona Technologies 的 CORBA 框架。

IKE ALG

在 Junos OS 17.4R1 之前,MX 系列路由器上的 Junos VPN Site Secure IPsec 功能套件不支持网络地址转换遍历 (NAT-T)。从 Junos OS 14.2R7、15.1R5、16.1R2 和 17.1R1 版本开始,IKE ALG 允许在不符合 NAT-T 的 IPsec 对等方之间通过 NAPT-44 和 NAT64 规则传递 IKEv1 和 IPsec 数据包。此 ALG 仅支持 ESP 隧道模式。

在 NAT 规则中使用此 ALG 并指定 UDP 协议和端口 500。

此 ALG 执行以下作:

  • 跟踪 IKEv1 连接初始化请求,以确定是否需要进行 NAT 处理。

  • 对传出和传入 IKEv1 请求执行 NAT 转换,并创建 IKE 会话。

  • 识别与已建立的 IKE 会话相关的 IPsec 数据包,并在对等方之间建立安全关联。

  • 对 IPsec 数据包执行 NAT 转换。

IP

IP ALG 仅用于创建单向流。对于 TCP 流量,它不会检查 3 向握手过程。此 ALG 在仅有状态防火墙服务集的情况下很有用,其中流量仅允许单向流动。与 match-direction input-output 它一起使用配置时,也允许返回流量流经状态防火墙。典型场景包括静态 NAT、目标 NAT 或在存在非对称路由的情况量预计将遍历状态防火墙的场景。Junos IP ALG 不适用于 NAPT,这会导致匹配的流量通过创建丢弃流而被丢弃。

NetBIOS

使用 NAT 时,NetBIOS ALG 会转换 NetBIOS IP 地址和端口号。

NetBIOS 支持 TCP 和 UDP 传输协议。要支持状态防火墙和 NAT 服务,您需要在 UDP 端口 138 和 TCP 端口 139 上配置 NetBIOS ALG。

NetShow

Microsoft 媒体服务器 NetShow 使用 Microsoft 协议 ms-streaming。此协议支持多种传输协议:TCP、UDP 和 HTTP。客户端在端口 1755 上启动 TCP 连接,并向服务器发送 PORT 命令。然后,服务器在该端口上启动到客户端的 UDP。要支持状态防火墙和 NAT 服务,您需要在 UDP 端口 1755 上配置 NetShow ALG。

ONC RPC 服务

开放网络计算 (ONC) RPC 服务的功能类似于 DCE RCP 服务。但是,ONC RPC ALG 将 TCP/UDP 端口 111 用于端口映射服务,并使用程序编号(而非 UUID)来识别协议。

要支持状态防火墙和 NAT 服务,您需要在 TCP 端口 111 上配置 ONC RPC 端口映射 ALG。ONC RPC ALG 使用具有特定于应用的程序编号的 TCP 协议。

PPTP

点对点隧道协议 (PPTP) ALG 是基于 TCP 的 ALG。PPTP 允许通过 IP 网络以隧道方式传输点对点协议 (PPP)。PPTP 定义客户端-服务器架构、PPTP 网络服务器和 PPTP 访问集中器。PPTP ALG 需要控制连接和数据隧道。控制连接使用 TCP 建立和断开 PPP 会话,并在端口 1723 上运行。数据隧道在通过 IP 传输的通用路由封装 (GRE) 数据包中传输 PPP 流量。

真实音频

Real Networks PNA 协议 RealVideo 不是一项单独的服务。它是 RealPlayer 的一部分,很可能使用另一个视频通道。RealPlayer 版本 G2、7 和 8 使用 PNA 和 RTSP。要使此版本正常工作,ALG 必须同时允许 PNA(7070) 和 RTSP(554)。对于介质,服务器从一系列 UDP 端口(6970 到 7170)、TCP 端口 7071 或 HTTP 中进行选择。客户端可配置为使用特定端口。RealPlayer 版本 4.0 和 5.0 使用控制通道 7070 媒体 UDP 端口 6970 到 7170,或 TCP 端口 7071 或 HTTP。RealAudio 播放器 3.0 版使用控制通道 7070 媒体、UDP 端口 6770-7170 或 TCP 端口 7071。

真实产品使用 表 2 中所示的端口和端口范围。

表 2:RealAudio 产品端口使用情况

真实产品

端口使用情况

4.0 和 5.0 服务器/玩家

TCP 端口 7070 上的控制通道(双向)。TCP 端口 7070 或 UDP 端口 6970-7170 上从服务器到播放器的数据通道。

4.0 和 5.0 服务器/编码器

TCP 端口 7070 上的控制通道(双向)。来自 TCP 端口 7070 上的编码器或服务器的数据通道。

G2 服务器/玩家

TCP 端口 80、554、7070 或 8080 上的控制通道(双向)。TCP 端口 80、554、7070、8080 或 UDP 端口 6970-32,000 上从服务器到播放器的数据通道。

G2 服务器/3.1 和 5.x 编码器

TCP 端口 7070 上的控制通道(双向)。TCP 端口 7070 上从编码器到服务器的数据通道。

G2 服务器/G2 生产商

TCP 端口 4040 上的控制通道(双向)。TCP 端口 4040 和 UDP 端口 6970-32,000 上从编码器到服务器的数据通道。

2 个服务器/G2 生产器(仅限 TCP)

TCP 端口 4040 上的控制通道(双向) TCP 端口 4040 上从编码器到服务器的数据通道。注意:6.1 或更高版本中提供仅 TCP 选项。

注意:

RealAudio 是 RealPlayers 的原始协议。较新版本的 RealPlayer 使用 RTSP。有状态防火墙和 NAT 要求在 TCP 端口 7070 上对 ALG RealAudio 进行编程。

Sun RPC 和 RPC 端口映射服务

远程过程调用 (RPC) ALG 使用众所周知的端口 TCP 111 和 UDP 111 进行端口映射,从而为 RPC 服务动态分配和开放端口。RPC 端口映射 ALG 会跟踪端口请求,并为这些请求的端口动态打开防火墙。RPC ALG 可以通过指定允许的程序编号来进一步限制 RPC 协议。

ALG 包括 表 3 中列出的 RPC 服务。

表 3:支持的 RPC 服务

姓名

描述

注释

rpc-mountd

网络文件服务器 (NFS) 挂载守护程序;有关详细信息,请参阅 的 UNIX 手册页 rpc.mountd(8)

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。

rpc-nfsprog

用作 NFS 的一部分。有关详细信息,请参阅 RFC 1094。另请参阅 NFS v3 的RFC1813。

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。

rpc-nisplus

网络信息服务增强版 (NIS+),旨在取代 NIS;它是 Sun Solaris 的默认命名服务,与旧的 NIS 无关。没有可用的协议信息。

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。

rpc-nlockmgr

网络锁管理器。

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。构建 RPC 程序表后, rpc-nlockmgr 可以根据 RPC 程序100021允许或阻止服务。

rpc-pcnfsd

内核统计信息服务器。有关详细信息,请参阅 和 rpc.rstatdrstatd UNIX 手册页。

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。构建 RPC 程序表后, rpc-rstat 可以根据 RPC 程序150001允许或阻止服务。

rpc-rwall

用于向用户写消息;有关详细信息,请参阅 的 UNIX 手册页 rpc.rwalld

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。构建 RPC 程序表后, rpc-rwall 可以根据 RPC 程序150008允许或阻止服务。

rpc-ypbind

NIS 绑定过程。有关详细信息,请参阅 的 UNIX 手册页 ypbind

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。构建 RPC 程序表后, rpc-ypbind 可以根据 RPC 程序100007允许或阻止服务。

rpc-yppasswd

NIS 密码服务器。有关详细信息,请参阅 的 UNIX 手册页 yppasswd

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。构建 RPC 程序表后, rpc-yppasswd 可以根据 RPC 程序100009允许或阻止服务。

rpc-ypserv

NIS 服务器。有关详细信息,请参阅 的 UNIX 手册页 ypserv

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。构建 RPC 程序表后, rpc-ypserv 可以根据 RPC 程序100004允许或阻止服务。

rpc-ypupdated

网络更新工具。

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。构建 RPC 程序表后, rpc-ypupdated 可以根据 RPC 程序100028允许或阻止服务。

rpc-ypxfrd

NIS 地图传输服务器。有关详细信息,请参阅 的 UNIX 手册页 rpc.ypxfrd

基本支持是 RPC v2 和端口 111 上的端口映射器服务(请参阅 RFC 1050)。构建 RPC 程序表后, rpc-ypxfrd 可以根据 RPC 程序100069允许或阻止服务。

要支持使用端口映射的状态防火墙和 NAT 服务,您需要在 TCP/UDP 目标端口 111 上配置 RPC 端口映射 ALG,并为 TCP 和 UDP 配置 RPC ALG。您可以指定一个或多个 rpc-program-number 值来进一步限制允许的 RPC 协议。

RTSP

实时流协议 (RTSP) 控制具有实时属性(如音频和视频)的数据传输。RTSP 控制的流可以使用 RTP,但不是必需的。媒体可以在同一 RTSP 控制流上传输。这是一种类似于 HTTP 的基于文本的协议,但客户端和服务器维护会话信息。使用 SETUP 消息建立会话,并使用 TEARDOWN 消息终止会话。传输(介质协议、地址和端口号)在设置和设置响应中协商。

要支持状态防火墙和 NAT 服务,您需要为 TCP 端口 554 配置 RTSP ALG。

ALG 监控控制连接,动态打开媒体 (RTP/RTSP) 流的流量,并执行 NAT 地址和端口重写。

SIP

会话启动协议 (SIP) 是一种应用层协议,可用于建立、维护和终止媒体会话。它是一种广泛使用的 IP 语音 (VoIP) 信令协议。SIP ALG 监控 SIP 流量,并在信令和媒体路径上动态创建和管理针孔。ALG 仅允许具有正确权限的数据包。SIP ALG 还执行以下功能:

  • 管理父子会话关系。

  • 实施安全策略。

  • 管理 VoIP 流量的针孔。

SIP ALG 支持以下功能:

  • 有状态防火墙

  • 静态源 NAT

  • 仅动态地址源 NAT

  • 网络地址端口转换 (NAPT)

注意:

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

SNMP

SNMP 是一种用于管理 TCP/IP 网络(包括单个网络设备和聚合设备)的通信协议。该协议由 RFC 1157 定义。SNMP 在 UDP 之上运行。

Junos OS 状态式防火墙服务实施 SNMP ALG 来检查 SNMP 类型。SNMP 不强制执行有状态流。每种 SNMP 类型都需要专门启用。要完全支持状态防火墙服务,您需要在 UDP 端口 161 上配置 SNMP ALG。这样可以启用 SNMP getget-next 命令,以及它们反向的响应流量: UDP 端口 161 启用 SNMP get-response 命令。如果允许 SNMP 陷阱,则可以在 UDP 端口 162 上配置这些陷阱,从而启用 SNMP trap 命令。

SQLNet

Oracle SQL Server 使用 SQLNet 协议从客户端执行 SQL 命令,包括负载平衡和特定于应用程序的服务。

支持状态防火墙和 NAT 服务需要为 TCP 端口 1521 配置 SQLNet ALG。

ALG 监控控制数据包,动态打开数据流量流,并执行 NAT 地址和端口重写。

TFTP

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

跟踪路由

Traceroute 是一种用于显示数据包到网络主机的路径的工具。它使用 IP 生存时间 (TTL) 字段来触发来自路由器或网关的 ICMP 超时消息。它将 UDP 数据报发送到被认为未使用的目标端口;目标端口使用以下公式进行编号: + n跃点 – 1。默认基端口为 33434。要支持通过防火墙的 traceroute,必须通过两种类型的流量:

  1. UDP 探测数据包(UDP 目标端口 > 33000,IP TTL < 30)

  2. ICMP 响应数据包(ICMP 类型,超时)

应用 NAT 时,还必须更改 ICMP 错误数据包中的 IP 地址和端口。

要支持状态防火墙和 NAT 服务,您需要为 UDP 目标端口 33434 到 33450 配置 Traceroute ALG。此外,您还可以配置TTL阈值来防止TTL值较大的UDP泛洪攻击。

UNIX 远程 Shell 服务

UNIX 远程 shell 服务的基础有三种协议:

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

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

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

支持状态防火墙服务需要在 TCP 端口 512 上配置 Exec ALG,在 TCP 端口 513 上配置登录 ALG,在 TCP 端口 514 上配置 Shell ALG。NAT 远程 Shell 服务要求分配的任何动态源端口都在 512 到 1023 的端口范围内。如果配置 NAT 池,则此端口范围专门保留给远程 shell 应用程序。

WinFrame

WinFrame 应用服务器软件提供对几乎任何 Windows 应用程序的访问,通过任何类型的网络连接到任何类型的客户端。

此协议主要由 Citrix Windows 应用程序使用。

状态防火墙和 NAT 要求在 TCP 目标端口 1494 和 UDP 端口 1604 上配置 ALG Winframe。

瞻博网络默认值

Junos OS 提供了一个默认的隐藏配置组,称为该组,会自动 junos-defaults 应用于路由器的配置。该 junos-defaults 组包含预配置的语句,这些语句包含常见应用程序的预定义值。某些语句必须引用才能生效,例如 FTP 或 Telnet 等应用程序。其他语句将自动应用,如终端设置。所有预配置的语句都以 reserved name junos-开头。

注意:

您可以覆盖 Junos OS 默认配置值,但不能删除或编辑它们。如果删除配置,则在添加新配置时将返回默认值。

不能将该 apply-groups 语句与 Junos OS defaults 组一起使用。

要查看 Junos OS 默认组中可用的全套预设语句,请发出 show groups junos-defaults 配置模式命令。以下示例显示使用应用协议 (ALG) 的 Junos OS 默认组列表:

要引用组中 junos-defaults 提供的语句,请在适用的层级包含所选 junos-default-name 语句。要配置应用程序协议,请参阅 配置应用程序属性;有关特定协议的详细信息,请参阅 ALG 说明

示例:引用 Junos OS 默认组中的 preset 语句

以下示例是 Junos OS 默认组中的预设语句,可用于有状态防火墙中的 FTP:

要引用 Junos OS 默认组中的预设 Junos OS 默认语句,请在适用的层次结构级别包含该junos-default-name语句。例如,要在有状态防火墙中引用 FTP 的 Junos OS 默认语句,请在层次结构级别包含[edit services stateful-firewall rule rule-name term term-name from applications]junos-ftp语句。

以下示例显示了默认 Junos IP ALG 的配置:

如果在状态防火墙规则中配置 IP ALG,则任何 IP 流量都会匹配它,但是当任何其他更具体的应用程序与相同的流量匹配时,将不匹配 IP ALG。例如,在以下配置中,同时配置了 ICMP ALG 和 IP ALG,但流量会针对 ICMP 数据包进行匹配,因为它更具体。

用于 MS-MIC 和 MS-MPC 的 ICMP、Ping 和 Traceroute ALG

从 Junos OS 14.2 版开始,MS-MIC 和 MS-MPC 上预安装和预配置的 Junos OS 扩展提供程序包以与 uKernel 服务提供的支持相同的一致方式提供对 ping、traceroute 和 ICMP ALG 的支持。在 MS-MIC/MS-MPC 和 uKernel 服务之间为这些 ALG 建立了奇偶校验和支持统一性。在 Junos OS 14.1 版之前,与在 uKernel PIC 上通过状态防火墙 (SFW) 支持网络地址转换 (NAT) 的 uKernel 服务相比,配备 MS-MIC 和 MS-MPC 的 MX 系列路由器并不完全支持 ICMP ALG、ping ALG 和 traceroute ALG。支持处理与任何相反方向的现有流量匹配的 ICMP 错误响应数据包,以及 NAT 处理 ICMP 数据包和 ping 数据包的 NAT 处理。

在配备 MS-MIC 和 MS-MPC 的 MX 系列路由器上,完全支持 ICMP 序列号跟踪 ping 流量状态(例如,仅在识别出具有相应序列号的回显请求时转发回显回复)。ICMP 应用层网关 (ALG) 得到增强,可提供详细的日志记录信息。此外,traceroute ALG 使 UDP 探测数据包能够以大于 33000 且 IP 生存时间 (TTL) 小于 30 秒的方式进行处理。Traceroute ALG 支持处理 ICMP 类型超过时间的 ICMP 响应数据包,并支持 traceroute TTL 阈值,该阈值控制跟踪路由可接受的网络渗透级别。

您可以在 和 [edit services nat rule rule-name term term-name from] 层次结构级别使用 [edit services stateful-firewall rule rule-name term term-name from]application junos-icmp-pingapplication icmp-code 语句配置 application junos-icmp-allICMP 和 ping 消息,以定义状态防火墙和 NAT 规则的匹配条件。在 Junos OS 14.1 版之前,不存在可为 ICMP 消息定义的应用限制或验证。MS-MIC 和 MS-MPC 的功能与 uKernel 服务相同,这会导致使用 ICMP 序列号有状态地跟踪 ping 流量(仅当具有相应序列号的回显请求匹配时,才会转发回显回复)。此外,MS-MIC 和 MS-MPC 会对未完成的 ping 请求施加限制,并在达到限制时丢弃后续 ping 请求。

同样,对于 traceroute 消息,您可以在 和 [edit services nat rule rule-name term term-name from] 层次结构级别配置 application junos-traceroute [edit services stateful-firewall rule rule-name term term-name from]application junos-traceroute-ttl-1 语句,以定义状态防火墙和 NAT 规则的 traceroute 消息的匹配条件。

IPv4 和 IPv6 数据包支持 Traceroute 和 ICMP 消息。要使 traceroute 功能正常工作,只需确保用户定义的应用程序在非活动超时期间按预期工作,并将 TTL 阈值配置为与在层次结构级别使用[edit services application-identification application application-name]语句配置session-timeout seconds的时间段相同。在记录 ICMP 消息期间,ping 和 ICMP 实用程序的 ALG 信息将显示在相关 show 命令(如 show sessionsshow conversations)的输出中,其显示方式与 uKernel 日志记录显示的方式相同。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。

发布
描述
18.2R1
从 Junos OS 18.2R1 版开始,MS-MPC 和 MS-MIC 上的 DS-Lite 支持 SIP。
18.1R1
从 Junos OS 18.1R1 版开始,支持 MS-MPC 和 MS-MIC 上带有 DS-lite 的 ALG
17.2R1
(从 Junos OS 17.2R1 版开始)
17.2R1
(从 Junos OS 17.2R1 版开始)
17.2R1
从 Junos OS 17.2R1 版开始,还支持 NAT-64 规则。
17.2R1
从 Junos OS 17.2R1 版开始,还支持 NAT-64 规则。
17.1R1
(从 Junos OS 17.1R1 版开始)
17.1R1
从 Junos OS 17.1R1 版开始,网守注册、管理和状态 (RAS) ALG 允许对 H.323 呼叫的网守模式提供全面支持。
14.2R7
IKE ALG(从 Junos OS 14.2R7、15.1R5、16.1R2 和 17.1R1 版开始)
14.2R7
从 Junos OS 14.2R7、15.1R5、16.1R2 和 17.1R1 版本开始,IKE ALG 允许在不符合 NAT-T 的 IPsec 对等方之间通过 NAPT-44 和 NAT64 规则传递 IKEv1 和 IPsec 数据包。