我搜索了一段时间,但没有找到任何具体的东西,希望有人能帮助我。
我将在千兆端口上运行 Debian 服务器,并希望为每个用户提供公平的互联网访问权限。
第一个目标很简单 - 每个用户的传输速率(速度)。据我所知,IPTables/Shorewall 可以轻松完成这项工作。这个容易设置吗,或者你们能给我指点一下配置吗?我希望将每个用户的网速限制在 300mbit 或 650mbit。
第二个目标变得复杂了。由于使用了这些盒子,大多数流量将是内部网络流量,不会计入配额。但是,我仍然需要限制外部流量,如果超出,则切断访问(或将流量限制到非常低的速度(10mbit?))。假设用户的外部流量限制为 3TB。如果部分是:如果他们与之交换流量的主机名不匹配.ovh。或者.kimsufi。(公司拥有多个 TLD),计算配额。一旦所述配额超过 3TB,就将其扼杀。
哪里可以找到一个系统来帮我计算?它还需要每月重置或手动重置。
提前致谢!
答案1
看一下 tc。(man tc)
您的第一个问题是唯一地标识每个“用户”。
每个用户是否使用不同的 IP?如果是,tc 将允许您公平地共享接口并按 IP 划分可用资源。
您的第二个目标更加棘手。在我看来,您谈论的是 Web 服务器上的多个虚拟主机。您可以分批处理日志(大约每小时一次)以跟踪虚拟主机传输的总字节数,然后使用它通过 tc“扼杀” IP。
只要您提前了解所有内部子网,就可以使用 tc 来区分本地和远程流量。
祝你好运。
答案2
我建议查看您的网络硬件(交换机)以根据每个端口设置可用带宽。
为了限制使用的外部带宽,您可能需要查看 pfSense 及其强制门户之类的东西。
干杯