netfilter.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* IPtables rate limiting question
@ 2024-10-25 15:19 Francisco Agostinho
  2024-10-25 18:12 ` Kerin Millar
  0 siblings, 1 reply; 10+ messages in thread
From: Francisco Agostinho @ 2024-10-25 15:19 UTC (permalink / raw)
  To: netfilter

Hello, I'm trying to implement a rate limiting for my machine using
iptables. The use case is to do 2 things:

1) block traffic from the same ip+port combination for 15 minutes if
it gets more than 10 hits per minute.

2) block traffic from the same ip for 30 minutes if it gets more than
80 hits per minute.

For this I'm currently using these rules:

1) -A PREROUTING -p tcp -m tcp -m state --state NEW -m hashlimit
--hashlimit-above 10/minute --hashlimit-burst 10 --hashlimit-mode
srcip,dstport --hashlimit-name test10 --hashlimit-htable-expire 900000
-j ACCEPT

2) -A PREROUTING -p tcp -m tcp -m state --state NEW -m hashlimit
--hashlimit-above 80/minute --hashlimit-burst 80 --hashlimit-mode
srcip --hashlimit-name test80 --hashlimit-htable-expire 1800000 -j
ACCEPT

But it's not quite working, as soon as it gets on the list, if you get
another hit the timer gets reset to the default expire time and it
gets blocked on the first try even if after the expire. So are there
any suggestions on how to achieve the use case or what i'm doing
wrong?

Thank you,
Francisco

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-10-31 12:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-25 15:19 IPtables rate limiting question Francisco Agostinho
2024-10-25 18:12 ` Kerin Millar
2024-10-25 20:13   ` Slavko
2024-10-25 21:37     ` Kerin Millar
2024-10-26 10:23       ` Reindl Harald
2024-10-26 11:05         ` Kerin Millar
2024-10-26 11:15           ` Reindl Harald
     [not found]   ` <CAMa3rT6WZXDaUhvfjmWL8+_Jun-2M4zGqr2U4OBig7Z7LrDpgQ@mail.gmail.com>
2024-10-31 12:15     ` Francisco Agostinho
2024-10-31 12:28       ` Reindl Harald
2024-10-31 12:20   ` Francisco Agostinho

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).