Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

服务集

了解服务集

Junos OS 允许您创建服务集,用于定义由自适应服务接口 (AS) 或多服务线卡(MS-DPC、MS-MIC 和 MS-MPC)执行的服务集合。您可以将服务集配置为接口样式的服务集或下一跃点样式的服务集。

接口服务集用作整个接口上的操作修改符。如果想要将服务应用于通过接口传输的数据包,则可以使用接口样式服务集。

下一跳服务集是基于路由应用特定服务的方法。仅通过创建显式静态路由来为发往特定下一跃点的数据包提供服务。如果需要将服务应用于整个虚拟专用网络 (VPN) 路由和转发 (VRF) 表,或者当路由决策确定需要执行哪些服务时,此配置会很有用。配置下一跳服务时,服务接口被视为双腿模块,其中一条腿配置为内部接口(网络内部),另一条腿配置为外部接口(网络外部)。

为了避免在服务集停用或服务集删除操作期间丢弃数据包,请先关闭与服务集对应的接口,等待某个时间,然后停用或删除服务集。但是,如果流量很高,则此解决方法无可救药。

要配置服务集,请在层次结构级别使用以下语句 [edit services]

配置要应用于服务接口的服务集

您可以配置服务接口以指定要在其中执行服务的自适应服务接口。服务接口与以下部分介绍的任一服务集类型一起使用。

配置接口服务集

接口服务集用作整个接口上的操作修改符。要配置服务接口,请在 interface-service 层次结构级别添加语句 [edit services service-set service-set-name]

只需要设备名称,因为路由器软件会自动管理逻辑单元编号。服务接口必须是已在层次结构级别上配置的unit 0 family inet[edit interfaces interface-name自适应服务接口。

通过配置服务集定义定义对服务规则进行定义和分组后,可以将服务应用于路由器上安装的一个或多个接口。将设置的服务应用于接口时,它会自动确保将数据包定向到 PIC。

要将定义的服务集与接口相关联,请将语句service-set与 or output 语句[edit interfaces interface-name unit logical-unit-number family inet service]一起input包含在层次结构级别:

如果数据包进入接口,则匹配方向为 input。如果数据包离开接口,则匹配方向为 output。即使应用了服务,服务集也会保留输入接口信息,因此,依赖于输入接口信息的过滤器类转发和目标类使用 (DCU) 等功能将继续工作。

您可以在接口的输入和输出端配置相同的服务集。您可以选择包含与每个服务集关联的过滤器,以优化目标并额外处理流量。如果包括没有service-setservice-filter定义的语句,则路由器软件会假设匹配条件为真,并选择自动处理服务集。

注意:

如果使用过滤器配置服务集,则必须在接口的输入和输出端进行配置。

您可以在接口的两端包含多个服务集定义。如果包含多个服务集,则路由器软件会按照这些服务集在配置中出现的顺序对其进行评估。系统执行在服务过滤器中查找匹配项的第一个服务集,并忽略后续定义。一个接口最多可应用六个服务集。向一个接口应用多个服务集时,还必须配置服务过滤器并将其应用于接口。

您还可以使用附加语句指定过滤器,在执行输入服务集后处理流量。要配置此类型的过滤器,请在 post-service-filter 层级添加语句 [edit interfaces interface-name unit logical-unit-number family inet service input]

post-service-filter当服务接口位于 MS-MIC 或 MS-MPC 上时,不支持该语句。

有关示例,请参阅 示例:配置服务集

注意:

使用使用 Junos OS 扩展提供包配置的接口样式服务集,当入口接口是 VRF 实例的一部分且服务接口不是同一 VRF 实例的一部分时,流量无法得到服务。

注意:

为服务集配置的多服务 PIC 在管理上脱机或出现故障时,进入具有 IDP 服务集的已配置接口的所有流量都将被丢弃,恕不另行通知。为避免这种流量丢失,请将语句bypass-traffic-on-pic-failure[edit services service-set service-set-name service-set-options]包含在层次结构级别。配置此语句后,如果多服务 PIC 失败或关闭,将转发受影响的数据包,就像未配置接口样式服务一样。此问题仅适用于使用 IDP 服务集的 Junos Application Aware(以前称为动态应用程序感知)配置。此转发功能最初仅适用于数据包转发引擎 (PFE)。从 Junos OS 11.3 版开始,数据包转发功能也扩展到了路由引擎为绕过服务集而生成的数据包。

配置下一跳服务集

下一跳服务集是基于路由应用特定服务的方法。仅通过创建显式静态路由来为发往特定下一跃点的数据包提供服务。如果需要将服务应用于整个虚拟专用网络 (VPN) 路由和转发 (VRF) 表,或者当路由决策确定需要执行哪些服务时,此配置会很有用。

配置下一跃点服务时,AS 或多服务 PIC 被视为双腿模块,其中一条腿配置为内部接口(网络内部),另一条腿配置为外部接口(网络外部)。

注意:

仅当未配置接口服务集时,您才能创建大于 8000 的 IFL 索引。

要配置域,请在 service-domain 层级添加语句 [edit interfaces interface-name unit logical-unit-number]

service-domain 设置必须与接口内外下一跃点服务的配置匹配。要配置内部和外部接口,请在 next-hop-service 层次结构级别包含语句 [edit services service-set service-set-name] 。您指定的接口必须是同一 AS PIC 上的逻辑接口。您不能为此进行配置 unit 0 ,并且其他服务集不得使用您选择的逻辑接口。

应用服务的流量将使用静态路由强制传输到内部接口。例如:

应用服务后,流量通过外部接口退出。然后,在数据包转发引擎 (PFE) 中执行查找,以将数据包从 AS 或多服务 PIC 中发送出来。

反向流量进入外部接口,进行服务,并发送到内部接口。内部接口将流量转发出 AS 或多服务 PIC。

确定流量方向

配置下一跳服务集时,AS PIC 可充当两部分接口,其中一部分是 内部 接口,另一部分是 外部 接口。将执行以下操作序列:

  1. 若要将这两部分与逻辑接口相关联,请配置两个带有语句的 service-domain 逻辑接口,一个使用 inside 值,一个使用 outside 值,以将它们标记为内部或外部服务接口。

  2. 路由器使用下一跃点查找表将要服务的流量转发到内部接口。

  3. 应用服务后,流量将从外部接口退出。然后,对要从路由器发出的数据包执行路由查找。

  4. 当反向流量在外部接口上返回时,应用的服务被撤销;例如,IPsec 流量解密或 NAT 地址被解锁。然后,服务数据包会出现在内部接口上,路由器执行路由查找,流量将离开路由器。

服务规则的匹配方向(输入、输出还是输入/输出)适用于通过 AS PIC(而非通过特定内部或外部接口)的流量。

将数据包发送至 AS PIC 时,数据包方向信息会随其一起传输。接口样式和下一跃点样式服务集均是如此。

接口样式服务集

数据包方向取决于数据包是进入还是离开应用语句的任何数据包转发引擎接口(相对于转发平面 interface-service )。这类似于无状态防火墙过滤器的输入和输出方向。

匹配方向也可能取决于网络拓扑结构。例如,您可以通过用于保护路由器上其他接口的一个接口路由所有外部流量,并特别在此接口上配置各种服务。或者,您可以使用一个接口处理优先流量,并在其上配置特殊服务,但不关心保护其他接口上的流量。

下一跳样式服务集

数据包方向由用于将数据包路由到 AS PIC 的 AS PIC 接口决定。如果使用 inside-interface 语句路由流量,则数据包方向为 input。如果使用 outside-interface 语句将数据包定向到 AS PIC,则数据包方向为 output

应用服务集的接口会影响匹配方向。例如,应用以下配置:

如果配置 match-direction input,请包括以下语句:

如果配置 match-direction output,请包括以下语句:

这两种配置之间的本质区别在于匹配方向的变化和静态路由的下一跃点(指向 AS PIC 的内部和外部接口)。

配置服务设置限制

您可以对服务集容量设置以下限制:

  • 您可以限制每个服务集允许的最大流数。要配置最大值,请在 max-flows 层级添加语句 [edit services service-set service-set-name]

    max-flows语句允许您分配单个流限制值。仅对于 IDS 服务集,您可以以更精细的控制程度指定不同类型的流量限制。有关更多信息,请参阅在 MS-DPC 上配置 IDS 规则集中的语句说明session-limit

    注意:

    将聚合多服务 (AMS) 接口配置为服务集的服务接口时, max-flow 为服务集配置的值将应用于 AMS 接口中的每个成员接口。也就是说,如果您已将 1000 配置为 max-flow 使用具有四个活动成员接口的 AMS 接口的服务集的值,则每个成员接口均可处理 1000 个流,从而产生有效 max-flow 值 4000。

  • 您可以限制传输控制协议 (TCP) 允许的最大分段大小 (MSS)。要配置最大值,请在 tcp-mss 层级添加语句 [edit services service-set service-set-name]

    在两个对等方之间建立会话连接期间,TCP 协议会协商 MSS 值。协商的 MSS 值主要基于通信对等方直接连接到的接口的 MTU。但是,在网络中,由于 TCP 数据包采取的路径上的链路 MTU 存在差异,当相关数据包的大小超过链路的 MTU 时,某些仍在 MSS 值之内的数据包可能会分片。

    如果路由器收到带有 SYN 位和 MSS 选项集的 TCP 数据包,并且数据包中指定的 MSS 选项大于语句指定的 tcp-mss MSS 值,则路由器将用语句指定的tcp-mss较低值替换数据包中的 MSS 值。参数的范围tcp-mss mss-value从到53665535

    要查看接收的 SYN 数据包及其 MSS 值已修改的 SYN 数据包的统计信息,请 show services service-sets statistics tcp-mss 发出操作模式命令。有关此主题的更多信息,请参阅 Junos OS 管理库

  • 从 Junos OS 17.1R1 版开始,您可以限制为 MS-MPC 设置的每服务的会话设置速率。要配置允许的最大设置速率,请在 max-session-setup-rate 层次结构级别添加语句 [edit services service-set service-set-name]

    最大会话设置速率是每秒允许的最大会话设置数。达到此速率后,将丢弃任何其他会话设置尝试。

    1 到 max-session-setup-rate number 429,496,729。您还可以使用 numberk 将设置速率表示为数千个会话。从 Junos OS 18.4R1 版开始,1k=1000 表示。 max-session-setup-rate在 Junos OS 18.4R1 版之前,1k=1024。如果不包含语句 max-session-setup-rate ,则会话设置速率不受限制。

示例:配置服务集

在接口范围内应用两个服务集 my-input-service-setmy-output-service-set和。所有流量都已 my-input-service-set 应用于它。应用服务集后,将使用 my_post_service_input_filter完成其他过滤。

配置服务接口池

要配置服务接口池,请在层次结构级别使用以下语句 [edit services service-interface-pools]

使服务 PIC 能够接受组播流量

要允许将组播流量发送到自适应服务或多服务 PIC,请将该 allow-multicast 语句 [edit services service-set service-set-name] 包含在层次结构级别。如果未包含此语句,则默认情况下会丢弃组播流量。此语句仅适用于使用下一跃点服务集的组播流量;不支持接口服务集配置。仅为组播数据包创建单向流。

将过滤器和服务应用于接口

通过配置服务集定义定义对服务规则进行定义和分组后,可以将服务应用于路由器上的一个或多个接口。要将定义的服务集与接口相关联,请将语句service-set与 or output 语句[edit interfaces interface-name unit logical-unit-number family inet service]一起input包含在层次结构级别:

注意:

在接口上启用服务时,不支持反向路径转发。您不能在管理接口 () 或环路接口 (fxp0lo0) 上配置服务。

您可以在接口的输入和输出端配置不同的服务集。但是,对于具有双向服务规则的服务集,必须在和output语句中包含input相同的服务集定义。语句中包含的service任何服务集必须在层次结构级别上使用interface-service语句[edit services service-set service-set-name]进行配置;有关更多信息,请参阅将服务集配置为应用于服务接口

注意:

如果配置了包含拒绝操作的输入防火墙过滤器的接口,以及包含有状态防火墙规则的服务集,则路由器将在数据包上运行有状态防火墙规则之前执行输入防火墙过滤器。因此,当数据包转发引擎通过接口发送互联网控制消息协议 (ICMP) 错误消息时,有状态防火墙规则可能会丢弃数据包,因为未在输入方向上看到数据包。

可能的解决方法是,包括一个转发表过滤器来执行拒绝操作,因为这种类型的过滤器是在输入方向的有状态防火墙之后执行的,或者包括一个输出服务过滤器,以防止本地生成的 ICMP 数据包进入有状态的防火墙服务。

配置服务过滤器

您可以选择包含与每个服务集关联的过滤器,以优化目标并额外处理流量。如果包括没有service-setservice-filter定义的语句,则路由器软件会假设匹配条件为真,并选择服务集进行自动处理。

要配置服务过滤器,请在 firewall 层次结构级别添加语句 [edit]

注意:

必须指定 inet 为地址家族才能配置服务过滤器。

配置服务过滤器的方式与防火墙过滤器类似。服务过滤器的匹配条件与防火墙过滤器相同,但具体操作如下:

  • count- 将数据包添加到计数器总数中。

  • log- 记录数据包。

  • port-mirror—端口镜像数据包。

  • sample- 对数据包进行取样。

  • service-转发数据包进行服务处理。

  • skip- 在服务处理中省略数据包。

有关配置防火墙过滤器的更多信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南

您还可以在接口的两端包含多个服务集定义。如果包含多个服务集,路由器软件将按配置中指定的顺序对其进行评估。它会执行在服务过滤器中查找匹配项的第一个服务集,并忽略后续定义。

您还可以使用附加语句指定过滤器,在执行输入服务集后处理流量。要配置此类型的过滤器,请在 post-service-filter 层级添加语句 [edit interfaces interface-name unit logical-unit-number family inet service input]

注意:

仅当软件选择并执行服务集时,才会执行服务后过滤。如果流量不符合任何配置的服务集的匹配标准,则服务后过滤器将被忽略。 post-service-filter 当服务接口位于 MS-MIC 或 MS-MPC 上时,不支持该语句。

有关将服务集应用于接口的示例,请参阅 示例:配置服务接口

有关对接口应用过滤器的更多信息,请参阅 路由设备的 Junos OS 网络接口库。有关过滤器的常规信息,请参阅 路由策略、防火墙过滤器和流量监管器用户指南

注意:

对数据包应用 NAT 处理后,它们不受输出服务过滤器的约束。服务过滤器仅影响未传输的流量。

示例:配置服务接口

my-service-set接口范围内应用服务集。接受的所有流量均已my-input-service-set应用于该流量my_input_filter。应用服务集后,使用 my_post_service_input_filter过滤器完成其他过滤。

配置两个冗余接口 rsp0rsp1和关联服务。

配置服务接口的地址和域

在 AS 或多服务 PIC 上,通过在层次结构级别包含 address 语句,配置系统日志消息的 [edit interfaces interface-name unit logical-unit-number family inet] 源地址:

通过配置 address 值为接口分配 IP 地址。AS 或多服务 PIC 通常仅支持使用 family inet 语句配置的 IP 版本 4 (IPv4) 地址,但 IPsec 服务也支持使用 family inet6 语句配置的 IP 版本 6 (IPv6) 地址。

注意:

如果在同一路由实例中的多个接口上配置同一地址,则 Junos OS 仅会使用第一个配置,剩余地址配置将被忽略,可以保留没有地址的接口。未分配地址的接口不能用作未编号以太网接口的供体接口。

例如,在以下配置中,将忽略接口 xe-0/0/1.0 的地址配置:

有关在多个接口上配置同一地址的更多信息,请参阅 配置接口地址

有关可配置但不特定于服务接口的其他寻址属性的信息,请参阅 路由设备的 Junos OS 网络接口库

service-domain 语句指定接口是在网络中使用,还是用于与远程设备通信。软件使用此设置来确定要应用的默认状态防火墙规则,以及确定服务规则的默认方向。要配置域,请在 service-domain 层级添加语句 [edit interfaces interface-name unit logical-unit-number]

如果要在下一跃点服务集定义中配置接口,则service-domain此设置必须与 and outside-service-interface 语句的配置inside-service-interface匹配;有关更多信息,请参阅配置要应用于服务接口的服务集

配置服务集的系统日志记录

您可以指定控制如何为服务集生成系统日志消息的属性。这些值将覆盖在层次结构级别上 [edit interfaces interface-name services-options] 配置的值。

要配置服务集特定的系统日志记录值,请在 syslog 层次结构级别添加语句 [edit services service-set service-set-name]

host 语句配置为主机名或指定系统日志目标服务器的 IP 地址。主机名 local 将系统日志消息定向到路由引擎。对于外部系统日志服务器,必须可从初始数据包(触发会话建立)所传送的同一路由实例访问主机名。您只能指定一个系统日志记录主机名。参数 source-address 在 ms、rms 和 mams 接口上受支持。

从 Junos OS 17.4R1 版开始,可以为层次结构级别下 [edit services service-set service-set-name] 的每个服务集配置最多四个系统日志服务器(本地系统日志主机和远程系统日志收集器的组合)。

注意:

Junos OS 不支持通过 fxp.0 接口将系统日志消息导出到外部系统日志服务器;这是因为系统日志消息的高传输速率和 fxp.0 接口带宽有限可能会导致几个问题。外部系统日志服务器必须可通过可路由接口访问。

表 1 列出了可以在层级的配置语句[edit services service-set service-set-name syslog host hostname]中指定的严重级别。级别从emergencyinfo最高严重程度(对功能影响最大)到最低顺序。

表 1:系统日志消息严重性级别

严重性级别

描述

any

包括所有严重性级别

emergency

系统崩溃或其他情况导致路由器停止运行

alert

需要立即更正的情况,例如系统数据库损坏

critical

严重条件,例如,硬盘驱动器错误

error

通常与紧急、警报和严重级别中的错误相比,其后果不严重

warning

需要监控的条件

notice

不是错误但可能需要特殊处理的情况

info

事件或非错误条件

我们建议将系统日志记录严重性级别 error 设置为正常运行期间。要监控 PIC 资源使用情况,请设置为级别 warning。要收集有关入侵攻击的信息,当检测到入侵检测系统错误时,将级别设置为 notice 特定服务集。要调试配置或记录 NAT 功能,请将级别设置为 info

有关系统日志消息的详细信息,请参阅 系统日志浏览器

要选择要记录到指定系统日志主机的消息类别,请在层次结构级别包含语句class[edit services service-set service-set-name syslog host hostname]

要使用一个特定的设施代码进行指定系统日志主机的所有日志记录,请将语句facility-override[edit services service-set service-set-name syslog host hostname]包含在层次结构级别:

支持的设施包括:authorizationdaemonftpkerneluser、和local0local7

要为到此系统日志主机的所有日志记录指定文本前缀,请在 log-prefix 层次结构级别添加语句 [edit services service-set service-set-name syslog host hostname]

配置服务规则

指定构成服务集的规则和规则集的集合。路由器会按规则集在配置中的出现顺序执行规则集。您只能为每个服务类型包含一个规则集。您可以在层次结构级别为每个类型的每个服务类型 [edit services name] 配置规则名称和内容:

要配置构成服务集的规则和规则集,请在层次结构级别添加以下语句 [edit services service-set service-set-name]

对于每种服务类型,您可以包括一个或多个单独的规则,或者一个规则集。

如果配置使用 IPsec 规则的服务集,则它不得包含任何其他服务的规则。但是,您可以配置包含其他服务规则的其他服务集,并将这两个服务集应用于同一接口。

注意:

您还可以在服务集中包含 Junos Application Aware(以前称为动态应用程序感知)功能。为此,您必须在[edit services service-set]层次结构级别包括一个idp-profile语句、应用程序标识 (APPID) 规则以及应用程序感知访问列表 (AACL) 规则和适当的应用程序感知访问列表 (AACL) 规则和policy-decision-statistics-profile。在使用 Junos Application Aware 功能时,只能将一个服务集应用于单个接口。有关更多信息,请参阅在 MS-DPC 上配置 IDS 规则APPID 概述路由设备的应用程序感知服务接口用户指南

版本历史记录表
释放
描述
18.4R1
从 Junos OS 18.4R1 版开始,1k=1000 表示。 max-session-setup-rate
17.1R1
从 Junos OS 17.1R1 版开始,您可以限制为 MS-MPC 设置的每服务的会话设置速率。