Iptables 阻止的连接会持续多长时间?有没有办法设置超时?

Iptables 阻止的连接会持续多长时间?有没有办法设置超时?
iptables -A INPUT -m state --state NEW -m recent --set                  # If we receive more than 10 connections in 10 seconds block our friend.
iptables -A INPUT -m state --state NEW -m recent --update --seconds 5  --hitcount 15 -j Log-N-Drop

我从 iptables 中获得了这两条相关规则。如果 5 秒内建立的连接超过 15 个,它会记录该尝试并阻止它。iptables 会将计数器维持多长时间?如果再次尝试连接,它会刷新吗?

答案1

如果五秒内建立了超过 15 个连接,则会拒绝这些连接,直到收到最后一个数据包五秒后为止。

答案2

您可以通过运行以下命令获取此模块的帮助iptables -m recent --help

与您的问题相关的主要选项是:

[!] --update                    Match if source address in list, also update last-seen time.

所以我的理解是,使用 --update 它会刷新,但你需要在删除之前进行更新。因此,如果是第一次,它将“过期”。作者页面也可能有帮助。如果有更多的 IP 进来,以下模块参数也会发挥作用:

ip_list_tot=100 ;每个表记住的地址数

编辑:老实说,仔细想想,我对所有可能的场景都有点困惑。我会通过使用 scapy 之类的工具为 fping 制作不同的源 IP 地址来对此进行大量测试。以下模块参数可能也会有所帮助:

debug=0 ; Set to 1 to get lots of debugging info

也许有人会有一个更好的答案,谁已经尝试过这些选项,抱歉 :-/

相关内容