私はCentOS 5.xを使用して、私のサーバーの1つで次のiptablesルールに頭を悩ませています。
-A RH-Firewall-1-INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
私が持っている別のサーバーで:
-A RH-Firewall-1-INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 3 -j ACCEPT
これらのルールは両方とも、着信pingリクエストを許可(および抑制)するように設計されていることを理解していますが、limit-burst
オプションについて?また、これらの手当はホストごとですか?または、それらはすべて/すべての着信ICMP接続に適用されますか?
数学は完全に説明されています netfilter docsで ですが、limit-burst
引数は、limit
が1秒あたり1回「キックイン」する前に許可される一致の数を指定します。これら2つのルールはどちらも、ICMPエコー要求パケット(受信PING要求)にのみ適用されます。これらはホストごとの制限ではなく、ルールが一致するものすべてに適用されます(この場合、すべてのICMPエコー要求になります)。
--limit
:トークンがバケットに補充される頻度を指定します。 4/hour
は、1時間あたり4つのトークンを意味します(15分ごとに1つのトークン)。
--limit-burst
:バケットに入力できるトークンの最大量を指定します。 (これは、バケットが開始するトークンの量でもあります)。
私は両方の答えを読みましたが、実際のman itables-extensions
はそれを理解しました。
限界
このモジュールは、トークンバケットフィルターを使用して制限されたレートで照合します。この拡張を使用するルールは、この制限に達するまで一致します。たとえば、LOGターゲットと組み合わせて使用して、限定されたロギングを行うことができます。
xt_limitには否定サポートはありません。この場合、-[ハッシュコード]モードを省略しながら、
-m hashlimit ! --hashlimit
レートを使用する必要があります。
--limit rate[/second|/minute|/hour|/day]
-最大平均一致率:数値として指定し、オプションの/second
、/minute
、/hour
、または/day
サフィックスを使用します。デフォルトは3 /時間です。
--limit-burst number
-照合するパケットの最大初期数:この数は、上記の制限に達しない場合は、この数まで、1つずつ再充電されます。デフォルトは5です。