Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

防火墙过滤器灵活匹配条件

标准防火墙过滤器匹配条件根据正在匹配的信息流的协议系列而有所不同。例如,可用于桥接协议流量的术语与可用于 inet 或 inet6 协议系列的条款不同。但是,每个协议系列内的匹配字段是固定的或预定义的。这意味着过滤器只能与这些预定义字段内的模式进行匹配。

通过使用灵活的匹配条件,可以构建防火墙过滤器,在第2层、第3层、第4级或有效负载位置开始匹配。此时可指定附加的偏差标准,从而在数据包中的自定义用户定义位置启用模式匹配。

灵活匹配过滤器术语作为输入或输出过滤器应用于 MPC 或 MIC 接口,就像任何其他防火墙过滤器术语一样。也可在[edit firewall]层次结构级别上将灵活匹配的过滤器术语创建为模板。然后,可以在一个灵活的匹配术语中引用这些模板。

对于 MX 系列路由器,只有 MPC 或 MPC 才支持灵活的匹配条件。对于同时安装有 MPC、PC 或 DPC 以及 MPC 或 MIC 的环境,请确保只能将灵活的匹配防火墙过滤器标准应用于 MPC 或 MIC 接口。

注:

对于具有 MPC 的 MX 系列路由器,您需要通过步行到相应的 SNMP MIB来为 MIB 中仅针对 Trio 匹配过滤器的过滤器MIB。例如,对于针对其仅 Trio 过滤器配置或更改的任何过滤器,您需要运行如下命令:show snmp mib walk (ascii | decimal) object-id. 这样Junos必须学习过滤器计数器并确保显示过滤器统计信息(这是因为第一次过滤器统计信息轮询可能不会显示所有计数器)。仅 Trio 匹配过滤器至少包含一个仅由 Trio 芯片组支持的匹配条件或操作。

本指南适用于所有enhanced-mode防火墙过滤器。它也适用于对偏差范围或偏差掩码使用灵活的匹配过滤器术语,以及 IPv6 流量的防火墙过滤器匹配条件,以及以下任何 IPv4 流量的防火墙过滤器匹配条件gre-key 匹配条件: IPv6 流量的防火墙过滤器匹配条件payload-protocol, extension headers, is_fragment. 它也适用于具有以下任一项的过滤器 防火墙过滤器终止操作encapsulatedecapsulate或 ,或者以下任一项 防火墙过滤器 Nonterminating 操作policy-mapclear-policy-map

语句层次结构

灵活匹配过滤器术语可在三个变体中提供表 1,如中所示。该flexible-match变体在[edit firewall]层次结构级别配置。它用于定义灵活的匹配模板。flexible-filter-match-maskflexible-match-range[edit firewall family [inet|inet6|bridge|ethernet-switching|ccc|vpls] filter <filter-name> term <term-name> from]层次结构中配置。对 family ethernet-switching 交换机使用EX9200。

灵活的过滤器匹配类型

表 1: 灵活的过滤器匹配类型

灵活的过滤器匹配类型

可用属性

Description

flexible-match

<name>

创建一个灵活的匹配模板,名为<>attribute。

 

bit-length

要以位表示的数据长度,不需要字符串输入(0. 32)

对于QFX5120和EX4650交换机,16 和 32 是唯一有效的位长度。

bit-offset

(匹配-start + 字节)偏移量(0到7)之后的位偏移

byte-offset

匹配起始点之后的字节偏移量

match-start

数据包中要匹配的起始点

flexible-match-mask

bit-length

要匹配的数据长度(以位为单位),对于字符串输入,不需要它(0. 128)

bit-offset

(匹配-start + 字节)偏移量(0到7)之后的位偏移

byte-offset

匹配起始点之后的字节偏移量

flexible-mask-name

从预定义模板字段中选择一个灵活匹配。除非配置match-start ,否则必选。

mask-in-hex

屏蔽要匹配的数据包数据中的位。

match-start

数据包中要匹配的起点。除非配置flexible-mask-name ,否则必选。

prefix

要匹配的值数据/字符串。

flexible-match-range

bit-length

要匹配的数据长度(以位为单位)。(0.. 32)除非配置flexible-range-name ,否则需要。

bit-offset

比(匹配-start + 字节)偏移后的位偏移量。(0. 7)

byte-offset

匹配起始点之后的字节偏移量

flexible-range-name

从预定义模板中选择一个灵活匹配。

match-start

数据包中要匹配的起点。除非配置flexible-range-name ,否则必选。

range

要匹配的值范围。

range-except

不匹配的值的范围。

灵活过滤器匹配起始位置

可通过在数据包中提供一个起始位置或锚点来构建灵活的匹配过滤器术语。起始位置可以是以下任何一种:第2层、第3层、第4层或有效负载,具体取决于使用的协议系列。表 2显示可用的灵活过滤器按协议系列的起始位置。您可以使用这些可用的起始位置match-start作为灵活匹配过滤器术语的位置。

从这些开始位置,可以使用特定字节和位偏移量,以便过滤器能够匹配数据包内特定位置的模式。

表 2: 灵活过滤器匹配起始位置

协议系列

可用起始位置

inet

layer-3, layer-4 and payload

对于 QFX5120 和 EX4650 交换机,在版本和版本 3 中添加了 2 层和 3 层(仅)灵活匹配过滤器Junos支持20.1R1。

inet6

layer-3, layer-4 and payload

对于 QFX5120 和 EX4650 交换机,在版本和版本 3 中添加了 2 层和 3 层(仅)灵活匹配过滤器Junos支持20.1R1。

bridge

layer-2, layer-3, layer-4 and payload

ccc

layer-2, layer-3, layer-4 and payload

mpls

layer-3 and payload

vpls

layer-2, layer-3, layer-4 and payload

ethernet-switching

(EX9200交换机) layer-2, layer-3, layer-4 and payload

对于 QFX5120 和 EX4650 交换机,在版本 2 和 3(仅)中添加了对 2 层和 3 层灵活匹配过滤器Junos支持20.1R1。下面将举一个使用第 2 层数据包偏差和匹配长度的示例。

灵活的过滤器匹配示例

下面的示例阐释了的用法和上下文flexible-match-mask

"<mask-name>用于灵活掩码名称,其预定义模板用于灵活匹配条件。可以定义模板,以指定在数据包中的哪个位置处执行灵活的匹配条件。

掩码<十六>十六进制格式。 例如,配置的掩码指定第一字节中的四位(由 0xf0fc<mask-name>表示)以及第二字节前六位的匹配。如果该数据包是 IPv4 数据包,并且 <mask-name> 将引用 L3 标头中的前两个字节,则搜索是 IP 版本字段和 DSCP 字段。再比如,配置的掩码指定搜索整个第一个字节和两个第 0xffc0 二字节的位。如果 <mask-name> 将 L3 标头中的前两个字节重新引用,并且数据包为 IPv6 数据包,则指定 Traffic Class 字段中的 IP 版本字段和 DSCP。

<指定的>设备是一个 ASCII 字符串。如果前两个字符为 0x ,则字符串以十六进制数字编码适当位处理。例如,配置前缀与 mask 和 <mask-name>重新匹配 L3 标头中的前两个字节,表示在前四位(版本字段等于 0x40c00xf0fc0100 4)和 1100 00 IPv4 DSCP 字段中的搜索(DSCP 等于 cs6)。或者,使用掩码和 <mask-name 组合配置的前缀>重新匹配 L3 标头中的前两个字节,指定在前四位(版本字段等于 0x6c000xffc00110 6)和 1100 00 IPv6 DSCP 字段中的搜索(DSCP 等于 cs6)。

第一个示例定义了一个掩码模板,从 L3 标头中选择前两个字节(16位)以实现灵活匹配:

下一个示例定义了一个掩码模板,用于为灵活匹配选择数据包有效负载的第三个字节(32位):

此示例显示字符串 JNPR(ASCII 字符:0x4a0x4e0x500x52 )(数据包有效负载的第三到第六字节)。过滤器使用上 FM-FOUR-PAYLOAD-BYTES 一示例中定义的掩码模板。

此示例显示查找 DSCP 等于 和 DSCP 的系列 ccc 过滤器,无论封装的数据包是 cs6ef IPv4 还是 IPv6。它使用第 FM-FIRST-TWO-L3-BYTES 一个示例中定义的掩码模板。

此示例演示如何在运行 Junos-32C、QFX5120 QFX5120-48Y 或 EX4650 设备的防火墙过滤器中使用从第 2 层数据包偏差开始匹配长度20.1R1。在这里,我们使用一个长度为 32 位的位和家族( 也支持 ,就像使用第 ethernet-switchinginet 3 层偏差一 inet6 样)。

发布历史记录表
版本
说明
20.1R1
对于 QFX5120 和 EX4650 交换机,在版本 2 和 3(仅)中添加了对 2 层和 3 层灵活匹配过滤器Junos支持20.1R1。