iptablesを使用して、IPアドレスあたりの最大接続数と1秒あたりの新しい接続数を制限します。

iptablesを使用して、IPアドレスあたりの最大接続数と1秒あたりの新しい接続数を制限します。

ポート80にhttpdを持つUbuntu 12.04サーバーがあり、以下を制限しようとしています。

  • IPアドレスあたりのhttpdへの最大接続数は10です。
  • 1秒あたりのhttpdへの新しい新しい接続数は150です。

iptablesを使ってこれを行うにはどうすればよいですか?

ベストアンサー1

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 15 --connlimit-mask 32 -j REJECT --reject-with tcp-reset  

これにより、ソースIPから15を超える接続が拒否されます。

iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 150/second --limit-burst 160 -j ACCEPT  

毎秒150の新しい接続(パケット)制限が適用される前に、160の新しい接続(実際にはパケット)が許可されます。

おすすめ記事