在 Debian 上开启 iptables 日志,通常有两种常见做法:
下面先讲最常用的 iptables LOG 方式。
例如记录所有被 DROP 的包:
iptables -A INPUT -j LOG --log-prefix "IPTABLES-DROP: " --log-level 4
iptables -A INPUT -j DROP
或者只记录某端口(如 22):
iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH-LOG: "
参数说明:
--log-prefix:日志前缀,方便过滤--log-level 4:warning 级别(0–7)Debian 默认使用 rsyslog,iptables 日志会进入:
/var/log/kern.log
/var/log/syslog
查看示例:
tail -f /var/log/kern.log
或:
dmesg | grep IPTABLES
编辑:
/etc/rsyslog.conf
或新建:
/etc/rsyslog.d/iptables.conf
添加:
:msg, contains, "IPTABLES-DROP" /var/log/iptables.log
& stop
systemctl restart rsyslog
tail -f /var/log/iptables.log
适合:
apt install ulogd2
iptables -A INPUT -j NFLOG --nflog-group 1
编辑:
/etc/ulogd.conf
启用 NFLOG 输入和日志输出。
LOG 规则不能终止流量
-j LOG
-j DROP # 必须再写一条
日志量可能很大
iptables -A INPUT -m limit --limit 5/min -j LOG
iptables 与 nftables
iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 10/min -j LOG --log-prefix "IPT-IN: "
iptables -A LOGGING -j RETURN
如果你告诉我:
我可以给你更精确的配置。