Proxy

Squid 代理伺服器:限制總頻寬

  • January 31, 2014

我們有一個很棒的 dansguardian 魷魚代理,用於過濾,它們都工作得很好。有沒有簡單的方法來限制總頻寬使用?我想將 squid 使用者網際網路使用的最大數量設置為 1200,因為我們的總頻段是 2000,我需要其餘的以確保其他服務(例如 voip)能夠正常工作,而不會出現與我們的“網際網路端”的大量下載相關的問題連接和類似問題。我的意思是總的 squid 頻寬限制,而不是基於使用者的。

非常感謝大家。

您可以使用以下規則設置整形:

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

請注意,它是設置類的最後一個匹配規則,當一個規則匹配時它不會短路。我花了一段時間才明白這一點。

引用自:https://serverfault.com/questions/209158