HTBstream量整形每IP – Ubuntu服务器

我在尝试之前尽力而为,但努力奋斗。

我运行的是10.04 ubuntu服务器,它有一个fast-ish 8驱动器Raid5arrays,这里有许多samba共享点。

这台机器只能用作近线samba文件服务器。

文件被摄入到这里,然后整合到networking上的另一台服务器上进行实时访问,所以我需要实施一些stream量整形。

我的目标是阻止每个客户端使用超过200Mbps的千兆比特pipe道到交换机。

到目前为止,我已经设法与HTB做到这一点,但是我碰到了一堵砖墙。

使用下面的命令,我可以节制stream量离开接口,但我想雕刻每个客户端200mbitpipe道,而不是将接口的总stream量限制为200mbit。

sudo /sbin/tc qdisc del dev eth1 root sudo /sbin/tc qdisc add dev eth1 root handle 1:0 htb default 10 sudo /sbin/tc class add dev eth1 parent 1:0 classid 1:10 htb rate 200mbps ceil 200mbps prio 0 sudo tc filter add dev eth1 parent 1:0 prio 0 protocol ip handle 10 fw flowid 1:10 

任何人都可以帮忙吗?

我知道有一种方法可以用Shorewall做到这一点,但是所需的内核扩展并不存在于标准的ubuntu内核中 – 我找不到任何有关修补的信息来实现所需的function。

我不是一个networkingpipe理员,实际上是我的盘子上太多的电影技术人员。

任何想法不胜感激。

为了每个IP有一个200M的限制,你必须添加一个类和IPfilter; 我希望我的记忆力很好:

 tc qdisc add dev eth0 root handle 1: htb for (( i = 2 ; i <= 10; i++ )) do tc class add dev eth0 parent 1:0 classid 1:$i htb rate 200Mbps tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 1.2.3.$i flowid 1:$i done 

你也可以使用htb工具,因为它更容易理解。