反対方向に iptables '-mlimit' を使用します。

反対方向に iptables '-mlimit' を使用します。

を使用してパケットの受け入れをiptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT制限できることを知っています。したがって、パケットがこの速度を超えない場合にジャンプします。tcp syn
tcp synACCEPT

このルールを反対方向に作成する方法はありますか?
私は次のようなルールを作成したいと思います。

If ok (doesn't cross the rate), continue down. Else drop<-- (1)???
iptables -A INPUT -j OTHER_CHAIN_STUFF

書く方法はありますか(1)

試しましたが、iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j DROP次のように動作します。
速度に達するまで減少し、速度制限を超えると、それ以上減少しないため、DROP減少し続けます。これは私が望むものではありません。

私が欲しいものを書く方法はありますか?
同様:(iptables -A INPUT -p tcp --syn ! -m limit --limit 1/s -j DROP
!

答え1

hashlimit可能であれば、このモジュールを使用するのは簡単な方法です。

iptables -A INPUT -p tcp --syn -m hashlimit --hashlimit-name mylimit --hashlimit-above 1/s -j DROP

limitman iptables-extensions私のFedora 23のモジュールよりもやや効率が悪いです。

答え2

ただ簡単な解決策に気づきました。

  • iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
  • iptables -A INPUT -p tcp --syn -j DROP
  • やりたいことを続けて

関連情報