是否可以根据使用时长或数据流量为特定网站创建每日配额?

是否可以根据使用时长或数据流量为特定网站创建每日配额?

我想知道是否可以在路由器级别设置类似以下的一些规则;使用 iptables 或 ipset 或类似工具。(我在这方面经验不多,如果以下内容有点模糊,请见谅)

例如:我想在使用 30 分钟(或 200 MB 数据)后屏蔽 Twitter。每 24 小时重置一次计数器。(我不是在寻找基于时间表的规则,即从 18:00 到 20:00 屏蔽 Twitter)

我假设我必须通过手动计算来得出“会话”属性。是否可以通过使用防火墙记录与该特定网站相对应的流量,并使用 shell 脚本计算大致持续时间来完成此操作?有没有更简单的方法?

我理解有人评论说此用例不适合数据包级过滤。但我不清楚基于目标地址计算数据包与基于不良源地址过滤数据包的常规防火墙规则有何不同。

在其他项目中,上下文:dd-wrt ​​论坛中提出了一些使用 ipset 计数器的可能(但不是最佳)方法。squid-cache 项目中也有一些关于类似配额功能计划的文档存根 [wiki.squid-cache.org/Features/Quota]

PS:有浏览器扩展(stayfocused、leechblock)可以在应用程序级别执行此操作,但我想在路由器/防火墙级别实现此操作,因为没有适用于我所有设备的开源解决方案。

答案1

根据问题的评论,ubuntu 中没有现成的解决方案可以做到这一点。

相关内容