根据我的规则,我有类似的东西:
/sbin/iptables -A input -p TCP -m state --state NEW -d xx.xxx.xxx.xx --dport 80 -m limit --limit 20/minute --limit-burst 20 -j ACCEPT
它工作得很好,直到昨晚有人正在不停地打我的80号码头.根据规则正在删除连接(如日志中所示).但是,它也使服务器对其他合法用户也不可用.
我不明白为什么会这样.我认为除了充斥服务器的用户之外,它不会影响任何其他用户.
是因为iptables不堪重负吗?
任何反馈将不胜感激.
谢谢!
解决方法 您的规则似乎没有指定任何特定来源.在一分钟内接受20个新连接后,它将停止接受新连接.您需要使用最近的模块,以便iptables记住连接的来源,并阻止从同一地址连接太快的人.这需要两个规则:一个用于iptables以“学习”地址,另一个用于iptables以查看该地址在指定时间内到达服务器的次数:
/sbin/iptables -A input -p TCP -m state --state NEW -d xx.xxx.xxx.xx --dport 80 -m recent --set/sbin/iptables -A input -p TCP -m state --state NEW -d xx.xxx.xxx.xx --dport 80 -m recent --update --seconds 60 --hitcount 20 -j DROP
This article进入更多细节.
总结以上是内存溢出为你收集整理的linux – iptables速率限制模块问题全部内容,希望文章能够帮你解决linux – iptables速率限制模块问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)