总结一下:
我有一个专门的服务器,有几个朋友用web gui运行一个torrent客户端.每个用户在服务器上以用户名运行客户端,因此下载到用户目录中,只有他们可以访问自己的文件等.
我有一个专门的服务器,有几个朋友用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 filter show dev ethX
如果你使用Debian安装shorewall,它可以很容易地进行流量整形而不会弄乱iptables.您只需在/ etc / shorewall目录中编辑tcdevices,tcclasses和tcrules.更多信息:http://www.shorewall.net/traffic_shaping.htm