在 iptables 中對相同流量設定 ACCEPT 和 DROP 規則的原因是什麼?

在 iptables 中對相同流量設定 ACCEPT 和 DROP 規則的原因是什麼?

我在伺服器的 iptables 中找到了這個:

-A INPUT -i eth2.600 -p udp -m udp --sport 53 -m limit --limit 10000/sec --limit-burst 200 -j ACCEPT
-A INPUT -i eth2.600 -p udp -m udp --sport 53 -j DROP

是否會接受來自連接埠 53 的資料包?或者只要第一條規則沒問題(未達到限制)它們就會被接受然後被刪除?

答案1

只有在以下情況下才會採取該行動:全部規則條件匹配 – 其他資料包「落入」下一條規則。無論連接埠不匹配、協定不匹配或速率限制不匹配,這同樣適用。

因此,如果資料包滿足,-m limit它將被接受,但如果它不滿足限制,則第一個規則將執行操作 - 封包將進入第二個 (DROP) 規則。

擁有明確的 DROP 取決於規則集 - 它不是 100% 必要的(例如,最終可能有一個包羅萬象的 DROP,或全局丟棄策略),但如果規則集很長,它會提供一些清晰度,並且防止相同的資料包被下面的另一個規則意外接受。

相關內容