在 iptables 中使用不同于默认 1/秒的速率

在 iptables 中使用不同于默认 1/秒的速率

这段代码完美地完成了限制 syn 连接的任务,但第 4 行需要将其改为 1/5 秒,而不是 1/si,这是我正在进行的一项作业,需要防止 syn-flood 攻击

iptables -N syn_flood
iptables -A INPUT -p tcp --syn -j syn_flood
iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN
iptables -A syn_flood -j DROP

答案1

如果您真的认为每秒 1 个 syn 是“太多”的……那么您的服务器就存在一些严重的问题。话虽如此,最低限制limit是 1 秒。如果不重写该模块,您将无法实现每秒少于 1 个数据包。

老实说,如果您想每 1/5 秒获取 1 个数据包...为什么不简单地指定 5/s?(每秒 5 个数据包)这几乎是一回事。

如果您只是想限制每个主机的连接,请尝试使用connlimit而不是limit...或者hitcount限制每个 IP 的连接。

相关内容