Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

显示防火墙过滤器安装状态并排除安装错误

本主题介绍如何查看防火墙过滤器安装状态并排除安装错误。

概述

配置 CLI 或非 CLI 防火墙过滤器后,如果配置成功执行提交操作,则提交操作将执行一个优化过程,该过程可能会合并或消除防火墙过滤器的条款。这可能导致防火墙过滤器的配置和提交的信息存在差异。请注意,CLI 防火墙过滤器是使用 CLI 配置的防火墙过滤器,非 CLI 防火墙过滤器(如 BGP FlowSpec 防火墙过滤器)是系统根据配置创建的隐式防火墙过滤器。

要查看防火墙过滤器在经过编译操作优化过程之前的配置信息,以及在经过编译操作优化过程后查看防火墙过滤器的编译信息,请使用以下命令。

  • show firewall configuration filter firewall_filter_name information-type configured 命令以显示 CLI 防火墙过滤器在经过编译操作的优化过程之前的配置信息。

  • show firewall configuration filter firewall_filter_name information-type compiled 命令以显示经过编译操作优化过程后的 CLI 防火墙过滤器的信息。

  • show firewall configuration filter firewall_filter_name information-type configured application application-name 命令以显示非 CLI 防火墙过滤器在进行编译操作优化之前的配置信息。

  • show firewall configuration filter firewall_filter_name information-type compiled application application-name 命令以显示非 CLI 防火墙过滤器在经过编译操作优化过程后的信息。

注意:

使用 set firewall enable-filter-debug 启用此功能。

启用后,发布防火墙筛选器的所有应用中的内存消耗都会增加。完成调试活动后,建议使用命令禁用 delete firewall enable-filter-debug 此功能。

以下代表性数据表示通过命令启用 set firewall enable-filter-debug 此功能后内存消耗和 CPU 时间的影响。

1000 个防火墙过滤器,每个过滤器有 64 个术语,每个术语有 5 个元组作为匹配条件,以及 accept 和 counter as 操作。

  • 提交防火墙过滤器配置之前的内存消耗 — 52 MB

  • 提交防火墙过滤器配置后的内存消耗 — 2.097 GB

  • 应用 set firewall enable-filter-debug 命令后的内存消耗 — 2.306 GB

  • 提交防火墙过滤器配置时的 CPU 消耗 — 59 秒

  • 应用 set firewall enable-filter-debug 命令后的 CPU 消耗 — 15 秒

防火墙过滤器具有所有者应用程序。对于非 CLI 防火墙过滤器,您必须指定以下应用程序名称,以列出其所有者应用程序配置或编译的防火墙过滤器信息。

表 1:防火墙过滤器的 CLI 和非 CLI 所有者应用

应用名称

描述

COSD

CoSD 防火墙过滤器(非 CLI)

防火墙

防火墙模块,防火墙过滤器

JDHCPD

JDHCPD 防火墙过滤器(非 CLI)

L2CPD

L2CPD 过滤器(非 CLI)

LSP

LSP 防火墙过滤器(非 CLI)

P4 交换机

P4 交换机防火墙过滤器(非 CLI)

PPMD

定期数据包管理守护程序(非 CLI)

路由 (RPD)

BGP Flowspec 过滤器(非 CLI)

平台兼容性

从 Junos OS 演化版 25.2R1 及更高版本,PTX10001-36MR、PTX10002-36QDD、PTX10003、PTX10004、PTX10008 和 PTX10016 平台支持此功能。

查看防火墙过滤器的配置和编译信息

配置防火墙过滤器后,当您查看配置的防火墙过滤器时,如果正在优化或合并防火墙过滤器术语,则会在防火墙过滤器术语的字段中 Status 指示。在以下示例中,配置了 CLI 防火墙过滤器 f1 ,并使用 set firewall enable-filter-debug启用了调试功能后,发出将 show firewall configuration filter f1 information-type configured 显示以下输出。 Term : t2 在字段中 Status 显示此消息, Will get merged to term t1 in optimized filter due to similar Match Conditions/Actions 指示此术语将在编译过程中合并。

发出命令 show firewall configuration filter f1 information-type compiled 会在优化/编译后显示此防火墙过滤器的详细信息。 Term : t2 已移除并与 Term : t1合并。

以下输出是非 CLI 防火墙过滤器、隐式过滤器,例如发出show firewall configuration filter f2 information-type configured application routing命令时的 BGP Flowspec 防火墙过滤器f2。由于这是由应用程序管理routing的 BGP Flowspec 防火墙过滤器,因此您将应用程序名称指定为 routing。Term : t2在字段中Status显示此消息 - Will get merged to term t1 in optimized filter due to similar Match Conditions/Actions 表示此术语将在编译过程中合并。

发出命令 show firewall configuration filter f2 information-type compiled application routing 会在优化/编译后显示此防火墙过滤器的详细信息。 Term : t2 已移除并与 Term : t1合并。

下表介绍了输出中的字段。

表 2:<show firewall configuration filter <filter-name> 信息类型配置/编译的应用程序 <application-name>> 输出字段

字段名称

字段说明

过滤器

防火墙过滤器的名称

术语数

防火墙过滤器中的术语数

应用名称

防火墙过滤器的所有者应用程序

姓氏

防火墙过滤器系列

特定于接口/实例

如果防火墙过滤器特定于接口或实例,则设置为 True。否则为 false。

快速查找

如果防火墙过滤器是快速查找过滤器,则设置为 True。否则为 false。

缩放模式

如果已在防火墙过滤器上应用了设置,则 scale-mode 为 True。否则为 false。

无增量更新

如果已在防火墙过滤器上应用了设置,则 no-incremental-update 为 True。否则为 false。

第 2 层监管器

如果在此防火墙过滤器上应用了设置,则 layer2-policer 为 True。否则为 false。

期限

防火墙过滤器术语的名称

状态

防火墙过滤器术语的状态。例如, 可用 表示优化/编译后将保留防火墙过滤器术语。 在优化的过滤器中将被丢弃 ,表示在优化/编译过程中将删除防火墙过滤器术语。

匹配条件

显示防火墙过滤器匹配条件

操作

显示防火墙过滤器操作

查看防火墙过滤器安装状态并排除错误

编译后,防火墙过滤器会安装到系统中。安装错误通过系统日志消息报告,这些消息提供有关错误和纠正错误的操作的信息。

注意:

误差也会记录在遥测传感器路径上 /system/alarms

错误消息将以此格式显示。

以下是错误代码列表。

表 3:错误代码

错误代码

描述

FILTER_UNSUPPORTED_TYPE

不受支持的过滤器类型。减少过滤器中的匹配条件数量,从过滤器中删除不兼容的匹配条件。

FILTER_CHAINING_FAILURE

过滤器链接(下一个过滤器)故障。从链条上拆下过滤器。

FILTER_UNSUPPORTED_MATCH_TYPE

过滤器不支持匹配类型。移除不受支持的匹配项。

FILTER_UNSUPPORTED_ACTION_TYPE

过滤器不支持操作类型。移除不受支持的操作类型。

FILTER_EXCEED_MAX_TERMS_ALLOWED

已达到防火墙过滤器中的最大术语数。减少术语数量。

FILTER_EXCEED_MAX_TCAM_ENTRIES_PER_FILTER

已达到防火墙过滤器中的最大 TCAM 条目数。减少 VLAN ID、TCP 标志、碎片偏移量和标志、IP 选项、TTL、PLP、光纤通道、Intf 组、MPLS exp 匹配的数量。

FILTER_FFTC_MAX_NUM_OF_TERMS

达到快速过滤器术语的最大数量。减少术语数量。

FILTER_FFTC_EXCEED_MAX_TCAM_ENTRIES_PFE_FILTER

达到快速过滤器 TCAM 条目的最大数量。减少术语数量。

FILTER_FFTC_UNSUPPORTED_MATCH_TYPE

快速过滤器不支持匹配类型。移除不受支持的匹配项。

FILTER_FFTC_MATCH_KEY_SIZE_EXCEEDED

已达到最大快速过滤器匹配密钥大小(匹配条件过多)。减少过滤器中的匹配条件数量,从过滤器中删除不兼容的匹配条件。

FILTER_BETA_RESOURCE_NOT_AVAILABLE

BETA 版资源已耗尽。减少端口、协议或范围匹配的数量。

FILTER_ALPHA_RESOURCE_NOT_AVAILABLE

ALPHA 资源已耗尽。减少匹配的前缀数量。

FILTER_TCAM_RESOURCE_NOT_AVAILABLE

TCAM 资源已耗尽。减少 VLAN ID、TCP 标志、标志偏移量和标志、IP 选项、TTL、PLP、光纤通道、Intf 组、MPLS exp 匹配的数量。

FILTER_ACTION_MEMORY_NOT_AVAILABLE

操作内存耗尽,减少操作次数。

FILTER_PHYSICAL_FILTER_NOT_AVAILABLE

已达到物理防火墙过滤器的最大数量。减少附加的防火墙过滤器数量。

FILTER_EXCEED_MAX_BINDS_ALLOWED

已达到防火墙过滤器附件的最大数量。使用新过滤器连接防火墙过滤器的 VFMUM 分配失败。分离一些防火墙过滤器。

FILTER_COUNTER_RESOURCE_NOT_AVAILABLE

没有更多的计数器可用。减少反击操作的次数。

FILTER_POLICER_RESOURCE_NOT_AVAILABLE

不再有可用的监管器。减少监管器操作的数量。

FILTER_UNSUPPORTED_TCP_FLAGS

处理 TCP 标志布尔表达式失败。

更改 TCP 标志布尔表达式。

FILTER_HEAP_MEMORY_ALLOCATION_FAIL

软件堆内存耗尽。过滤器模板软件对象创建失败。减少配置的防火墙过滤器数量。

FILTER_INIT_ALLOC_FAIL

无法初始化防火墙过滤器。未创建筛选器硬件实例。在 <bindDir 方向上使用 <bindName> 过滤附件>失败。卸下过滤器并重试。

除了系统日志消息之外,系统还为您提供了 show 命令,您可以按以下顺序使用这些命令来验证防火墙过滤器安装成功还是失败。

  • show system alarms–发出此命令时,如果防火墙过滤器安装错误,将提供高级语句。发出此命令后未出现错误语句时,确认系统中没有防火墙过滤器安装错误。在以下示例中,说明为 Firewall software errors reported by consumer application 。表示防火墙模块中,一个或多个防火墙过滤器存在安装错误。

  • show system errors active detail— 此命令提供每个 FPC/防火墙过滤器模块的错误的高级综合错误描述,以及此错误的出现总数。

    • “错误名称”字段显示标准 Linux 错误代码描述,例如 invalid argument等 No-space-left-on-device 。

    • “标识符”字段显示报告此错误的 PFE 应用程序的标识。标识符字段的格式如下:

      • /<node-name>/<app-name>/0/SWError/0/<Obj-type>/0/<linux-error-name>

      • 对于单个线卡设备,<node-name>值 /re/0。对于具有多个线卡的设备,<node-name>可以有 或 /fpc/1 等值/fpc/0(线卡名称/插槽编号)。

      • <app-name> 指示守护程序/应用程序正在运行并对线卡进行编程(例如 evo-aftmand-bx / evo-aftmand-bt)

      • <Obj-type> 表示 Junos OS 演化版对象类型。此对象从控制平面推送到转发平面/线卡。例如 IFF_filter_bind.

  • show system applications error detail– 此命令列出发生的每个防火墙过滤器安装错误。将显示有关确切错误、错误描述、过滤器名称和纠正错误的操作的详细信息。在以下示例中,“错误说明”字段指示错误代码、带有安装错误的防火墙过滤器、错误原因和纠正措施等。请参阅 表 3 以了解系统可能引发的所有错误代码。

  • show firewall— 除了显示所有防火墙过滤器的统计信息外,此命令还将显示在PFE上安装时遇到错误的防火墙过滤器和绑定点。可能在少数连接点(或绑定点)上对防火墙过滤器进行 PFE 编程成功,少数连接点失败。 show firewall 显示一个简短的输出,从高层级指示字段中 Status 错误的性质,如以下示例所示,其中防火墙过滤器 InputFlt1 具有 BIND-ERROR。 show firewall detailed 显示详细输出,指示防火墙安装失败的绑定点,如以下示例所示,其中防火墙过滤器 InputFlt1 未能在字段中 Errored Bindpoints 指示的绑定点成功安装。