4

我想根据 Squid Server Proxy 上的用户活动来管理带宽和流量。

我做了一些研究,但找不到我想要的解决方案。

例如,流量超过 256K 的用户应该被限制访问服务器。

你能帮助我吗?

谢谢

4

1 回答 1

4

我假设鱿鱼3.x:

提供一种基于任何标准列表来限制某些请求的带宽的方法。

类: 延迟池的类决定了如何应用延迟,即不同的客户端 IP 是单独处理还是作为一个组处理(或两者都处理)

1 类: 1 类延迟池包含一个统一的存储桶,用于来自受该池约束的主机的所有请求

2 类: 一个 2 类延迟池包含一个统一的桶和 255 个桶,一个用于 8 位网络上的每个主机(IPv4 C 类)

第 3 类: 包含 255 个存储桶,用于 16 位网络中的子网,以及这些网络上每个主机的单独存储桶(IPv4 B 类)

第 4 类: 与第 3 类一样,但另外还有每个经过身份验证的用户的存储桶,每个用户一个。

第 5 类: 基于 http_access 中 external_acl_type 助手返回的标记值的自定义类。每个使用的标签值一个桶。

延迟池允许您限制客户端或客户端组的流量,具有各种功能:

  • 可以指定不受延迟池影响的对等主机,即本地对等或其他“免费”流量(使用无延迟对等选项)。

  • 延迟行为由 ACL 选择(低优先级和高优先级流量、员工与学生或学生与经过身份验证的学生等)。

  • 每组用户有若干个桶,一个桶有一个每秒进入的数量和它可以增长到的最大数量;当它达到零时,对象读取被推迟,直到对象的一个​​客户端有一些流量允许。
  • 可以使用给定的类配置任意数量的池,并且可以禁用池中的任何一组限制,例如,您可能只想使用类 3 的聚合和每个主机存储桶组,而不是每个网络的存储桶组。

在您的情况下,您可以使用:

For a class 4 delay pool:
        delay_pools pool 4
        delay_parameters pool aggregate network individual user

最后一个 delay_pool,可以在你的 squid 服务器代理中配置:

例如; 无论登录多少个工作站,每个用户都将被限制为 128Kbits/sec:

delay_pools 1
delay_class 1 2
delay_access 1 allow  all
delay_parameters 4 32000/32000 8000/8000 600/64000 16000/16000

请阅读更多:

http://wiki.squid-cache.org/Features/DelayPools

http://www.squid-cache.org/Doc/config/delay_parameters/

于 2014-03-20T03:27:53.503 回答