iptables利用connlimit模块限制同一IP连接数[connlimit模块]

2018/10 30 11:10

iptables利用connlimit模块限制同一IP连接数

 

connlimit功能:
connlimit模块允许你限制每个客户端IP的并发连接数,即每个IP同时连接到一个服务器个数。
connlimit模块主要可以限制内网用户的网络使用,对服务器而言则可以限制每个IP发起的连接数。

connlimit参数:
--connlimit-above n    #限制为多少个
--connlimit-mask n     #这组主机的掩码,默认是connlimit-mask 32 ,即每个IP.

例子:
限制同一IP同时最多100个http连接


iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT
或
iptables -I INPUT -p tcp --syn --dport 80 -m connlimit ! --connlimit-above 100 -j ACCEPT

只允许每组C类IP同时100个http连接

iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 --connlimit-mask 24 -j REJECT

只允许每个IP同时5个80端口转发,超过的丢弃

iptables -I FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j DROP

限制某IP最多同时100个http连接

iptables -A INPUT -s 222.222.222.222 -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT

限制每IP在一定的时间(比如60秒)内允许新建立最多100个http连接数

iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 100 -j REJECT
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT

原文链接:iptables利用connlimit模块限制同一IP连接数,转载请注明来源!

--转载请注明: http://91o.cc/iptables%e5%88%a9%e7%94%a8connlimit%e6%a8%a1%e5%9d%97%e9%99%90%e5%88%b6%e5%90%8c%e4%b8%80ip%e8%bf%9e%e6%8e%a5%e6%95%b0connlimit%e6%a8%a1%e5%9d%97/

作者 - 分类 未分类

发表回复

(必填)