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] 层次结构级别包括以下语句:

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

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

配置接口服务集

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

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

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

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

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

您可以在接口的输入端和输出端配置相同的服务集。您可以选择性地包含与每个服务集相关联的筛选器,以优化目标并额外处理流量。如果包含不带service-filter定义的service-set语句,路由器软件将假定匹配条件为 true,并自动选择服务集进行处理。

注意:

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

您可以在接口的每一端包含多个服务集定义。如果包含多个服务集,路由器软件将按它们在配置中的显示顺序对其进行评估。系统执行在服务过滤器中找到匹配项的第一个服务集,并忽略后续定义。一个接口最多可以应用六个服务集。将多个服务集应用于一个接口时,还必须配置服务过滤器并将其应用于接口。

附加语句允许您指定用于在执行输入服务集后处理流量的过滤器。要配置此类型的筛选器,请在[edit interfaces interface-name unit logical-unit-number family inet service input]层次结构级别包含post-service-filter语句:

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

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

注意:

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

注意:

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

配置下一跃点服务集

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

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

注意:

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

要配置域,请在[edit interfaces interface-name unit logical-unit-number]层次结构级别包含语service-domain句:

service-domain设置必须与接口内部和外部接口的下一跃点服务的配置匹配。要配置内部接口和外部接口,请在[edit services service-set service-set-name]层次结构级别包含next-hop-service语句。您指定的接口必须是同一 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 的内部接口或外部接口。

配置服务集限制

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

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

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

    注意:

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

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

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

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

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

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

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

    max-session-setup-ratenumber范围为 1 到 429,496,729。您还可以使用 numberk 将设置速率表示为数千个会话。 从 Junos OS 18.4R1 版开始,1kmax-session-setup-rate=1000 的 .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,请在[edit services service-set service-set-name]层次结构级别包含该allow-multicast语句。如果不包含此语句,则默认情况下会丢弃组播流量。此语句仅适用于使用下一跳服务集的组播流量;不支持接口服务集配置。仅为组播数据包创建单向流。

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

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

注意:

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

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

注意:

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

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

配置服务过滤器

您可以选择性地包含与每个服务集相关联的筛选器,以优化目标并额外处理流量。如果包含不带service-filter定义的service-set语句,路由器软件将假定匹配条件为 true,并自动选择服务集进行处理。

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

注意:

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

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

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

  • log- 记录数据包。

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

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

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

  • skip—从服务处理中省略数据包。

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

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

附加语句允许您指定用于在执行输入服务集后处理流量的过滤器。要配置此类型的筛选器,请在[edit interfaces interface-name unit logical-unit-number family inet service input]层次结构级别包含post-service-filter语句:

注意:

只有当软件选择并执行了服务集时,才会执行服务后过滤。如果流量不满足任何已配置服务集的匹配条件,则会忽略 postservice 过滤器。当服务接口位于 MS-MIC 或 MS-MPC 上时,不支持该 post-service-filter 语句。

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

有关将过滤器应用于接口的详细信息,请参阅 路由设备的 Junos OS 网络接口库。有关过滤器的一般信息,请参阅 《路由策略、防火墙过滤器和流量监管器用户指南》。

注意:

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

示例:配置服务接口

在接口范围内应用 my-service-set 服务集。接受 my_input_filter 的所有流量都已 my-input-service-set 应用到它。应用服务集后,将使用 my_post_service_input_filter 过滤器进行其他筛选。

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

配置服务接口的地址和域

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

通过配置 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句指定接口是在网络内使用还是用于与远程设备通信。软件使用此设置来确定要应用的默认状态防火墙规则,并确定服务规则的默认方向。要配置域,请在[edit interfaces interface-name unit logical-unit-number]层次结构级别包含语service-domain句:

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

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

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

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

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

从 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

有关系统日志消息的详细信息,请参阅 系统日志资源管理器

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

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

支持的功能有:authorization、、daemonftplocal0 kerneluser和通过。local7

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

配置服务规则

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

  • [edit services ids] 层次结构级别配置入侵检测服务 (IDS) 规则;有关更多信息,请参阅 在 MS-DPC 上的 MS-DPC 上为 MS-DPC 卡配置 IDS 规则和为 MS-MPC 卡 配置对 MS-MPC 的网络攻击保护

  • 您可以在 [edit services ipsec-vpn] 层次结构级别配置 IP 安全 (IPsec) 规则;有关更多信息,请参阅 了解 Junos VPN Site Secure

  • 您可以在 [edit services nat] 层次结构级别上配置网络地址转换 (NAT) 规则;有关更多信息,请参阅 Junos Address Aware 网络寻址概述

  • 您可以在 [edit services ptsp] 层次结构级别配置数据包触发的订阅者和策略控制 (PTSP) 规则;有关更多信息,请参阅 配置 PTSP 服务规则

  • 您可以在 [edit services softwire] 层次结构级别为 DS-Lite 或第 6 个软线配置软线规则;有关更多信息,请参阅 配置软线规则

  • 您可以在 [edit services stateful-firewall] 层次结构级别配置有状态防火墙规则;有关更多信息,请参阅 配置有状态防火墙规则

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

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

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

注意:

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

变更历史表

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

释放
描述
18.4R1
从 Junos OS 18.4R1 版开始,. max-session-setup-rate
17.1R1
从 Junos OS 17.1R1 版开始,您可以限制 MS-MPC 的每个服务集的会话设置速率。