我search了一会儿,但没有find具体的东西,希望有人能帮助我。
我将在千兆位端口上运行Debian服务器,并希望为每个用户提供公平的互联网访问份额。
第一个目标很简单 – 每个用户的传输速度(速度)。 从我看过的,IPTables / Shorewall可以轻松完成工作。 这是很容易设置,或者你们中的一个可以指向我的configuration? 我希望限制用户每个300mbit或650mbit。
第二个目标变得复杂。 由于使用框,大多数stream量将是内部networkingstream量,不计入配额。 但是,我仍然需要限制外部stream量,如果超过,请切断访问(或将stream量限制在非常低的速度(10mbit?))。 假设用户有3TB的外部stream量限制。 IF部分是:如果他们正在交换stream量的主机名不匹配.ovh。 或.kimsufi。 (公司拥有多个顶级域名),计入配额。 一旦所说的配额超过3TB,就呛死它们。
我在哪里可以find一个系统来为我计算? 它也需要重置或能够每月手动重置。
谢谢提前!
看看tc。 (man tc)
你的第一个问题是唯一标识每个“用户”。
每个用户会使用不同的IP吗? 如果是这样,tc会让你公平地分享接口,并分配每个IP的可用资源。
你的第二个目标是更棘手的。 在我看来,像是在谈论Web服务器上的多个虚拟主机。 您可以批量处理日志(每小时左右)跟踪vhost传输的总字节数,然后使用tc来“扼住”IP。
区分本地stream量和远程stream量应该可以使用tc进行pipe理,只要您事先知道所有内部子网。
祝你好运。
我build议看看你的networking硬件(交换机)为每个端口设置可用带宽。
为了限制使用的外部带宽,你可能想看看像pfsense和它的强制门户。
干杯
iptables有一些基于用户的过滤。 看看: http : //www.cyberciti.biz/tips/block-outgoing-network-access-for-a-single-user-from-my-server-using-iptables.html