Squid代理服务器:限制总带宽

我们有一个非常漂亮的鱿鱼代理人,他们两人的工作都很好。 有没有简单的方法来限制总带宽的使用? 我想将鱿鱼用户上网的最大数量设置为1200,因为我们的总带宽是2000,我需要其他服务来确保其他服务如voip在没有与我们的“互联网端”上的大量下载相关的打嗝的情况下工作连接和类似的问题。 我的意思是一个总的鱿鱼带宽限制,而不是一个基于用户的。

公平感谢大家。

你可以设置规则,如下所示:

tc qdisc del dev eth0 root tc qdisc add dev eth0 root handle 1: htb default 1 r2q 160 tc class add dev eth0 parent 1: classid 1:1 htb rate 2000kbit burst 1k tc class add dev eth0 parent 1:1 classid 1:2 htb rate 2000kbit ceil 2000kbit burst 1k tc class add dev eth0 parent 1:1 classid 1:3 htb rate 1200kbit ceil 1200kbit burst 1k tc qdisc add dev eth0 parent 1:2 handle 2: sfq perturb 10 tc qdisc add dev eth0 parent 1:3 handle 3: sfq perturb 10 

然后你可以使用iptables将数据包分类到这些类中:

 iptables -t mangle -A POSTROUTING -o eth0 --set-class 1:2 iptables -t mangle -A POSTROUTING -o eth0 -m tcp -p tcp --dport 80 -j CLASSIFY --set-class 1:3 

请注意,这是设置类的最后一个匹配规则,当一个规则匹配时它不会短路。 这让我花了一段时间。

是的,可以限制Squid的总带宽。 比如说,512 Kbps?
将以下内容添加到/etc/squid3/squid.conf

 delay_pools 1 delay_class 1 1 delay_access 1 allow all delay_parameters 1 64000/64000 # 512 kbits == 64 kbytes per second 

在更改configuration文件后,更改运行的squid运行实例
sudo squid3 -k reconfigure

参考
DelayPools
带宽限制-HOWTO