温馨提示×

centos防火墙如何查日志

小樊
33
2026-10-08 18:24:48
栏目: 智能运维

在 CentOS 上查看防火墙日志,取决于你使用的是 firewalld(CentOS 7+ 默认) 还是 iptables。下面分别说明。


一、CentOS 7/8(使用 firewalld)

1. 防火墙日志默认位置

firewalld 本身不直接写日志文件,日志通常通过 kernel / iptables 记录,常见位置:

/var/log/messages
/var/log/firewalld

查看 firewalld 日志:

journalctl -u firewalld

实时查看:

journalctl -u firewalld -f

2. 查看被防火墙拒绝的包(最重要)

firewalld 默认不记录拒绝日志,需要手动开启。

临时开启拒绝日志

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

查看当前设置:

firewall-cmd --get-log-denied

开启后,被拒绝的包会记录到:

/var/log/messages

查看拒绝日志:

grep "kernel:" /var/log/messages | grep "DENIED"

3. 永久生效

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

二、CentOS 6 或直接使用 iptables

1. iptables 日志

需要手动在规则中加 LOG 规则,例如:

iptables -I INPUT -j LOG --log-prefix "IPTABLES-DENIED: "

查看日志:

tail -f /var/log/messages

或:

dmesg | grep IPTABLES

三、常见排查命令

查看防火墙状态

systemctl status firewalld
firewall-cmd --state

查看规则

firewall-cmd --list-all
iptables -L -n -v

四、简单总结

需求 命令
查看 firewalld 运行状态 journalctl -u firewalld
查看被拒绝连接 开启 log-denied 后看 /var/log/messages
实时日志 journalctl -u firewalld -f
iptables 日志 dmesg 或 /var/log/messages

如果你愿意,可以告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 想查 被拦截的访问 还是 放行记录

我可以给你更精确的命令。

0 踩