web-dev-qa-db-ja.com

iptablesルールで--limit 1 / sと--limit-burstはどういう意味ですか?

私は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接続に適用されますか?

7
Mike B

数学は完全に説明されています netfilter docsで ですが、limit-burst引数は、limitが1秒あたり1回「キックイン」する前に許可される一致の数を指定します。これら2つのルールはどちらも、ICMPエコー要求パケット(受信PING要求)にのみ適用されます。これらはホストごとの制限ではなく、ルールが一致するものすべてに適用されます(この場合、すべてのICMPエコー要求になります)。

12
Evan Anderson

--limit:トークンがバケットに補充される頻度を指定します。 4/hourは、1時間あたり4つのトークンを意味します(15分ごとに1つのトークン)。

--limit-burst:バケットに入力できるトークンの最大量を指定します。 (これは、バケットが開始するトークンの量でもあります)。

4
user2059857

私は両方の答えを読みましたが、実際の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です。

0
matiu