sar不能查看防火墙拦截统计,因其仅采集cpu、内存、i/o、网络接口等内核级资源指标,不涉及iptables/nftables/firewalld的规则匹配计数或丢包日志;需用对应工具如iptables -l -v、nft list ruleset或firewalld日志排查。

sar 不能查看防火墙拦截统计。
它不采集、也不存储 iptables、nftables 或 firewalld 的规则匹配计数、丢包日志或连接拒绝事件。这些数据由防火墙子系统独立维护,sar 的设计目标是内核级资源指标(CPU、内存、I/O、网络接口吞吐等),而非应用层或策略层的审计信息。
要查防火墙拦截情况,得用对应工具:
-
iptables:运行
sudo iptables -L -n -v或sudo iptables -t filter -L INPUT -n -v查看各链的匹配包数和字节数;长期统计需配合日志(如LOGtarget + rsyslog) -
nftables:用
sudo nft list ruleset查规则,加-a显示字节/包计数;也可sudo nft monitor trace实时跟踪匹配路径 -
firewalld:本身不直接暴露拦截计数,需查底层 nftables 或 iptables 规则(
sudo firewall-cmd --direct --get-all-rules),或启用--log-denied=all并分析/var/log/firewalld或 journal 日志
sar 能提供的间接线索只有:
-
sar -n EDEV:看网卡接收/丢弃帧数(rxerr/s,rxdrop/s),但rxdrop多由驱动、缓冲区满或校验失败引起,不等于防火墙丢包 -
sar -n TCP:查tcpExtAttemptFails或tcpExtListenOverflows,反映连接层面问题,非策略拦截 - 若发现某时段
rxdrop/s异常升高,且sar -n DEV显示对应接口无错误(rxerr/s ≈ 0),可作为排查起点,但仍需转向防火墙日志确认
真正想回溯历史拦截行为,必须提前配置:
- iptables/nftables 开启
LOGtarget 并写入文件或 journal - firewalld 启用
LogDenied并确保 journald 持久化保存 - 使用
auditd配合auditctl -a always,exit -F arch=b64 -S socket -F a2=2 -k firewall_socket等规则(高级场景)
不复杂但容易忽略。











