显示防火墙过滤器安装状态并排除安装错误
本主题介绍如何查看防火墙过滤器安装状态并排除安装错误。
概述
配置 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 防火墙过滤器,您必须指定以下应用程序名称,以列出其所有者应用程序配置或编译的防火墙过滤器信息。
|
应用名称 |
描述 |
|---|---|
|
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 指示此术语将在编译过程中合并。
user@host> show firewall configuration filter f1 information-type configured
Filter f1
Number Of Terms 2
App Name firewalld
Family Name inet
Interface/Instance Specific false
Fast Lookup false
Scale Mode false
No Incremental Update false
Layer2 Policer false
Term : t1
Status : Available
Match Conditions:
source-address
10.0.0.0/8
Actions:
accept
count
c1
Term : t2
Status : Will get merged to term t1 in optimized filter due to similar Match Conditions/Actions
Match Conditions:
source-address
10.0.0.0/16
10.0.0.0/24
Actions:
accept
发出命令 show firewall configuration filter f1 information-type compiled 会在优化/编译后显示此防火墙过滤器的详细信息。 Term : t2 已移除并与 Term : t1合并。
user@host> show firewall configuration filter f1 information-type compiled
Filter f1
Number Of Terms 1
App Name firewalld
Family Name inet
Interface/Instance Specific false
Fast Lookup false
Scale Mode false
No Incremental Update false
Layer2 Policer false
Term : t1
Match Conditions:
source-address
10.0.0.0/8
Actions:
accept
count
c1
以下输出是非 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 表示此术语将在编译过程中合并。
user@host> show firewall configuration filter f2 information-type configured application routing
Filter f2
Number Of Terms 2
App Name RPD
Family Name inet
Interface/Instance Specific false
Fast Lookup false
Scale Mode false
No Incremental Update false
Layer2 Policer false
Term : t1
Status : Available
Match Conditions:
protocol
[3-3]
Actions:
accept
Term : t2
Status : Will get merged to term t1 in optimized filter due to similar Match Conditions/Actions
Match Conditions:
protocol
[4-4]
Actions:
accept
发出命令 show firewall configuration filter f2 information-type compiled application routing 会在优化/编译后显示此防火墙过滤器的详细信息。 Term : t2 已移除并与 Term : t1合并。
user@host> show firewall configuration filter f2 information-type compiled application routing
Filter f2
Number Of Terms 1
App Name RPD
Family Name inet
Interface/Instance Specific false
Fast Lookup false
Scale Mode false
No Incremental Update false
Layer2 Policer false
Term : t1
Match Conditions:
protocol
[3-4]
Actions:
accept
下表介绍了输出中的字段。
|
字段名称 |
字段说明 |
|---|---|
|
过滤器 |
防火墙过滤器的名称 |
|
术语数 |
防火墙过滤器中的术语数 |
|
应用名称 |
防火墙过滤器的所有者应用程序 |
|
姓氏 |
防火墙过滤器系列 |
|
特定于接口/实例 |
如果防火墙过滤器特定于接口或实例,则设置为 True。否则为 false。 |
|
快速查找 |
如果防火墙过滤器是快速查找过滤器,则设置为 True。否则为 false。 |
|
缩放模式 |
如果已在防火墙过滤器上应用了设置,则 |
|
无增量更新 |
如果已在防火墙过滤器上应用了设置,则 |
|
第 2 层监管器 |
如果在此防火墙过滤器上应用了设置,则 |
|
期限 |
防火墙过滤器术语的名称 |
|
状态 |
防火墙过滤器术语的状态。例如, 可用 表示优化/编译后将保留防火墙过滤器术语。 在优化的过滤器中将被丢弃 ,表示在优化/编译过程中将删除防火墙过滤器术语。 |
|
匹配条件 |
显示防火墙过滤器匹配条件 |
|
操作 |
显示防火墙过滤器操作 |
查看防火墙过滤器安装状态并排除错误
编译后,防火墙过滤器会安装到系统中。安装错误通过系统日志消息报告,这些消息提供有关错误和纠正错误的操作的信息。
误差也会记录在遥测传感器路径上 /system/alarms
错误消息将以此格式显示。
<Error code string> [ErrNum: <int> Filter <filter_name> Type <FFT/FLT> Term <term name> pfe <id> slice <id> rep <id> Dir:<Input/Output/NA>] “Error Message” “User defined string” “Solution or Hint”
以下是错误代码列表。
|
错误代码 |
描述 |
|---|---|
|
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。表示防火墙模块中,一个或多个防火墙过滤器存在安装错误。user@host> show system alarms 1 alarms currently active Alarm time Class Description 2025-03-07 18:51:00 PST Minor Firewall software errors reported by consumer applications
-
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.
-
user@host# show system errors active detail System Active Errors Detail Information FPC 1 ---------------------------------------------------------------- Error Name : No-space-left-on-device Identifier : /fpc/1/evo-aftmand-bt/0/SWstate/0/IFF_filter_bind/0/No-space-left-on-device Description : No-space-left-on-device State : enabled Scope : SOFTWARE Category : FIREWALL Level : major Threshold : 10 Error limit : 1 Occur count : 1 Clear count : 0
-
-
show system applications error detail– 此命令列出发生的每个防火墙过滤器安装错误。将显示有关确切错误、错误描述、过滤器名称和纠正错误的操作的详细信息。在以下示例中,“错误说明”字段指示错误代码、带有安装错误的防火墙过滤器、错误原因和纠正措施等。请参阅 表 3 以了解系统可能引发的所有错误代码。user@host> show system applications error detail Error detail: Node : fpc1 Application : evo-aftmand-bt Error Number : 28 Severity : FATAL GUID : 545460847182 Error Description : FILTER_EXCEED_MAX_BINDS_ALLOWED [ErrNum:200 Filter:InputFlt1 Type:FLT PFE:0 Slice:0 Rep:0 Dir:Ingress]Reached maximum number of filter attachments.vfmum allocation failed for new filter attachment with et-1/0/5.0.2 and required vfnum:1.Detach some filters. Error Module : CHASSIS0:FPC1 Error Object Name : IFF:Proto:inetIFL-Index1023IFF_filter_bind:IFF CLI IN Error Object Parent Name : FOH:InputFlt1 Error Timestamp : Fri Aug 29 09:36:35 2025 Error item URI : /fpc/1/evo-aftmand-bt/0/SWstate/0/IFF_filter_bind/0/No-space-left-on-device Error item Category : firewall Error item Scope : software
-
show firewall— 除了显示所有防火墙过滤器的统计信息外,此命令还将显示在PFE上安装时遇到错误的防火墙过滤器和绑定点。可能在少数连接点(或绑定点)上对防火墙过滤器进行 PFE 编程成功,少数连接点失败。show firewall显示一个简短的输出,从高层级指示字段中Status错误的性质,如以下示例所示,其中防火墙过滤器InputFlt1具有BIND-ERROR。show firewall detailed显示详细输出,指示防火墙安装失败的绑定点,如以下示例所示,其中防火墙过滤器InputFlt1未能在字段中Errored Bindpoints指示的绑定点成功安装。user@host# show firewall Filter: InputFlt1 Status: BIND-ERROR Counters: Name Bytes Packets ipcnt1 0 0 {master}[edit] user@host# show firewall detailed Filter: InputFlt1 Status: BIND-ERROR Counters: Name Bytes Packets ipcnt1 0 0 Errored Bindpoints: et-1/0/3.0.inet-i et-1/0/5.0.inet-i