![状态中有许多连接,我如何才能防止出现更多# 号](https://linux22.com/image/655788/%E7%8A%B6%E6%80%81%E4%B8%AD%E6%9C%89%E8%AE%B8%E5%A4%9A%E8%BF%9E%E6%8E%A5%EF%BC%8C%E6%88%91%E5%A6%82%E4%BD%95%E6%89%8D%E8%83%BD%E9%98%B2%E6%AD%A2%E5%87%BA%E7%8E%B0%E6%9B%B4%E5%A4%9A%23%20%E5%8F%B7.png)
请通过此命令我知道每个 IP 的连接数:
netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1
有时每个 IP 的联系人数量会大大增加,
我想要一种方法来确定每个 IP 的联系人数量?
例如,不超过 20 个联系人?
CentOS 6.6
Apache 2.4
谢谢。
答案1
现在主题改变了,这成为了 iptables 的一个问题。
我目前使用的(过于简化的形式)是:
iptables -I INPUT -m tcp -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j LOG --log-prefix "DoS Filter(connlimit): "
iptables -I INPUT -m tcp -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 -j DROP
显然,你可能希望将上面的内容插入到你的 iptables 规则中的适当位置,并可能使用-A
而不是-I
。请咨询iptables 手册(特别是 connlimit 和 tcp 模块)了解更多信息