是否可以查看或启用显示 iptables 阻止了哪些请求的日志?我正在尝试追踪 iptables 阻止的请求,但不应该阻止(因为我为其设置了例外规则)。
答案1
一般来说,这是通过在 -j DROP 目标之前使用 -j LOG 目标来完成的。
举个例子,假设你有一条规则,阻止来自特定 IP 的 SSH 请求
/sbin/iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -d <external IP on firewall> --dport 22 -j DROP
您可以修改您的配置并在该规则上方添加一条规则,如下所示:
/sbin/iptables -A INPUT -i eth0 -s xxx.xxx.xxx.xxx -d <external IP on firewall> --dport 22 -j LOG
您可能还想查看该--log-prefix=
选项,它将允许您向日志中添加一些注释(不是很多)。
答案2
是的。您可以在拒绝数据包之前将其发送到 ULOG 目标,并配置 ulogd 以将它们保存在 pcap 格式的文件中,以便可以使用 tcpdump 或 wireshark 读取它们。请参阅http://www.netfilter.org/projects/ulogd/