squid限速问题
请教各位大虾,squid中如何进行限速啊?好像有delay_pools命令
谁能给一个具体的例子啊
谢谢! 多看看注释就懂了,下面的例子,限速每IP 200KB/s ,5MB触发
#TAG: delay_pools
delay_pools 1
#TAG: delay_class
delay_class 1 3
#TAG: delay_parameters
delay_parameters 1 -1/-1 -1/-1 204800/5120000
#TAG: delay_access
delay_access 1 allow all
delay_access 1 deny all 谢谢,已经解决
但是其实delay_pools的功能好像更大
没例子的那么简单 要实现限制网速的功能,你得重新编译squid,激活-enable-delay-pools选项 。方法如下:
1、下载squid源码 (到官方网站)
2、编译squid
1)安装 gccmake
2)准备编译,即配置源码中的configure
#cd 源码目录
#chmod a+x ./configure
#./configure -prefix=/usr -localstatedir=/var -libexecdir=${prefix}/lib/squid -datadir=${prefix}/share/squid -sysconfdir=/etc/squid -enable-delay-pools -enable-snmp -enable-cache-digests -enable-basic-auth-helpers=NCSA -enable-external-acl-helpers=wbinfo_group -enable-external-acl-helpers=winbind_group -enable-ntlm-auth-helpers=SMB
这是我的服务器的配置,你可以根据你的情况来选择激活那些选项。
3)编译并安装
#make
#make install
4)配置squid.conf
添加以下行:
delay_pools 1
delay_class 1 1
delay_access 1 allow all
delay_parameters 1 50000/50000 # 限制网速在50K以内
delay_initial_bucket_level 50
以上仅是为了实现限制网速而添加的配置,实际的配置就不说了。
5)启动squid
#squid 请教一下: 那么这个有怎么来用呢
delay class B 2 delay_parameters B 7000/150003000/4000
delay class C 3 delay_parameters c 7000/15000 3000/4000 1000/2000
delay class D 4 delay_parameters D 32000/32000 8000/8000 600/64000 16000/16000
楼上的都只给出了delay class 1 1的例子
如果我现在定义delay pools 4 delay A 1delay class B 2delay class c 3delay class D 4 如我上面写的一样
那又该对其中的数字怎么解释呢
谢谢! 回复 1# haoyu323
我看你对squid很有研究,我最近也在研究这个,由些问题想请教一下
本帖最后由 woxizishen 于 2015-09-14 11:11 编辑
回复 6# haoyu323
楼主也是个爱钻牛角尖的人,不过我到是研究够,不过你看完内容,你有种想撞墙的感觉,因为你用的这种就够了。另外我研究的版本class类型直到3,你的版本比较牛到4了。
delay_pools 1 定义有几个容器(简单的说就是要同时设定几个限制带宽策略)
delay_class 1 1 第一个1 就是容器1,第二个1就是CLASS类型,这里是类型1
这里要特别注意的是Class类型
Class类型有三种(红色标注的):
delay_class 1 1
delay_class 1 2
delay_class 1 3
1 按照官方解释是代表host即单个ip总带宽,通常也是限制带宽经常用的一种类型,后面2和3类型比较少人使用。
CLASS 2 的类型是给C类网络的每一个用户带宽做限定,他有2个带宽数值参数,如下所示:
delay_parameters 1 -1/-1 64000/64000
-1代表不限制,-1/-1那就是代表不对带宽做任何限制
所以第一个带宽参数也就是整个C类网络的带宽,是不限制的,但是第二个参数64000/64000,是对整个C类网络的每一个用户的单一带宽进行限定为64000bit/s 即62.4kb/s
CLASS 3是给一个B类网络当中每个C类网络中的每一个ip的带宽流量做限定
delay_parameters 1 -1/-1 -1/-1 64000/64000
第一个-1/-1意思是整个B类网络带宽不做带宽限定
第二个-1/-1意思是B类网络当中的每一个C类网络的总带宽不做带宽限定
第三个64000/64000意思是对每个C类网络当中的每一个ip做了62.4kb的带宽限定。
当然不要被官方解释给误解了,认为1类型只能限制某个单台主机,这个1实质就是说,你要给那些规则名称即上面的all做带宽限定,然后给这个all当中的每个人一个平均理论值的最小带宽和一个最大带宽(每个人加总的带宽要小于这个最大带宽),当然如果使用总带宽超过最大带宽的时候,那么squid就会开始协调限定带宽,不让它超过最大带宽,实质上这个时候每个人的实质最小带宽肯定要小于平均理论值。
上面讲了一堆废话,你可以简单理解就是,要在企业做带宽限定实质就用第一种类型即1就够用了,我们本来要的效果就是对企业用户每个人最小带宽做限定,然后对他们所有人的最大带宽做限定。
页:
[1]