规划要创建的防火墙过滤器数量
支持的最大防火墙过滤器数
表 1 显示每台交换机支持的最大 防火墙过滤器 数量。聚合应用过滤器的总数。例如,在 QFX5200 和 QFX5210 交换机上,您可以在输入方向上应用总共 768 个术语,在输出方向应用 1024 个术语。交换机支持的实际过滤器数量取决于三元内容寻址存储器 (TCAM) 中存储过滤器的方式。
对于运行 Junos OS 20.3R1 或更高版本的 QFX5120-48Y 和 EX4650 交换机,您可以启用 [set chassis loopback-firewall-optimization
命令,将环路过滤器条款的默认系统限制增加到 IPv6 为 768,IPv4 为 1152 个。
过滤器类型 | QFX3500、QFX3600 | QFX5100, EX4600 | QFX5120, EX4650 | QFX5110 | QFX5200, QFX5210, QFX5220 | QFX10000 |
入口 |
768 |
1536 |
1536 |
6144 |
768 |
8192 |
出口 |
1024 |
1024 |
2048 |
1024 或 2048 |
1024 512 (QFX5220) |
8192 |
如何增加防火墙过滤器的数量
您可以通过多种方式增加设备上的防火墙过滤器数量:
(QFX5220)要创建超过 512 个的出口 VLAN 过滤器,请指定第一个 VLAN ID 为 6,将第二个 VLAN ID 指定为 7,将第三个 VLAN ID 指定为 5,以此类推。对于您配置的每个 VLAN,数字将增加 1,并持续到 VLAN ID 1029。如果您希望创建的出口 VLAN 过滤器数量少于 512 个,但希望这些过滤器中的总术语数超过 512,请确保以相同的方式为 VLAN ID 编号。否则,允许的术语或过滤器总数将少于 1024,并将保持在 512。
从 Junos OS 19.1R1 版开始,您可以使用选项将 QFX5110 上的出口 VLAN 防火墙过滤器数量从 1024 增加到 2048
egress-to-ingress
年。您可以在层次结构的from
语句[edit firewall]
下包括此选项。从 Junos OS 演化版 19.4R2 开始,您可以通过在层级的语句
[edit system packet-forwarding-option firewall]
下eracl-profile
添加egress-scale
选项,在 QFX5220 上配置多达 2000 个出口防火墙过滤器。仅在出口方向(流出设备的路由流量)中支持此功能。配置此功能时,请考虑以下因素:
您不能将匹配条件相同的过滤器应用于不同的出口 VLAN 或第 3 层接口。
您不能在 GRE 接口上应用出口扩展。
如果一个数据包匹配具有不同资格符的多个过滤器,并且您应用于不同的出口接口,则可能导致不可预知的行为。
您只能在全局模式下配置
egress-scale
选项。新的 cli 配置将在全局模式下提供。一旦用户以出口规模(出口到入口)模式配置 ERACL 组,将无法使用 IFP tcam 空间来配置 ERACL。换句话说,将不支持混合模式的 ERACL。
TCAM
防火墙过滤器的三元内容可寻址内存 (TCAM) 被划分为支持 256 个术语的切片。配置防火墙过滤器时,内存切片中的所有项都必须在相同类型的过滤器中,并在同一方向上应用。一旦提交过滤器,就会保留一个内存切片。例如,如果创建端口过滤器并将其应用于输入方向,则保留一个内存切片,仅存储入口端口过滤器。如果您仅创建并应用一个入口端口过滤器,而该过滤器只有一个术语,则此切片的其余部分将未使用,其他过滤器类型不可用。
在 EVPN 环境中,QFX5200 系列交换机最多可支持 512 个 TCAM 条目。
例如,您创建并应用 256 个入口端口过滤器,每个都有一个术语,以便填充一个内存切片。这又使两个内存切片可用于入口过滤器。(在这种情况下,最大入口项数为 768。)如果随后使用一个术语创建并应用入口第 3 层过滤器,则会为入口第 3 层过滤器保留另一个内存切片。与之前一样,其余切片未使用,不同过滤器类型不可用。现在,有一个内存切片可用于任何入口过滤器类型。
现在假设您创建并应用 VLAN 入口过滤器。最后一个内存切片保留给 VLAN 入口过滤器。入口过滤器的内存分配(再次假设每个过滤器有一个术语)是:
切片 1:配备 256 个入口端口过滤器。您不能再提交入口端口过滤器。
切片 2:包含一个入口第 3 层过滤器,其中包含一个术语。您可以在入口第 3 层过滤器中再提交 255 个术语。
切片 3:包含一个入口 VLAN 过滤器,其中包含一个术语。您可以在入口 VLAN 过滤器中再提交 255 个术语。
下面是另一个例子。假设您创建了 257 个入口端口过滤器,每个过滤器只使用一个术语,也就是说,您创建的术语多于单个内存切片所能容纳的术语。应用过滤器并提交配置时,过滤器内存分配为:
切片 1:配备 256 个入口端口过滤器。您不能再应用入口端口过滤器。
切片 2:包含一个入口端口过滤器。您可以在入口端口过滤器中再应用 255 个术语。
切片 3:此切片未分配。您可以在任何类型的入口过滤器(端口、第 3 层或 VLAN)中创建和应用 256 个术语,但所有过滤器的类型必须相同。
上述所有示例同样适用于出口过滤器。区别在于,使用四个内存切片,因为 IPv4 和 IPv6 第 3 层过滤器存储在不同的切片中。出口过滤器的内存切片大小与入口过滤器的大小相同,因此最大过滤器数将相同 (1024)。
避免配置过多的过滤器
如果您违反上述任何限制并提交不合规的配置,Junos OS 将拒绝过多的过滤器。例如,如果配置 300 个入口端口过滤器和 300 个入口第 3 层过滤器,并尝试提交配置,Junos OS 将执行以下工作(再次为每个过滤器假设一个术语):
接受 300 个入口端口过滤器(将它们存储在两个内存切片中)。
接受它处理的前 256 个入口第 3 层过滤器(存储在第三个内存切片中)。
拒绝剩余 44 个入口第 3 层过滤器。
重新启动设备之前,请确保从配置中删除过多的过滤器(例如,剩余 44 个入口第 3 层过滤器)。如果重新启动配置不合规的设备,则很难预测重新启动后安装了哪些过滤器。使用上述示例,可能会安装最初拒绝的 44 个入口第 3 层过滤器,而最初接受的 44 个端口过滤器可能会被拒绝。
配置 TCAM 错误消息
如果缺少 TCAM 空间且无法安装防火墙过滤器,则可以将交换机配置为通过以下方式发送错误消息:
Enter
set system syslog file filename pfe emergency
以向系统日志文件发送错误消息。Enter
set system syslog console pfe emergency
以向控制台发送错误消息。Enter
set system syslog user user-login pfe emergency
以向 SSH 终端会话发送错误消息。
如何使用配置文件扩大防火墙过滤器的规模
配置防火墙过滤器时,防火墙过滤器配置中的术语语句提供了一组广泛的匹配条件。匹配条件是数据包必须包含的字段和值,被视为匹配。您可以根据您的要求定义一个或多个匹配条件。当数据包与过滤器匹配时,设备将执行术语中指定的操作。防火墙过滤器的可扩展性通常取决于使用的匹配条件的数量。
在典型的部署场景中,您只需使用匹配条件的子集。引入配置文件后,您可以使用具有预定义匹配条件的可用防火墙过滤器配置文件之一,以增加用于实现最大规模的防火墙过滤器数量。
您可以为家族 inet 和基于以太网的交换配置防火墙过滤器配置文件。使用 [编辑系统数据包转发选项防火墙] 层级的配置文件配置语句来配置防火墙过滤器配置文件。
当您通过选择配置文件或从一个配置文件移动到另一个配置文件来更改防火墙过滤器配置文件时,数据包转发引擎将重新启动,这会导致流量中断。
下表介绍了防火墙过滤器配置文件,以及基于 inet 和以太网的交换的预定义匹配条件。
系列类型 | 防火墙过滤器配置文件 | 匹配条件(预定义) | 配置层次结构 |
---|---|---|---|
inet (IPv4/IPv6) | profile1 |
ip 源前缀列表 协议 下一个标头 源端口 目标端口 第一个分片 is-fragment icmp 代码 icmp 类型 已建立 tcp tcp 初始 tcp 标志 |
[edit system packet-forwarding-options firewall profiles inet profile1 ] |
profile2 |
ip 源地址 ip6-source-address ip 源前缀列表 ip6-source-prefix-list 协议 下一个标头 源端口 目标端口 第一个分片 is-fragment icmp 代码 icmp 类型 已建立 tcp tcp 初始 tcp 标志 dscp 优先 信息流类 Ttl 跃点限制 |
[edit system packet-forwarding-options firewall profiles inet profile2 ] |
|
以太网交换 | profile1 |
source-mac-address 目标 mac 地址 |
[edit system packet-forwarding-options firewall profiles ethernet-switching profile1 ] |
配置文件2 |
source-mac-address 目标 mac 地址 以太网类型 ip 源地址 ip 源前缀列表 IP 协议 源端口 目标端口 下一个标头 |
[edit system packet-forwarding-options firewall profiles ethernet-switching profile2 ] |
|
选择防火墙过滤器配置文件时,必须应用属于预定义匹配条件子集的匹配条件。如果应用的匹配条件不是防火墙过滤器配置文件的预定义匹配条件子集的一部分,则会发生提交错误。例如,如果您选择 profile1
了 inet 过滤器并将匹配条件应用为 ip-destination-address
(这不是预定义匹配条件的一部分),则在提交操作期间将看到一个错误,说明 ip-destination-address
该匹配不是 inet 过滤器的 profile1
一部分。
您可以使用 show pfe filter hw profile-info
CLI 命令查看防火墙过滤器配置文件的详细信息。
要实现最大的防火墙过滤器规模,建议应用接口级别(第 2 层或第 3 层)过滤器,并跨不同数据包处理管道的接口平均分布过滤器。每组接口都映射到一个数据包处理管道,该管道可处理在这些接口上接收的数据包。在这种情况下,防火墙过滤器安装在数据包处理管道的 TCAM 内存空间中,这些内存空间映射到相应接口。
当数据包进入接口时,防火墙过滤器在退出出口接口之前,会根据匹配条件对数据包处理管道中的数据包执行过滤操作。在多个数据包处理管道的情况下,当数据包通过多个接口进入设备时,防火墙过滤器会对通过相应数据包处理管道的数据包执行过滤操作。接口级别过滤器在不同数据包处理管道的接口上平均分布,可以提供更好的扩展性
您可以使用 show pfe filter hw port-pipe-info
CLI 命令查看每个物理接口映射到的数据包处理管道的详细信息。此 CLI 命令的输出还提供数据包处理管道上安装的防火墙过滤器的相关信息。您可以使用这些信息跨管道规划和分配防火墙过滤器,以达到最大规模。
CLI 命令的以下示例输出 show pfe filter hw port-pipe-info
显示了每个物理接口映射到的数据包处理管道的详细信息:
user@host> show pfe filter hw port-pipe-info IFD Pipe et-0/0/0 1 et-0/0/1 1 ... et-0/0/10 0
监管人员如何限制出口过滤器
在某些交换机上,您配置的出口监管器数量会影响允许的出口防火墙过滤器总数。每个监管器都有两个隐式计数器,在条目为 1024 的 TCAM 中占用两个条目。这些计数器用于计数器,包括在防火墙过滤器术语中配置为操作修改器的计数器。(监管人员使用两个条目,因为一个条目用于绿色数据包,一个用于非绿色数据包,无论监管器类型如何。)如果 TCAM 已满,您将无法再提交与计数器有条件的出口防火墙过滤器。例如,如果配置并提交 512 个出口监管器(双色、三色或这两种监管器类型的组合),则计数器的所有内存条目都会用尽。如果在配置文件的后面插入了包含计数器的附加出口防火墙 过滤器,则 不会提交这些过滤器中的术语,因为没有计数器的可用内存空间。
下面还有一些示例:
假设您配置的出口过滤器共包含 512 个监管器,没有计数器。之后,在配置文件中,您将包含另一个带有 10 个术语的出口过滤器,其中 1 个术语带有反操作修改符。此过滤器中的术语均未提交,因为没有足够的 TCAM 空间用于计数器。
假设您配置的出口过滤器总共包含 500 个监管器,因此占用了 1000 个 TCAM 条目。在配置文件的后面,您将包括以下两个出口过滤器:
过滤器 A,包含 20 个术语和 20 个计数器。此过滤器中的所有条款均已提交,因为所有计数器都有足够的 TCAM 空间。
过滤器 B 仅次于过滤器 A,有五个术语和五个计数器。此过滤器中的术语均未提交,因为没有足够的内存空间用于所有计数器。(需要五个 TCAM 条目,但只有四个可用。)
您可以通过确保带有反操作的出口防火墙过滤器条款比包含监管器的术语更早地放置在配置文件中,来防止出现此问题。在这种情况下,Junos OS 会提交监管程序,即使没有足够的 TCAM 空间用于隐式计数器。例如,假设以下内容:
您有 1024 带有反操作的出口防火墙过滤条件。
在配置文件的后面,您将有一个包含 10 个术语的出口过滤器。所有术语均没有计数器,但有监管器操作修改符。
即使没有足够的 TCAM 空间用于监管器的隐式计数器,也可以成功提交具有 10 个术语的过滤器。警察在没有计数器的情况下犯罪。
规划过滤器专用监管器
您可以将监管器配置为特定于过滤器。这意味着,无论监管器引用多少次,Junos OS 都仅创建一个监管器实例。这样做时,会聚合应用速率限制,因此,如果将监管器配置为丢弃超过 1 Gbps 的流量,并分三种不同的方式引用该监管器,则过滤器允许的总带宽为 1 Gbps。但是,特定于过滤器的监管器的行为受引用监管器的防火墙过滤器术语存储在三元内容可寻址存储器 (TCAM) 中的方式的影响。如果您创建特定于过滤器的监管器并在多个防火墙过滤器术语中引用,则当条款存储在不同的 TCAM 切片中时,监管器允许的流量超出预期。例如,如果将监管器配置为丢弃超过 1 Gbps 的流量,并按三种不同的方式引用存储在三个独立的内存切片中的监管器,则过滤器允许的总带宽为 3 Gbps,而非 1 Gbps。
要防止发生这种意外行为,请使用上述有关 TCAM 切片的信息来组织您的配置文件,以便引用给定过滤器特定监管器的所有防火墙过滤器术语都存储在同一 TCAM 切片中。
规划基于过滤器的转发
您可以使用防火墙过滤器和虚拟路由实例,为数据包在其网络中传输指定不同的路由。要设置此功能(称为基于过滤器的转发,请指定过滤器和匹配标准,然后指定要将数据包发送到的虚拟路由实例)。以这种方式使用的过滤器也会占用额外 TCAM 中的内存。有关更多信息 ,请参阅了解 FIP 侦听、FBF 和 MVR 过滤器的可扩展性 。本主题中的 FBF 过滤器 VFP TCAM 消耗 部分专门介绍了使用基于过滤器的转发时支持的过滤器数量。
基于过滤器的转发不适用于某些瞻博网络交换机上的 IPv6 接口。
[edit system packet-forwarding-option firewall]
下eracl-profile
添加egress-scale
选项,在 QFX5220 上配置多达 2000 个出口防火墙过滤器。egress-to-ingress
年。