2024年4月7日发(作者:)
squid限制带宽
squid限制带宽
关于设定SQUID带宽限制和流量整形,刻利用种的delay_pools字
段来完成.
delaypools里的bucket就像是一个容器,而这个容器就是squid要控制带宽
用的,当容器到达所设定的容量时,这个容器的所有者就无法超过我们所设定的带
宽限制,所有的bucket则称之为unified bucket.
Class分为三种:
(1)Class 1:包含一个unified bucket,而这个bucket是给这个class里所定义的
host使用.
(2)Class 2:包含一个unified bucket和255个buckets,每一个bucket分配给
8bit网络的使用者(255 hosts)使用IPv4 class C).
(3)Class 3:包含255个buckets,每一个bucket分配给16bit网络的使用者
(65535 hosts)使用(IPv4 class B).
(1)Class1:containsasingleunifiedbucketwhichisusedforallrequestsfrom hosts
subject to the pool
如果ACL只定义一个classC字段,要限制每个host的单一带宽,可以使用
Class 2来做;但如果ACL有定义好几个class C字段,使用Class 3可再对各个
class C字段做个别的总带宽限制
delay_parameters语法:
class 1 delay pool;
delay_parameters pool total
class 2 delay pool;
1 / 7
delay_parameters pool tal per-host
class 3 delay pool;
每个delay_parameters的数值是由restore(byte/sec)/max(bytes)组成,restore
是表示以bytes/sec的速度下载object到bucket里,而max则表示bucket的
bytes值.
备注1:如果要设定为unilit speed的话,将数值设定为-1即可
定义ACL
delay_pools n #总共有几个delay_pools
delay_class n1 1 #第n1个delay_pool的种类是Class 1
delay_class n2 3 #第n2个delay_pool的种类是Class 3
delay_class n3 2 #第n3个delay_pool的种类是Class 2
delay_access n1 allow lan
delay_access n1 deny all #定义delay_pool n1的access rule定义delay_pool
n1的速度限制,依class的不同有不同的定义方式(请参照上面的说明)
[范例说明]
1.限制带宽为512 Kbps
delay_pools 1
delay_class 1 1
delay_access 1 allow all
2.限制单一的带宽为128 Kbps
delay_pools 1
delay_class 1 3
2 / 7


发布评论