如何使用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设置为GroupB
  4. 每个用户的带宽不超过128kbit
  5. 并且三个用户的总带宽不超过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

然而,我发现三个用户的总带宽约为376kbit。我应该做什么来实现我的目标?

相关内容