可以的。CentOS 上的 iptables 是支持日志功能的,通常通过 iptables 的 LOG 目标来实现。下面给你一个清晰、常用的说明和示例。
iptables 本身不直接写日志文件,而是:
LOG 动作,把匹配到的数据包信息rsyslog / syslog 收集/var/log/messages(默认)iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "IPTABLES-DROP: "
iptables -A INPUT -p tcp --dport 22 -j DROP
说明:
--log-prefix:日志前缀,方便过滤tail -f /var/log/messages
或(CentOS 7+):
journalctl -k | grep IPTABLES
--log-level 4 # 日志级别(warning)
--log-prefix "TEXT: " # 前缀
--log-tcp-sequence # TCP 序列号
--log-tcp-options
--log-ip-options
示例:
iptables -A FORWARD -j LOG \
--log-prefix "FW: " \
--log-level 4
vim /etc/rsyslog.conf
添加:
:msg, contains, "IPTABLES" -/var/log/iptables.log
& stop
systemctl restart rsyslog
如果你在用 firewalld:
systemctl stop firewalld
systemctl disable firewalld
然后再用 iptables
nftables✅ CentOS iptables 完全可以日志
✅ 用 LOG 目标 + rsyslog
✅ 适合排错、攻击分析
❌ 不适合高流量全量日志
如果你愿意,我可以:
直接告诉我你的 CentOS 版本和使用场景即可。