我正在尝试使用 wondershaper 设置流量限制,使用看似教科书式的解决方案 --- wondershaper 脚本 --- 强烈推荐这里并描述这里。
这根本不能按预期工作。无论我输入什么限制,结果都是一样的:几乎完全阻止下游 HTTP 流量,以至于无法上网。这发生在三个不同位置/互联网设置的三台不同的 Ubuntu 14.04 机器上。
问题似乎出在负责监管下载流量的线路上,即仅运行 wondershaper 脚本的以下部分会导致同样的问题
########## downlink #############
# slow downloads down to somewhat less than the real speed to prevent
# queuing at our ISP. Tune to see how high you can set it.
# ISPs tend to have *huge* queues to make sure big downloads are fast
#
# attach ingress policer:
tc qdisc add dev $IFACE handle ffff: ingress
# filter *everything* to it (0.0.0.0/0), drop everything that's
# coming in too fast:
tc filter add dev $IFACE parent ffff: protocol ip prio 50 u32 match ip src \
0.0.0.0/0 police rate ${DSPEED}kbit burst 10k drop flowid :1
(此片段似乎直接复制自TC 食谱,所以我不知道它可能出了什么问题,但它肯定不起作用。)
我尝试调整过滤器的“突发”值和“速率”值,但无济于事。即使这些值非常高(100Mbit),流量也会变得非常慢。
值得注意的是,如果我仅运行 Wondershaper 的上游流量整形部分(从脚本中删除上面两行),它会运行良好,并且确实按预期限制(上游)流量。
编辑:我现在安装了 Fedora VM,问题也在那里发生,行为完全一样。要么是我忽略了一些非常简单的东西,要么这种看似民间传说的技术由于某种原因不再起作用了。