iptables限制单个IP连接数
11 年 ago jony iptables限制单个IP连接数已关闭评论
限制与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
使用recent模块限制同IP时间内新请求连接数,recent更多功能请参考:Iptables模块recent应用。
| 代码如下 | 复制代码 |
| iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j LOG --log-prefix 'DDOS:' --log-ip-options #60秒10个新连接,超过记录日志。 iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP #60秒10个新连接,超过丢弃数据包。 iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --set -j ACCEPT #范围内允许通过。 |
|
iptables-save >/etc/sysconfig/iptables
其它:
#每秒钟最多允许100个新连接
/sbin/iptables -A INPUT -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
#防止ping洪水攻击,限制每秒的ping包不超过10个
/sbin/iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 10 -j ACCEPT
#防止各种端口扫描,将SYN及ACK SYN限制为每秒钟不超过200个,免得把数务器带宽耗尽了
/sbin/iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT
#放开指定主机的访问,比如是入侵检测的主机IP
#/sbin/iptables -A INPUT -s 122.70.x.x -j ACCEPT
https://www.cnblogs.com/cheyunhua/p/8151115.html