Linux tcを使用して帯域幅制限を設定する方法

Linux tcを使用して帯域幅制限を設定する方法

私のLinuxルーターでは:

  1. インターフェイスeth1の総帯域幅は1gbitです。
  2. 1140kbitをGroupAに、150kbitをGroupBに分けたい。
  3. ユーザー10.10.10.158、10.10.21.5、10.10.21.6をグループBに設定
  4. ユーザーあたりの帯域幅は128kbitを超えません。
  5. そして、3人のユーザーの総帯域幅は150kbitを超えません。

私が設定した内容は次のとおりです。

sudo tc qdisc del dev eth1 root 2>/dev/null

sudo tc qdisc add dev eth1 root handle 1: htb default 2
sudo tc class add dev eth1 parent 1: classid 1:1 htb rate 1gbit ceil 1gbit
sudo tc class add dev eth1 parent 1:1 classid 1:2 htb rate 10kbps ceil 10kbps

sudo tc class add dev eth1 parent 1:1 classid 1:10 htb rate 1140kbit ceil 1140kbit
sudo tc class add dev eth1 parent 1:1 classid 1:20 htb rate 128kbit ceil 128kbit

sudo tc class add dev eth1 parent 1:20 classid 1:21 htb rate 128kbit ceil 128kbit
sudo tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 10.10.10.158/32 flowid 1:21

sudo tc class add dev eth1 parent 1:20 classid 1:22 htb rate 128kbit ceil 128kbit
sudo tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 10.10.21.5/32 flowid 1:22

sudo tc class add dev eth1 parent 1:20 classid 1:23 htb rate 128kbit ceil 128kbit
sudo tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 10.10.21.6/32 flowid 1:23

しかし、3人のユーザーの総帯域幅は約376kbitであることがわかりました。目標を達成するにはどうすればよいですか?

関連情報