为互联网代理(squid)用户设置每月数据限制

为互联网代理(squid)用户设置每月数据限制

我们在linux box的办公环境中使用squid代理服务器(版本3.1.4)。我们总共有大约 20 位用户,所有用户都在一个网络中,我们的互联网套餐为 25GB/月。现在我们想要的是将每个用户限制在一定的大小假设 1GB/用户/月(如果更可配置的话会更好,比如说有些用户512MB,有些用户2GB),这样每个人都能获得平等的访问权限。

我在互联网上搜索了很多喜欢限制带宽, 或使用最大下载大小参数reply_body_max_size,延迟参数。但找不到我想要的。

有没有办法在鱿鱼或任何其他开源选项中做到这一点?

答案1

我也一直在努力添加此功能。挤压的问题在于,它挤压了不应该被挤压的用户。

我使用的解决方法是使用lightsquid存储在/var/lib/lightsquid/report/<date>/.total.由于lightsquid数据每 10 分钟更新一次,因此它也为我的鱿鱼设置提供了几乎“实时”配额功能的能力。

答案2

可能是通过鱿鱼会调用的自定义助手,比如说http://wiki.squid-cache.org/Features/Redirectors它查看客户端 IP,查询数据库以了解他们使用了多少带宽(可能是通过其他东西从鱿鱼日志中解析出来的),然后将它们重定向到一个抱歉的页面(如果超过了)。如果这样的代码还不存在,这可能需要大量编码。

答案3

根据鱿鱼维基页面,用户数据配额正在开发中(参见下面的链接)。

压扁可用于限制每个 IP 每月的数据量。 (使用鱿鱼)

功能/配额 - Squid Web Proxy Wikihttp://wiki.squid-cache.org/Features/Quota

答案4

如果您只想使用 SQUID,则可以使用 NFQUEUE。您可以先将所有流量重定向到 NFQEUE,并在用户空间编程中控制流量。然后您可以决定 DROP 或 或 转发到 SQUID (3128) 端口。您应该创建小型预付费收费系统。看看我的小文章为了这。

但我建议使用 RADIUS (dolaRadius) 解决方案来实现您的要求。可以将 SQUID 与 FreeRADIUS 集成并控制流量。

相关内容