我想在iptables中对每个源IP执行速率限制.例如,将主机可以建立新SSH连接的速率限制为每分钟5次.据我所知,有两种方法可以做到这一点:
使用hashlimit模块
iptables -A INPUT -p tcp --dport 22 -m state --state NEW \ -m hashlimit --hashlimit-name SSH --hashlimit-above 5/min \ --hashlimit-mode srcip -j REJECT iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
随着最近的模块
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent \ --rcheck --seconds 60 --hitcount 5 --name SSH --rsource -j REJECT iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW \ -m recent --set --name SSH --rsource -j ACCEPT
我的问题:
>这两者的表现有什么不同?
>重视绩效,哪一个更好?
>使用这两个模块有明显的缺点吗?