linux – 如何限制每用户带宽?

总结一下:
我有一个专门的服务器,有几个朋友用web gui运行一个torrent客户端.每个用户在服务器上以用户名运行客户端,因此下载到用户目录中,只有他们可以访问自己的文件等.

如何监控和限制每个用户每月的带宽?

我当时认为必须有一种使用iptables的方法.并且通过监视用户X的所有进程使用的带宽.如果他们使用了超过他们每月允许的Y GB带宽,他们会收到一条消息,说明他们的torrent客户端被阻止,或者客户端被完全杀死.我也考虑过鱿鱼,但看到它会使用多个torrent客户端,这可能会使用大量的服务器资源……

我正在使用debian lenny.

我不知道怎么做…

这有可能吗?我很感激甚至只是部分解决这个问题……

解决方法

您可以使用’tc’流量整形命令.

给你的每个朋友一个不同的端口用于BitTorrent.使用每个端口的iptables标记TCP数据包.

iptables -t mangle -A FORWARD -p tcp --sport 6881 -j MARK --set-mark 100
iptables -t mangle -A FORWARD -p tcp --dport 6881 -j MARK --set-mark 100

然后使用tc命令为每个用户设置最大带宽和速率.

在月末,您可以删除添加’tc’命令以重置计数.

您可以通过以下方式监控每个用户的使

tc filter show dev ethX

如果你使用Debian安装shorewall,它可以很容易地进行流量整形而不会弄乱iptables.您只需在/ etc / shorewall目录中编辑tcdevices,tcclasses和tcrules.更多信息:http://www.shorewall.net/traffic_shaping.htm

正如对方建议的那样,用户名标记数据包可能比通过端口更好,这样可以在不更新iptables的情况下更改端口.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...