我已经搜索了几天但还是找不到解决我的问题的方法。
我有一个运行 Debian 7 的 VPS,并且具有 root 访问权限。
我正在尝试添加一些流量整形(使用 HTB),因此我尝试输入的第一行是这样的:
tc qdisc add dev tun0 root handle 1: htb default 10
但不知何故它似乎是错误的,因为我收到以下错误:
RTNETLINK answers: No such file or directory
我的 ifconfig 显示接口 tun0,所以它存在。我也尝试了 venet0,但失败并出现相同的错误。
当我这样做时,tc qdisc list
我只有以下规则:
qdisc pfifo_fast 0: dev tun0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
我实在找不到问题所在。
注意:我升级了 iproute 软件包(根据 Debian 的文档,它位于 tc 所在的位置),但情况并没有任何改善。
答案1
RTNETLINK answers: No such file or directory
这是 tc 表示找不到某个东西的方式 - 在这种情况下:很可能是 htb 调度程序。要测试并确保尝试
modprobe sch_htb
您可能会收到错误。
这可能意味着您的 VPS 提供商没有使用来自 Debian 上游的默认内核。他们通常会为您提供一个内核列表供您选择,但我希望所有内核都像正在运行的内核一样被禁用。您将无法更改他们正在使用的内核,但有可能(虽然不是很大)他们没有禁用内核中的模块加载。在这种情况下,您可以尝试构建和安装 htb 模块。您可以尝试使用模块助理为了那个原因。
如果其他方法都失败了,请联系客户支持。