![为互联网代理(squid)用户设置每月数据限制](https://linux22.com/image/71394/%E4%B8%BA%E4%BA%92%E8%81%94%E7%BD%91%E4%BB%A3%E7%90%86%EF%BC%88squid%EF%BC%89%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE%E6%AF%8F%E6%9C%88%E6%95%B0%E6%8D%AE%E9%99%90%E5%88%B6.png)
我们在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 集成并控制流量。