随着DDOS的攻击成本越来越低,DDOS也变得越来越常态化,今天在HK的CDN节点遭遇4次DDOS攻击,正好借此契机,完善一下架构,目前博客已实现在被DDOS攻击后10S之内切换至高防服务器(OVH李家坡),届时速度可能会慢一点,慢一点无所谓,总比无法访问要强,并实现在攻击停止后10S内切换至HK CDN节点。
原理:检测CDN节点的nginx返回的状态码是否为200,如果为200,那么更新pdns的数据表中的域名A记录为CDN节点,如果不为200,更新pdns的数据表中的域名A记录到高防服务器IP。
实现脚本:
#!/bin/bash
USER="pdns"
PW="1"
while [ true ]; do
code1=`curl -I -m 5 -o /dev/null -s -w %{http_code} http://1.1.1.1:9090`;
if [ "$code1" != "200" ]; then
/usr/bin/mysql -u$USER -p$PW << EOF
use pdns;
update records set content='2.2.2.2' where id=11;
EOF
else
/usr/bin/mysql -u$USER -p$PW << EOF
use pdns;
update records set content='1.1.1.1' where id=11;
EOF
fi
/bin/sleep 5
done
###后台运行即可:
nohup /root/checkweb.sh 2>&1 > /dev/null &
加入重启后自动运行:@reboot nohup /root/checkweb.sh 2>&1 > /dev/null &
还没有任何评论,你来说两句吧