设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 2237|回复: 1

iptables Linux下每ip连接数限制方法介绍 connlimit模块详解

[复制链接]
 成长值: 252

签到天数: 4709 天

[LV.Master]伴坛终老

发表于 2018/1/10 03:04 | 显示全部楼层 |阅读模式 |Google Chrome 63.0.3239.132|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
  1. iptables -A INPUT -p tcp --dport 22 --syn -m connlimit --connlimit-above 10 --connlimit-mask 0 -j DROP
复制代码

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

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

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

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

限制与80端口连接的每IP最大连接数为50,可自定义修改。
  1. iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 50 -j DROP
复制代码


使用recent模块限制同时间内IP的新请求连接数。
下面策略表示:60秒最多通过10个新连接,超过丢弃数据包
  1. iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
复制代码


评分

参与人数 1樱币 +2 收起 理由
仁二 + 2 我最近刚刚学会用recent

查看全部评分

[发帖际遇]: 一个袋子砸在了 小樱 头上,小樱 赚了 4 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

签到天数: 17 天

[LV.4]偶尔看看III

发表于 2019/11/28 01:09 | 显示全部楼层 |Google Chrome 59.0.3071.109|Windows 10
connlimit-above 限制每个IP并发数量
recent 限制每个IP一定时间内的请求数量 (要先给流量打上--set标记 才会生效哦)
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/25 17:42 , Processed in 0.109411 second(s), 21 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表