iptables 是全局的还是用户 ip 特定的?

iptables 是全局的还是用户 ip 特定的?

例如,对于我的 Web 服务器端口,我有以下规则:

iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 1/m --limit-burst 15 -j ACCEPT #If you spam concurrently for 15 times ++ you'll be blocked for 1 minute ~ 

基本上,如果用户向浏览器上的刷新按钮发送垃圾邮件或按住 F5,它将阻止它们,直到完成剩余的 1/m 间隔。

我的问题是:当达到限制时,用户无法再连接。这是否意味着只有该用户无法连接,还是意味着其他人的 80 端口也已关闭?

答案1

每个人。limit比赛没有附加资格。

hashlimit匹配更加可配置。

iptables 扩展通过人 iptables

请注意,多个“用户”可以位于一个 IP 后面(NAT、http 代理、CGNAT)。

我不知道这里的最佳实践是什么。但这个实现听起来没什么用,因为 HTTP 支持持久连接。从这个角度来看,Apache mod_evasive 会更好。

如果你使用持久连接,您将立即被该限制阻止。这网站平均加载 100 个资源(!)

相关内容