Linux Netfilter discussions
 help / color / mirror / Atom feed
From: "Michal Kubeček" <mkubecek@suse.cz>
To: netfilter@vger.kernel.org
Subject: Re: limit module timer precision issue
Date: Thu, 13 Oct 2011 09:10:33 +0200	[thread overview]
Message-ID: <201110130910.33120.mkubecek@suse.cz> (raw)
In-Reply-To: <20111013014310.4369d65e@wwwwww-701SD>

On Thursday 13 of October 2011, abirvalg@lavabit.com wrote:
> Hi, it seems to me that limit module has issues with timer precision.
> The only iptables rules i have are:
> 
> iptables  -I OUTPUT 1 -m state --state NEW -m limit --limit 2000/sec
> --limit-burst 1  -j NFQUEUE --queue-num 11220 iptables -I OUTPUT 2
> -m state --state NEW -j NFQUEUE --queue-num 11222
> 
> iptables  -I INPUT 1 -m state --state NEW -m limit --limit 2000/sec
> --limit-burst  1 -j NFQUEUE --queue-num 11221 iptables -I INPUT 2 -m
> state --state NEW -j NFQUEUE --queue-num 11222
> 
> (Both NFQUEUE 11220 and 11221 pass only NF_ACCEPT or NF_DROP
> verdicts.)
> 
> If I understand -m limit correctly, only if there is more than 2000
> NEW connections going in or out, NFQUEUE 11222 will trigger.

Not exactly. With "--limit-burst 1", no more than one packet per jiffy 
can pass the test. You may have only 30 NEW packets per second but it 
doesn't mean one packet every 1/30 s. And if there are two (or more) NEW 
packets within one jiffy, only the first passes the first rule.

Increasing the value of --limit-burst should help.

                                                         Michal Kubeèek

  parent reply	other threads:[~2011-10-13  7:10 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-13  1:43 limit module timer precision issue abirvalg
2011-10-12 22:57 ` Jan Engelhardt
2011-10-13  7:10 ` Michal Kubeček [this message]
2011-10-13 10:15   ` Jan Engelhardt
2011-10-13 11:23     ` Michal Kubeček
2011-10-13 12:32       ` Jan Engelhardt
2011-10-13 13:08         ` Michal Kubeček
2011-10-13 19:59 ` fuzzy_4711

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201110130910.33120.mkubecek@suse.cz \
    --to=mkubecek@suse.cz \
    --cc=netfilter@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox