iptables 限制连接数

上面限制端口连接数主要用到的模块是connlimit。
-A INPUT -p tcp –syn –dport 22 -m connlimit –connlimit-above 50 –connlimit-mask 0 -j DROP



说明输入的目标端口是22,也就是访问sftp本机22端口的流量,如果连接数大于50,则DROP流量,connlimit-above这个是连接数的统计,
如果大于50就满足条件,connlimit-mask这个是定义那组主机,此处跟的一个数值是网络位,即子网掩码,也就是connlimit-mask 0 这个ip组的连接数大于connlimit-above 50则DROP掉!



总体描述为流量过滤端口和连接数以及网络位,如果满足第一条,则拒绝,流量不再匹配下边的规则,如果不匹配,则第二条规则会允许流量。
–connlimit-mask 0 即子网掩码为0,表示所有的ip,也就是说不管什么ip,只要连接此服务器的22端口超过3个,则DROP。



如果将–connlimit-mask 0去掉,则子网掩码默认是32,也就是说某个ip连接此服务器的22端口超哥50个,则DROP掉!
如果有51台机器,每台机器连接一个,则不会被DROP掉!



也就是说connlimit-above 3这个的数量所限制的区域是由–connlimit-mask 0而定!

https://www.linuxprobe.com/iptables-linux.html



限制与80端口连接的IP最大连接数为20,可自定义修改。



iptables -I INPUT -p tcp –dport 80 -m connlimit –connlimit-above 20 -j DROP



或者在/etc/syscnfig/iptables加入:



-A INPUT -p tcp -m tcp –dport 80 -m connlimit –connlimit-above 20 –connlimit-mask 32 -j DROP
-A INPUT -p tcp -m tcp –dport 80 -m connlimit –connlimit-above 20 –connlimit-mask 32 -j REJECT –reject-with icmp-port-unreachable



http://www.fomore.net/os/iptables%E9%99%90%E5%88%B6%E5%8D%95ip80%E7%AB%AF%E5%8F%A3%E5%B9%B6%E5%8F%91%E6%95%B0/



https://qastack.cn/unix/139285/limit-max-connections-per-ip-address-and-new-connections-per-second-with-iptable



https://tlanyan.me/limit-concurrent-connections/



https://cloud.tencent.com/developer/article/1139849



https://blog.csdn.net/chengxuyuanyonghu/article/details/54409523



https://blog.csdn.net/joeyon1985/article/details/46445333



https://www.weiyixi.cn/index.php/archives/19/



http://www.178linux.com/15694



https://www.cnblogs.com/kevingrace/p/8082700.html


Category linux