iptables限制连接数
2013-04-12 00:53
225 查看
最近不停地被 CC (DDOS的一种)频繁干扰,分享一个 iptables 屏蔽 DDOS 的脚本。
让 crond 每分钟运行一次。
这里介绍三种限制方式
1、限制局域网内每个用户的连接数为50
iptables -I FORWARD -p tcp -m connlimit –connlimit-above 50 -j REJECT
2、限制指定局域网用户XXX.XXX.XXX.XXX的连接数为50 (这里的XXX.XXX.XXX.XXX改成大家要限制的用户的IP)
iptables -I FORWARD -p tcp -s XXX.XXX.XXX.XXX -m connlimit –connlimit-above 50 -j REJECT
这里举个例子,比如要限制192.168.1.2这个用户的连接数为50
iptables -I FORWARD -p tcp -s 192.168.1.2 -m connlimit –connlimit-above 50 -j REJECT
3、限制除用户XXX.XXX.XXX.XXX以外的IP连接数为50 (也就是除了XXX.XXX.XXX.XXX用户不限制其它的都限,这个好吧,可以给自己开特权^_^)
iptables -I FORWARD -p tcp -s !XXX.XXX.XXX.XXX -m connlimit –connlimit-above 50 -j REJECT
这里也举个例子,比如要除了不限制192.168.1.2外,限制其它所有用户的连接数为50
iptables -I FORWARD -p tcp -s !192.168.1.2 -m connlimit –connlimit-above 50 -j REJECT
让 crond 每分钟运行一次。
############### KILL DDOS ############## iptables_log="/data/logs/iptables_conf.log" ### Iptables 配置导出的路径,可任意修改 ### ######################################## status=`netstat -na|awk '$5 ~ /[0-9]+:[0-9]+/ {print $5}'|awk -F ":" -- '{print $1}' |sort -n|uniq -c |sort -n|tail -n 1|grep -v 127.0.0.1` NUM=`echo $status|awk '{print $1}'` IP=`echo $status|awk '{print $2}'` result=`echo "$NUM > 200" | bc` ### 如果同时连接数大于 200 则干掉!### if [ $result = 1 ] then echo IP:$IP is over $NUM, BAN IT! /sbin/iptables -I INPUT -s $IP -j DROP fi ######################################## iptables-save > ${iptables_log} ### 输出当前的 iptable 配置作为日志 ### ########################################
这里介绍三种限制方式
1、限制局域网内每个用户的连接数为50
iptables -I FORWARD -p tcp -m connlimit –connlimit-above 50 -j REJECT
2、限制指定局域网用户XXX.XXX.XXX.XXX的连接数为50 (这里的XXX.XXX.XXX.XXX改成大家要限制的用户的IP)
iptables -I FORWARD -p tcp -s XXX.XXX.XXX.XXX -m connlimit –connlimit-above 50 -j REJECT
这里举个例子,比如要限制192.168.1.2这个用户的连接数为50
iptables -I FORWARD -p tcp -s 192.168.1.2 -m connlimit –connlimit-above 50 -j REJECT
3、限制除用户XXX.XXX.XXX.XXX以外的IP连接数为50 (也就是除了XXX.XXX.XXX.XXX用户不限制其它的都限,这个好吧,可以给自己开特权^_^)
iptables -I FORWARD -p tcp -s !XXX.XXX.XXX.XXX -m connlimit –connlimit-above 50 -j REJECT
这里也举个例子,比如要除了不限制192.168.1.2外,限制其它所有用户的连接数为50
iptables -I FORWARD -p tcp -s !192.168.1.2 -m connlimit –connlimit-above 50 -j REJECT
相关文章推荐
- iptables利用connlimit模块限制同一IP连接数
- 通过iptables限制端口连接数
- 备忘:iptables recent模块限制连接数中的问题
- linux中Iptables限制同一IP连接数防CC/DDOS***方法
- iptables限制同一IP连接数
- iptables 限制指定ip的连接数
- 通过iptables限制sftp端口连接数
- centos 的单ip流量控制-CentOS下利用iptables限速及限制每IP连接数
- 嵌入式 使用iptables限制同一ip的连接数
- linux中Iptables限制同一IP连接数防CC/DDOS攻击方法
- iptables限制同一IP连接数
- IPTABLES可以限制每个ip的最大连接数
- linux中Iptables限制同一IP连接数防CC/DDOS攻击方法
- iptables限制同一IP连接数
- iptables限制某个端口的连接数
- iptables限制同一IP连接数
- nginx限速之连接数限制技巧分享
- Linux下通过iptables配置工具限制ip访问服务器
- PF最牛的两本书和限制连接数和新连接的速率的方法[转]
- iptables按时间限制访问的讲解