无状态防火墙过滤器组件
本主题涵盖以下信息:
协议家族
在该 firewall
语句下,您可以指定要为其过滤流量的协议家族。
表 1 介绍了 防火墙过滤器 协议系列。
要过滤的流量类型 |
配置语句 |
注释 |
---|---|---|
协议无关 |
|
在一个 逻辑接口上配置的所有协议家族。 |
互联网协议版本 4 (IPv4) |
|
该 |
互联网协议版本 6 (IPv6) |
|
|
MPLS |
|
|
MPLS 标记的 IPv4 |
|
支持 IP 地址和端口匹配,最多五个 MPLS 堆叠标签。 |
MPLS 标记的 IPv6 |
|
支持 IP 地址和端口匹配,最多五个 MPLS 堆叠标签。 |
虚拟专用 LAN 服务 (VPLS) |
|
|
第 2 层电路交叉连接 |
|
|
第 2 层桥接 |
|
仅限 MX 系列路由器和 EX 系列交换机。 |
过滤器类型
在 family family-name
语句下,可以指定要配置的筛选器的类型和名称。
表 2 介绍了防火墙过滤器类型。
过滤器类型 |
配置语句 |
Description |
---|---|---|
标准防火墙过滤器 |
|
过滤以量类型:
|
服务过滤器 |
|
定义数据包过滤,在接受入口或出口进行服务处理之前应用于入口或出口,或在服务处理完成后应用于返回的服务流量。 过滤以量类型:
仅在以下硬件上配置的逻辑接口上受支持:
|
简单过滤器 |
|
定义仅应用于入口流量的数据包过滤。 过滤以量类型:
仅在以下硬件上配置的逻辑接口上受支持:
|
条款
在 filter
、 service-filter
或 simple-filter
语句下,必须至少配置一个防火墙过滤器 术语。术语是定义匹配条件和操作的命名结构。在防火墙过滤器中,您必须为每个术语配置唯一的名称。
对于接口上的每个协议家族,您只能在每个方向上应用一个过滤器。如果尝试在同一方向上为同一协议系列应用其他过滤器,则最后一个过滤器将覆盖上一个过滤器。但是,您可以将同一协议家族中的过滤器应用于同一接口的输入和输出方向。
所有无状态防火墙过滤器都包含一个或多个术语,每个术语由两个组件组成:匹配条件和操作。匹配条件定义数据包必须包含的值或字段才能被视为匹配。如果数据包匹配,则执行相应的操作。默认情况下,与防火墙过滤器不匹配的数据包将被丢弃。
如果数据包到达的接口未对该接口上的传入流量应用防火墙过滤器,则默认情况下会接受该数据包。
具有大量术语的防火墙过滤器可能会对配置提交时间和路由引擎的性能产生不利影响。
此外,您还可以在另一个过滤器的期限内配置无状态防火墙过滤器。此方法使您能够向多个筛选器添加常用术语,而无需修改所有筛选器定义。您可以使用所需的常用术语配置一个筛选器,并将此筛选器配置为其他筛选器中的术语。因此,若要更改这些常用术语,只需修改一个包含常用术语的筛选器,而无需修改多个筛选器。
匹配条件
防火墙过滤器术语必须至少包含一个数据包过滤条件(称为 匹配条件),以指定数据包必须包含的字段或值,以便将其视为防火墙过滤器术语的匹配项。要进行匹配,数据包必须与术语中的所有条件匹配。如果数据包与防火墙过滤器术语匹配,路由器(或交换机)将对该数据包执行配置的操作。
如果防火墙过滤器术语包含多个匹配条件,则数据包必须满足 所有 匹配条件才能被视为防火墙过滤器术语的匹配项。
如果为单个匹配条件配置了多个值(如一系列值),则 数据包必须仅 匹配其中一个值,才能被视为防火墙过滤器术语的匹配项。
可以在防火墙过滤器术语中指定的匹配条件范围取决于配置防火墙过滤器的协议家族。您可以定义各种匹配条件,包括 IP 源地址字段、IP 目标地址字段、TCP 或 UDP 源端口字段、IP 协议字段、互联网控制消息协议 (ICMP) 数据包类型、IP 选项、TCP 标志、传入逻辑或物理接口以及传出逻辑或物理接口。这些是预定义或固定的匹配条件。
在带有 MPC 或 MIC 的 MX 系列 3D 通用边缘路由器上,可以为 IPv4、IPv6、第 2 层网桥、CCC 和 VPLS 协议家族构建灵活的匹配条件。这些灵活的匹配条件允许用户指定数据包内的起始位置、字节偏移量、匹配长度和其他参数。
每个协议家族支持一组不同的匹配条件,某些匹配条件仅在某些路由设备上受支持。例如,VPLS 流量的多个匹配条件仅在 MX 系列 3D 通用边缘路由器上受支持。
在防火墙过滤器术语的语句中 from
,您可以指定数据包必须具有的特征,才能执行后续 then
语句中的操作。这些特征称为 匹配条件。数据包必须匹配语句中的所有 from
条件才能执行操作,这也意味着语句中 from
条件的顺序并不重要。
如果单个匹配条件可以指定值列表(例如多个源地址和目标地址)或一系列数值,则当任何值与数据包匹配时,就会发生匹配。
如果过滤器术语未指定匹配条件,则该术语接受所有数据包,并且术语语句 then
中指定的操作是可选的。
某些数字范围和位字段匹配条件允许您指定文本同义词。有关同义词的完整列表:
如果您使用的是 J-Web 界面,请从相应的列表中选择同义词。
如果使用的是 CLI,请在语句后
from
键入问号 (?
)。
行动
防火墙过滤器术语中指定的操作定义对与术语中指定的条件匹配的任何数据包要执行的操作。
在单个术语内配置的操作全部针对与配置的条件匹配的流量执行。
强烈建议您为每个防火墙过滤器术语显式配置一个或多个操作。与术语的所有条件匹配的任何数据包都会被自动接受,除非该术语指定了其他操作或其他操作。
防火墙过滤器操作分为以下几类:
过滤器终止操作
过滤器终止操作会停止对特定数据包的防火墙过滤器的所有评估。路由器(或交换机)执行指定的操作,并且不会检查其他术语。
非终止操作
非终止操作用于对数据包执行其他功能,例如递增计数器、记录有关数据包标头的信息、对数据包数据进行采样或使用系统日志功能向远程主机发送信息。
如果存在非终止操作(如 、 或 而没有显式终止操作(如 accept
、 discard
或 reject
),则默认终止操作accept
为 。syslog
log
count
如果不希望防火墙过滤器操作终止,请在非终止操作之后使用该 next term
操作。
在 Junos OS 演化版上, next term
不能显示为操作的最后一个术语。不支持指定为操作但未配置任何匹配条件的筛选词 next term
。
在此示例中,从不计算术语 2,因为术语 1 具有隐式默认 accept
终止操作。
[edit firewall filter test] term 1 { from { source-address { 0.0.0.0/0; } } then { log; <accept> #By default if not specified } } term 2 { then { reject; } }
在此示例中,将评估术语 2,因为术语 1 具有显式 next term
流控制操作。
[edit firewall filter test] term 1 { from { source-address { 0.0.0.0/0; } } then { log; next term; } } term 2 { then { reject; } }
流控制操作
仅对于标准无状态防火墙过滤器,该操作 next term
使路由器(或交换机)能够对数据包执行配置的操作,然后在过滤器中评估以下术语,而不是终止过滤器。
每个标准无状态防火墙过滤器配置最多支持 1024 next term
个操作。如果配置的标准筛选器超过此限制,则候选配置会导致提交错误。