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的情况下更改端口.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...