tc netem 可能缺失

tc netem 可能缺失

我有一个运行 Ubuntu 10.04 的 VPS,我想在上面模拟网络延迟。它看起来tc就是我想要使用的,我从此处的示例中提取了此命令:http://www.linuxfoundation.org/collaborate/workgroups/networking/netem

# tc qdisc add dev eth0 root netem delay 100ms

如果我运行此命令,我会收到以下错误消息:

$ sudo tc qdisc add dev eth0 root netem delay 100ms
RTNETLINK answers: No such file or directory

我怀疑我可能遗漏了使此命令起作用的任何东西。搜索让我相信可能需要内核模块,但我不确定。我lsmod在机器上运行了它,但结果为空。

所以,我很困惑。我该如何让模拟工作?

答案1

要检查netem模块是否确实安装,请运行:

modinfo sch_netem

您应该会看到有关其安装位置和其他详细信息的信息。如果您收到类似“modinfo:错误:未找到模块 sch_netem”的错误,则可能未安装,除非您刚刚安装了它,并且当前运行的内核与您安装它的内核不同 - 在这种情况下,只需重新启动,它就会显示出来。

在某些 Linux 发行版中,它netem似乎是作为正常安装的一部分安装的(例如 Ubuntu-20),但在其他发行版中,你需要将其作为额外软件包的一部分安装,例如 Centos

sudo yum install kernel-modules-extra

答案2

VPS 映像缺少“常规”安装中的内容(例如,在这种环境中通常不需要的许多命令)是很正常的。如果您需要其中没有的内容,请按照常规安装过程操作。

相关内容