我目前正在研究 Linux 中的流量整形。我们有一个客户端连接到运行 nat 和 dhcp 的服务器。我们想要做的是限制客户端的上传和下载速度。
但是只有下载限制有效。
下载限制(脚本的一部分)正在运行
tc class add dev eth1 parent 1:1 classid 1:4 htb rate 30000kbit
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.0.101/32 flowid 1:4
上传限制(部分脚本)
tc class add dev eth1 parent 1:1 classid 1:4 htb rate 30000kbit
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.101/32 flowid 1:4
上传部分唯一改变的是“dst”改为“src”。问题是当我们用上传部分替换脚本的下载部分时,没有进行任何限制。这有什么问题吗
大卫·施瓦茨 (David Schwartz) 回答我后进行了编辑:
我使用的 qdisc 限制上传和下载。
tc qdisc add dev eth1 root handle 1: htb default 30
我现在正在添加 Qdisc
tc qdisc add dev eth1 ingress
答案1
如果下载限制有效,则它必须连接到出口 qdisc,因为它是出口规则。如果您将上传脚本附加到相同的 qdisc(如您的相同父语句所示),则意味着它也附加到出口 qdisc。这显然没有意义,因为它是入口限制。
另外,我很确定 htb 不是受支持的入口 qdisc。您可以粘贴您正在关注的文档的链接吗?