我想限制接口 eth1 的带宽,我读取命令此链接。
sudo tc qdisc add dev eth1 root handle 1:0 htb default 10
sudo tc class add dev eth1 parent 1:0 classid 1:10 htb rate 200kbps ceil 200kbps
运行良好(下载速度 ~ 200 kb/s)。当我添加 1 条命令时,我认为下载速度将达到 ~ 170 kb/s,但事实并非如此(下载速度 ~ 500 kb/s)。
sudo tc qdisc add dev eth1 root handle 1:0 htb default 10
sudo tc class add dev eth1 parent 1:0 classid 1:10 htb rate 200kbps ceil 200kbps
sudo tc class add dev eth1 parent 1:10 classid 1:100 htb rate 170kbps ceil 170kbps
有人能帮帮我吗?非常感谢!
答案1
您指定了两个类别/速度。这是您想要的吗?您没有解释为什么要设置这些值。您需要 iptables 规则来配合这些规则,但您没有提及这些。
http://www.cyberciti.biz/faq/linux-traffic-shaping-using-tc-to-control-http-traffic/
定义一个具有限制的类,即将端口 80 的允许带宽设置为 512 千字节,突发带宽设置为 640 千字节:
# /sbin/tc class add dev eth1 parent 1:0 classid 1:10 htb rate 512kbps ceil 640kbps prio 0
请注意,端口 80 未在上述类的任何地方定义。您将使用 iptables mangle 规则,如下所示:
# /sbin/iptables -A OUTPUT -t mangle -p tcp --sport 80 -j MARK --set-mark 10