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

前端之家收集整理的这篇文章主要介绍了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的情况下更改端口.

猜你在找的Linux相关文章