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 Address Aware 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 版开始)

是的

是的

是(从 Junos OS 14.1R1 版开始)

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

SNMP

是的

SQLNET的

是的

TFTP

是的

是(从 Junos OS 14.1R1 版开始)

是的

Traceroute

是的

是的

是的

Unix Remote Shell 服务

是的

WINFrame

是的

ALG 支持详细信息

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

基本 TCP ALG

此 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

此 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 将 TCP 协议与特定于应用的 UUID 结合使用。

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) 的情况下正常工作(通过未在[edit services stateful-firewall rule rule-name term term-name from]和层次结构级别指定application junos-ftp语句),必须启用启用地址池配对 (APP) 功能(通过在[edit services nat rule rule-name term term-name then translated]层次结构级别包含address-pooling[edit services nat rule rule-name term term-name from]句)。此类配置会导致数据和控制 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 应用程序服务器名称服务器互联网 ORB 间协议 (IIOP)。此 ALG 用于基于分布式计算的通用对象请求代理架构 (CORBA)。尽管 CORBA 和 IIOP 是对象管理组 (OMG) 标准,但没有为 IIOP 分配固定端口。每个实施 CORBA 的供应商都会选择一个端口。Java 虚拟机默认使用端口 1975,而 ORBIX 默认使用端口 3075。

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

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

NetBIOS ALG 在使用 NAT 时转换 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 允许点对点协议 (PPP) 通过 IP 网络建立隧道。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 Server/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

Network Information Service Plus (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.rstatd的 UNIX 手册页rstatd

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

  • 管理父子会话关系。

  • 实施安全策略。

  • 管理 VoIP 流量的针孔。

SIP ALG 支持以下功能:

  • 状态式防火墙

  • 静态源 NAT

  • 仅动态地址 源 NAT

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

注意:

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

SNMP

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

Junos OS 状态式防火墙服务实施 SNMP ALG 来检查 SNMP 类型。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

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 服务的基础:

  • exec - 远程命令执行;使客户端系统上的用户能够在远程系统上执行命令。从客户端 (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 等应用。其他语句会自动应用,如终端设置。所有预配置语句都以保留名称 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 默认组中的预设语句

以下示例是从 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,但当任何其他更具体的应用程序与同一流量匹配时,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 和跟踪路由 ALG。支持处理与任何现有流在相反方向上匹配的 ICMP 错误响应数据包,以及使用 NAT 处理 ping 数据包的 ICMP 数据包的 NAT 处理。

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

您可以在和[edit services nat rule rule-name term term-name from]层级使用application junos-icmp-allapplication junos-icmp-pingapplication icmp-code和语句[edit services stateful-firewall rule rule-name term term-name from]配置 ICMP 和 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-tracerouteapplication junos-traceroute-ttl-1 语句[edit services stateful-firewall rule rule-name term term-name from],以便为状态防火墙和 NAT 规则的 traceroute 消息定义匹配条件。

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