当我运行此cmd时:
tc qdisc add dev eth0 root red limit 51200000 min 128000 max 512000 avpkt 1024 burst 200 ecn probability 0.5
我得到了
RTNETLINK answers: No such file or directory
我已为netfilters
配置内核,并在menuconfig
中配置了所有网络选项。
我不明白为什么会出现这种错误。我正在使用iproute2-2.6.23
和Fedora 8。
这在我的笔记本电脑上工作正常,但在我的台式电脑上却没有?
答案 0 :(得分:0)
在我的系统上,您的命令会自动加载sch_red
模块。这个问题比较老,因此在现代系统上,如果您具有必需的模块,则自动加载应该可以正常工作。通过运行以下命令检查是否错过了内核模块:
modprobe sch_red
如果什么都不打印,请重试运行tc
命令,看看是否有帮助。
如果没有,请确保您的内核中已编译CONFIG_NET_SCH_RED
(随机早期检测)。 More info at kernel documentation。
答案 1 :(得分:0)
该错误可能是由于Linux内核中缺少对流量控制的支持所致。
以下是文档摘录,列出了Linux中流量控制功能正常运行所需的内核编译选项:
来源:Traffic Control HOWTO - Kernel requirements
# # QoS and/or fair queueing # CONFIG_NET_SCHED=y CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_CSZ=m CONFIG_NET_SCH_PRIO=m CONFIG_NET_SCH_RED=m CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_INGRESS=m CONFIG_NET_QOS=y CONFIG_NET_ESTIMATOR=y CONFIG_NET_CLS=y CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_ROUTE=y CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m CONFIG_NET_CLS_RSVP=m CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_POLICE=y
使用以上选项编译的内核将提供模块化 支持本文档中讨论的几乎所有内容。的 使用特定功能之前,用户可能需要 modprobe
module
。
答案 2 :(得分:0)
我在一个系统上编译(树内)ralink wifi 驱动程序后得到了这个,该系统不包括通常的预构建模块阵列。模块已加载,界面在那里,但无法设置:
ip link set wlanB up
RTNETLINK answers: No such file or directory
(是的,wlanB
是正确的。)最终发现系统还缺少 /lib/firmware
中常见的固件数组。这已通过 apt install firmware-ralink
修复。