假设我向 iptables 添加一个 IP,阻止 exim、dovecot 和 FTP,并且该 IP 再次访问我的服务器。
是否有此访问的任何日志,以便我可以确认 IP 再次尝试访问服务器但被阻止?
答案1
尝试这样做:
iptables -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
答案2
如果您阻止了特定的 IP 地址(或网络),您可以通过查看阻止规则的命中计数iptables -L -vn
。如果数据包和字节的计数器增加,则 IP 地址/网络已再次访问。
如果您需要记录的信息,您可以使用 iptables 中的 LOG 目标:
/sbin/iptables -A INPUT -p tcp -m multiport --dports 20,21,25,143 -j LOG --log-prefix "iptables: "
/sbin/iptables -A INPUT -p tcp -m multiport --dports 20,21,25,143 -j DROP
第一行记录连接尝试(到 syslog 或您配置的任何内容),并在其前面加上“iptables:”前缀,以便您可以更轻松地进行 grep 操作,或者让 syslog 将输出重定向到特殊的 iptables.log。 LOG 跳转始终返回到连接尝试现在被第二条规则丢弃的链。
另请参阅 @sputnick 的答案,以进一步限制这些日志条目的速率以防止日志垃圾邮件。