温馨提示×

linux防火墙怎么查看日志

小樊
35
2026-10-10 05:13:57
栏目: 智能运维

在 Linux 中查看防火墙日志,取决于你使用的防火墙类型和日志系统。下面按常见情况说明。


一、使用 firewalld(CentOS 7+/RHEL/Fedora)

1. 查看是否被记录(默认可能不记录)

firewalld 本身默认不记录丢弃包日志,需要手动开启:

firewall-cmd --set-log-denied=all
firewall-cmd --reload

可选值:

  • off
  • unicast
  • broadcast
  • multicast
  • all

2. 查看日志(使用 journald)

journalctl -u firewalld

查看被拒绝的包:

journalctl -k | grep -i "denied"

或直接:

dmesg | grep -i "firewall"

二、使用 iptables(传统方式)

1. 添加日志规则(如未配置)

iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROP: "

2. 查看日志

系统使用 rsyslog(常见)

tail -f /var/log/messages
# 或
grep "IPTABLES-DROP" /var/log/messages

使用 journald(如 CentOS 7+)

journalctl -k | grep IPTABLES-DROP

三、使用 nftables(新防火墙,Debian 10+/Ubuntu 20.04+)

1. 添加日志规则

nft add rule inet filter input counter log prefix "NFT-DROP: "

2. 查看日志

journalctl -k | grep NFT-DROP

或:

dmesg | grep NFT-DROP

四、查看系统内核日志(通用)

防火墙日志通常由内核产生:

dmesg
dmesg | tail
dmesg | grep -i drop

五、常见排错

  • 看不到日志?

    • 没加 LOG 规则
    • firewalld 未开启 --set-log-denied
    • 日志被写到 /var/log/kern.log 或 journald
  • Ubuntu 常见位置

/var/log/kern.log
/var/log/syslog

六、快速总结

防火墙 查看方式
firewalld journalctl -u firewalld
iptables /var/log/messages 或 dmesg
nftables journalctl -k
通用 dmesg

如果你能告诉我:

  • 发行版(CentOS / Ubuntu / Debian)
  • 防火墙类型(firewalld / iptables / nftables)

我可以给你精确命令。

0 踩