在 CentOS 上查看防火墙日志,取决于你使用的是 firewalld(CentOS 7+ 默认) 还是 iptables。下面分别说明。
firewalld 本身不直接写日志文件,日志通常通过 kernel / iptables 记录,常见位置:
/var/log/messages
/var/log/firewalld
查看 firewalld 日志:
journalctl -u firewalld
实时查看:
journalctl -u firewalld -f
firewalld 默认不记录拒绝日志,需要手动开启。
firewall-cmd --set-log-denied=all
查看当前设置:
firewall-cmd --get-log-denied
开启后,被拒绝的包会记录到:
/var/log/messages
查看拒绝日志:
grep "kernel:" /var/log/messages | grep "DENIED"
firewall-cmd --set-log-denied=all --permanent
firewall-cmd --reload
需要手动在规则中加 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 |
如果你愿意,可以告诉我:
我可以给你更精确的命令。