网站利用腾讯云服务器使用kangle组建中间源实现无限防御抗DDOS攻击,就算真实源IP暴露也不怕,配合百度云加速CDN完美0误封抗CC攻击,0回源,最低成本不买高防
准备材料:
腾讯云服务器2台
服务器要求,建议使用广州地区,A跑源站,需要CPU,内存,硬盘等,网络使用公网1M即可(因可能需要ssh登录或者邮件发信用途)。
需要和A在同一个可用区域,B用来跑中间源,最低配置啥,网络要求看站点流量,不是非常大型的站点1-2M也即可。
高防无限抗DDOS,完美0误封抗CC攻击的CDN,这里强烈推荐百度云加速
好了,下面开始教程。
搭建好你自己的A服务器做网站,安装服务器安全狗进行设置,或者使用系统防火墙,只允许百度云加速IP段中的IP进行访问80端口。(这一步其实可以忽略,如果出现A服务器异常高负载在进行打开即可,源站被CC攻击的话,建议在安全组设置80,443端口关闭外部访问)
然后A服务器完全搭建完毕了,然后进行百度云加速网站添加域名,使用别名方式接入即可,接入IP填写A服务器的IP,成功接入后,点击配置选项,如下图,顺便一说那里的最大上传文件大小,就是最大可以缓存的单个文件大小,免费版是100MB的单文件,总缓存容量不限制,不会出现丢缓存现象,可以大量降低源的宽带。
然后点击安全分类
找到CC防护,打开强力防护,实现完美抗CC攻击的效果。(需要启用强力防护,CDN才会为网站清洗攻击流量)
设置自定义缓存规则,大量降低源的公网宽带使用率(把更多的东西缓存到CDN中)
到这里,已经可以大量防护DDOS攻击和完美防护CC攻击了,但是由于网站因素,容易暴露真实IP地址
如果你的网站源站IP暴露成为了DDOS攻击目标,导致CDN回源失败访问异常,那么我们就可以用帖子最前面的方法,来实现无限抗DDOS,完美防护。
现在用到我们的B服务器了,就是中间源,这里推荐安装kangle环境。
kangle源代码一键安装(不带虚拟主机控制面板,提供3311网页控制后台)
kangle跨平台的,支持debian和ubuntu,centos与windows等等操作系统,同时支持clang编译,有需要的可以自己尝试下并且分享教程。
yum -y install which file wget make automake gcc gcc-c++ pcre-devel zlib-devel openssl-devel sqlite-devel quota unzip bzip2 libaio-devel libjpeg-turbo libtiff libpng
ulimit -n 1048576
echo "* soft nofile 1048576" >> /etc/security/limits.conf
echo "* hard nofile 1048576" >> /etc/security/limits.conf
wget https://www.qfya.com/666666/sh/kangle-3.5.21.4.tar.gz -O kangle.tar.gz
tar xzf kangle.tar.gz
cd kangle-*
./configure --prefix=/vhs/kangle --enable-vh-limit --enable-disk-cache --enable-ipv6 --enable-ssl --enable-http2
make -j 4
make install
/vhs/kangle/bin/kangle
echo "/vhs/kangle/bin/kangle" >> /etc/rc.d/rc.local
通过浏览器打开,即可进入kangle web server网页控制后台管理:http://服务器ip地址:3311/
第一次进入输入 用户名admin,密码kangle,强烈建议第一次进入后修改管理后台的用户名和密码
kangle参数:下面的参数是添加在:/vhs/kangle/bin/kangle 后面
[-h --help] 可以看到详细的参数说明
[-d level] 调试运行程序
[-r --reload] 重新加载所有配置文件
[--revh] 重新加载etc/vh.xml文件(etc/vh.xml)
[--reboot] 平滑重起程序(原有程序会保证服务完客户),一般用来升级用的
[-z [disk_dir]] 建立硬盘cache目录
[-v --version] 查看程序版本
[-a apache_config_file] 转换的Apache配置
[-q] 关闭程序
[-n] start program not in daemon
如果发现无法打开,检查防火墙
linux下清空所有iptables 防火墙规则
将所有iptables以序号标记显示,执行:
iptables -L -n --line-numbers
清空命令:
iptables -t nat -F
iptables -t nat -X
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -F
iptables -X
iptables -P FORWARD ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t raw -F
iptables -t raw -X
iptables -t raw -P PREROUTING ACCEPT
iptables -t raw -P OUTPUT ACCEPT
service iptables save
在B服务器成功安装kangle后将打包下载文件里的config.xml文件进行如下编辑
搜索下面代码
<mark_host host='140.205.140.234' port='80' proxy='1' life_time='10'></mark_host>
将host中的IP填写你A服务器的内网IP地址(注意,是内网IP,如下图)
之后传到服务器覆盖文件,文件路径是:/vhs/kangle/etc/config.xml
磁盘缓存等教程看下方
格式化磁盘缓存目录,使用磁盘缓存功能,注,格式化的时候需要先关闭kangle
/vhs/kangle/bin/kangle -q
mkdir -p /var/cache/kangle
chmod -R 777 /var/cache/kangle
/vhs/kangle/bin/kangle -z /var/cache/kangle
/vhs/kangle/bin/kangle
需要https的话,把https文件放在/home/1.key和/home/1.crt,重载3311配置文件后即可自动开启https
然后,我们进入百度云加速后台,子域名管理,把指向IP改到B服务器的中间源公网IP地址即可。
到此,教程结束,已经成功实现了完美抗CC抗DDOS攻击,下面来两张效果图。
百度云加速成功完美拦截了一切CC攻击和DDOS攻击,当然,DDOS攻击你是看不到的,如果DDOS流量过大可能会被切到国外CF节点进行1TB高级清洗无限抗DDOS,当然,这时网站可能会有一点卡顿,因为CDN节点已经到国外了,但是为了最低成本防护攻击,这是最好的方案。(当然,专业版可以联系客服直接切回国内节点)
此时,正在被大量攻击的时候,我们的A服务器是非常正常的,网站也是各种秒开毫无延迟。
推荐:kangle上写内网ip,需要和源站同一个机房的机器,比如说两台广州腾讯云,此时就会有内网ip
测试方法:走公网的话,源站被DDOS了,就访问不到了,建议走内网IP,然后把源站IP打进黑洞,网站正常访问,内网的话是不受任何影响
为什么推荐百度云加速?
你用其他CDN也一样,免费里面国内的,我只推荐百度,付费的话可以有其他选择
如果CDN被DDOS打死会怎么样?
CDN被打死,,他们也就不用做CDN了,CDN而且节点多,就算被DDOS打死一个节点,也基本不会有影响,CDN提供商的客服员工,他们会负责处理这些DDOS攻击
暂无评论内容