connlimitをIPセットと組み合わせる方法は?

connlimitをIPセットと組み合わせる方法は?

connlimitクライアント/サービスあたりの接続数を制限します。これらのルールを、最新バージョンのLinuxカーネルお​​よびネットフィルタで利用可能なIPセットとどのように組み合わせますか?

ベストアンサー1

という名前のipsetがあり、MYTESTSETipset型があるとしますhash:ip。 IPアドレスのみが保存されます。

その後、IPsetと一致し、一致connlimit拡張子と一致させ、目的のパラメータを使用します。

iptables -A INPUT -p tcp -m set --match-set MYTESTSET src -m connlimit --connlimit-above 1 --connlimit-saddr --connlimit-mask 32 -j DROP

これは次のことを行います。 IPセットの各ソースに対して接続数が計算され、複数の場合(--connlimit-above 1)削除され、接続数を制限します。ipsetの各ソース1として。 (他の方法で一致させることもできます。代わりに--connlimit-upto xxxandを使用してください)-j ACCEPTDROP

セット全体を考慮して1つの接続を許可したい場合ipsetのすべてのソースについてその後、--connlimit-maskスイッチを0に設定します。

おすすめ記事