我希望我可以在这里问这个问题,因为我有点混淆我能问什么和不能问什么:> 所以我想用 iptables 来分隔 iptables 示例中的前缀:第一次连接到最终 DROP 规则,然后我具有分析它并将其添加到不同前缀和链的工具,因此如果它已经被丢弃并添加到链中,它将被分开以丢弃日志。我有这个,但它不起作用,HB_LOG_AND_DROP 永远不会显示。一直只显示最后一个 DROPLOG,为什么?
$IPTABLES -N HB_LOG_AND_DROP;
$IPTABLES -A HB_LOG_AND_DROP -j LOG --log-prefix "IPTABLES-DROPPED: " --log-level 6;
$IPTABLES -A HB_LOG_AND_DROP -j HB_LOG_AND_DROP;
$IPTABLES -N LOGPSCAN;
$IPTABLES -A LOGPSCAN -p tcp --syn -m limit --limit 2000/hour -j RETURN;
$IPTABLES -A LOGPSCAN -m limit --limit 200/hour -j LOG --log-prefix "RULE PORT-SCAN [DROP] ";
$IPTABLES -A LOGPSCAN -j LOGPSCAN;
$IPTABLES -A INPUT -p tcp --syn -j LOGPSCAN;
$IPTABLES -N DROPLOG;
$IPTABLES -A INPUT -j DROPLOG;
$IPTABLES -A DROPLOG -m limit --limit 1/sec -j LOG --log-prefix "[DROP] " --log-level 6;
$IPTABLES -A DROPLOG -j DROP
以下规则不正确:
此命令将规则添加到
HB_LOG_AND_DROP
链中以再次跳转到同一链中。它会导致数据包循环。幸运的是,您的规则没有任何可跳转的规则
HB_LOG_AND_DROP
,因此您不会看到带有您的规则集的数据包循环。检查
iptables -nvL
链是否在最后一个之上。问题是自动禁止和报告的脚本使用 -A 插入规则,当更改为 -I 时,它在最后一次 DROP 之前开始拦截。是的,我已经尝试了所有可能的组合 40 次。最后一个是这个
问题是 HB_LOG_AND_DROP; 当我将其更改为 -I 时,正在使用 -A 从脚本中添加 INPUT,一切正常