Iptables

如何分隔 iptables 的前綴

  • September 27, 2021

我希望我可以在這裡問這個問題,因為我有點混淆我能問什麼和不能問什麼:> 所以我想用 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

檢查 iptables -nvL 鍊是否在最後一個之上。問題是用於自動禁止和報告的腳本使用 -A 插入規則,當更改為 -I 時,它在最後一次 DROP 之前開始攔截。

是的,我已經嘗試了所有可能的組合 40 次。最後一個是這個

$IPTABLES -N HB_LOG_AND_DROP;$IPTABLES -A HB_LOG_AND_DROP -m limit --limit 1/sec -j LOG --log-prefix "IPTABLES-DROPPED: " --log-level 6;
$IPTABLES -A HB_LOG_AND_DROP -j 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 "PORT-SCAN-DROPPED: " --log-level 6;
$IPTABLES -A LOGPSCAN -j DROP;

問題是 HB_LOG_AND_DROP; 當我將其更改為 -I 時,正在使用 -A 從腳本中添加 INPUT,一切正常

以下規則不正確:

$IPTABLES -A HB_LOG_AND_DROP -j HB_LOG_AND_DROP

此命令將規則添加到HB_LOG_AND_DROP鏈中以再次跳轉到同一鏈中。它會導致數據包循環。

幸運的是,您的規則沒有任何可跳轉的規則HB_LOG_AND_DROP,因此您不會看到帶有您的規則集的數據包循環。

引用自:https://serverfault.com/questions/1065024