Linux 如何使用tc限制网络速度?

Linux 如何使用tc限制网络速度?,linux,netfilter,trafficshaping,Linux,Netfilter,Trafficshaping,我有三台机器:客户机、服务器和代理。在client1.1.1.1上我有一个简单的脚本,它使用wget,在server2.2.2.1上我有apache。在代理机器上,我想用tc来限制速度。在代理机器上,我有两个接口eth01.1.1.2连接到客户端,eth12.2.2.2连接到服务器 我尝试添加此规则,但它们不起作用: tc qdisc add dev eth1 root handle 1: cbq avpkt 1000 bandwidth 10mbit tc class add dev eth

我有三台机器:客户机、服务器和代理。在client1.1.1.1上我有一个简单的脚本,它使用wget,在server2.2.2.1上我有apache。在代理机器上,我想用tc来限制速度。在代理机器上,我有两个接口eth01.1.1.2连接到客户端,eth12.2.2.2连接到服务器

我尝试添加此规则,但它们不起作用:

tc qdisc add dev eth1 root handle 1: cbq avpkt 1000 bandwidth 10mbit 
tc class add dev eth1 parent 1: classid 1:1 cbq rate 1mbit \
allot 1500 prio 5 bounded isolated 
tc filter add dev eth1 parent 1: protocol ip prio 16 u32 \
match ip dst 1.1.1.1 flowid 1:1

找到了答案。这是我的剧本:

#!/bin/bash
set -x

tc qdisc del dev eth0 root
tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth 100mbit

tc class add dev eth0 parent 1: classid 1:1 cbq rate 1mbps \
   allot 1500 prio 5 bounded isolated

tc filter add dev eth0 parent 1: protocol ip prio 16 u32 \
   match ip dst 1.1.1.1 flowid 1:1