加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:44:15 所属栏目:Linux 来源:网络整理
导读:总结一下: 我有一个专门的服务器,有几个朋友用web gui运行一个torrent客户端.每个用户在服务器上以用户名运行客户端,因此下载到用户目录中,只有他们可以访问自己的文件等. 如何监控和限制每个用户每月的带宽? 我当时认为必须有一种使用iptables的方法.并且
总结一下:
我有一个专门的服务器,有几个朋友用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的情况下更改端口.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读