先设置下iptables规则 编辑iptalbes.sh #!/bin/bash /sbin/iptables -F /sbin/iptables -P INPUT DROP /sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 3306 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT exit 0 /sbin/iptables-save 加上执行权限 ./iptables.sh
编辑ddos.sh #!/bin/bash while [ 1 ] do for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 > 10) {print $2}}' ` do echo $i >> /tmp/banip /sbin/iptables -A INPUT -p tcp -j DROP -s $i done sleep 10 done
给ddos.sh加上执行权限 ./ddos.sh & 即可 |