您现在的位置: 首页linux+vps>正文
用mod_cband实现apache流量控制监测
2011年11月24日 linux+vps 评论数 1

最近这两个服务器流量不正常,前几个才50多G的流量,这俩月居然涨到了500G!前几天服务器差点被管理员停掉,仔细观察了下并不是有人在ddos,查看日志可能是由于部分网站被盗链导致的,于是乎搞了个防盗链脚本放在每个网站的目录下,情况稍微有所好转。
后来想了下,这样不行,得有个长治久安的办法才是,于是乎就开始找linux上可以用的流量控制软件,刚开始想用iptable防火墙对每个IP进行包过滤,后来一想这样会导致速度太慢了,google了一下,找到了mod_cband这个好东西。

简介:mod_cband是Apache2的一个模块,其功能是限制用户和虚拟主机的带宽。
官方网站:http://codee.pl/cband.html

一、安装mod_cband
#wget http://codee.pl/download/cband/mod-cband-0.9.7.5.tgz
#tar zxvf mod-cband-0.9.7.5.tgz
#cd mod-cband-0.9.7.5
#./configure --with-apxs=/usr/local/apache/bin/apxs 如果不能执行的话,可能是你的服务器没有安装apxs2工具包
#make && make install
#ls /usr/local/apache/modules/
mod_cband.so
#more /usr/local/apache/conf/httpd.conf
LoadModule cband_module modules/mod_cband.so

二、配置mod_cband
打开Apache配置文件,在配置文件末尾加入如下内容,如果有虚拟主机,可将其加入到虚拟主机配置内容中
#vi /usr/local/apache/conf/httpd.conf
CBandLimit 100M //限制本节点总访问带宽为100Mb
CBandSpeed 1024 10 30 //限制本节点的最大连接速度为1024kb,最大并发处理10个请求和30个连接数
CBandRemoteSpeed 20kb/s 5 3 //限制一个用户最大连接本节点为20kb,最大5个并发和3个连接数
CBandPeriod 4W //多久后对本节点限制进行重设,W=week


SetHandler cband-status //开启mod_cband全局检测功能,可通过http://servername/cband-status 进行查看


SetHandler cband-status-me //开启mod_cband单一检测功能,可通过http://servername/cband-status-me进行查看

三、测试
输入http://服务器IP/cband-status 可以查看到服务器每个网站当前的流量和访问情况

附:matrix现在服务器用的脚本

CBandUserLimit 10Gi
CBandUserSpeed 100kb/s 20 20
CBandUserExceededSpeed 20kb/s 10 10
CBandUserPeriod 4W


CBandUserLimit 100Gi
CBandUserSpeed 100kb/s 30 30
CBandUserExceededSpeed 30kb/s 10 10
CBandUserPeriod 4W

低端配置

CBandLimit 10Gi
CBandSpeed 1024 50 50
CBandRemoteSpeed 50kb/s 30 30
CBandExceededSpeed 20kb/s 10 10
CBandPeriod 2W

高端配置

CBandLimit 100Gi
CBandSpeed 1024 5000 10000
CBandRemoteSpeed 100kb/s 30 30
CBandExceededSpeed 20kb/s 10 10
CBandPeriod 2W

#测试用的

CBandLimit 10M
CBandSpeed 1024 10 10
CBandRemoteSpeed 10kb/s 3 3
CBandExceededURL http://www.0379danbao.com/404.html
#CBandExceededSpeed 10kb/s 1 1
CBandPeriod 2W

【上一篇文章】
【下一篇文章】

目前有 1 条留言 其中:访客:0 条, 博主:0 条 引用: 1

    给我留言