先设置下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 &
即可



没有原创,别人的东西改了一下