在 Debian 里,iptables 本身不产生日志文件,日志是通过 iptables 规则 + 内核日志(kernel log) 实现的。下面按常见方式说明。
查看是否有 LOG 规则:
iptables -L -n -v | grep LOG
或(含 nat/raw 表):
iptables -t filter -L -n -v | grep LOG
iptables -t nat -L -n -v | grep LOG
# 记录被丢弃的包
iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROP: " --log-level 4
iptables -A INPUT -j DROP
常用参数说明:
--log-prefix:日志前缀,方便过滤--log-level 4:warning 级别(kernel log)⚠️ 注意:LOG 只是记录,不会中断包,后面通常要跟 ACCEPT/DROP
dmesg | grep IPTABLES
实时查看:
dmesg -w | grep IPTABLES
Debian 通常使用 rsyslog:
tail -f /var/log/syslog | grep IPTABLES
或:
grep IPTABLES /var/log/syslog
sudo vim /etc/rsyslog.conf
添加:
:msg, contains, "IPTABLES" -/var/log/iptables.log
& stop
sudo systemctl restart rsyslog
tail -f /var/log/iptables.log
Debian 10+ 默认可能是 nftables:
nft list ruleset | grep log
日志查看:
journalctl -k | grep nft
如果你愿意,可以告诉我:
我可以帮你写一套完整规则。