Подтвердить что ты не робот

Ответы RTNETLINK: нет такой ошибки файла или каталога

1. ETH=$1
2. LATENCY=$2
3. LOSS=$3
4. JITTER=$4
5. BW=$5
6. sudo /sbin/tc qdisc del dev eth0 root
7. sudo /sbin/tc qdisc add dev eth0 root handle 1: netem delay $LATENCY $JITTER 
8. sudo /sbin/tc qdisc add dev eth0 parent 1:1 handle 10: netem loss $LOSS
9. sudo /sbin/tc qdisc add dev eth0 parent 10:1 handle 20: htb default 1
10.sudo /sbin/tc class add dev eth0 parent 20: classid 0:1 htb rate $BW ceil $BW
11.sudo /sbin/tc qdisc show

Приведенный выше код приводит к:

RTNETLINK answers :No such file or directory

ошибка в строке 8,9,10 после выполнения.

4b9b3361

Ответ 1

Проблема заключается в отсутствии модулей ядра и/или поддержки ядра. Убедитесь, что вы можете запустить

modprobe sch_netem

Мне также пришлось перестроить ядро ​​после того, как я включил его, потому что там есть что-то встроенное, которое включено после включения сетевой эмуляции.

См. также http://forums.fedoraforum.org/showthread.php?t=285408 и http://www.linuxfoundation.org/collaborate/workgroups/networking/netem

Ответ 2

Ваши дескрипторы и родительские ручки не совпадают. например, изменить на:

7. sudo /sbin/tc qdisc add dev eth0 root handle 1:1 netem delay $LATENCY $JITTER 
8. sudo /sbin/tc qdisc add dev eth0 parent 1:1 handle 10:1 netem loss $LOSS
9. sudo /sbin/tc qdisc add dev eth0 parent 10:1 handle 20:1 htb default 1
10.sudo /sbin/tc class add dev eth0 parent 20:1 classid 0:1 htb rate $BW ceil $BW

и он должен работать.

Ответ 3

RTNETLINK answers :No such file or directory по 2 причинам.

  • Выполнение tc qdisc с неверными настройками
  • Или модуль ядра sch_netem отсутствует

Поэтому сначала sch_netem, установлен ли на вашем компьютере lsmod -l с помощью команды lsmod -l. Если он отсутствует, установите с помощью команды modprobe sch_netem.

Даже после установки sch_netem, если вы получаете ту же ошибку, значит, вы выполняете с неправильной опцией. Например, вы можете добавить ухудшение сетевого интерфейса, используя ip qdisc add dev... Точно так же для удаления этого вы можете сделать ip qdisc delete dev... Если вы пытаетесь удалить обесценение без каких-либо предварительных средств добавления, эта ошибка также появляется. А также за неправильные параметры также вы получите эту ошибку.

Ответ 4

Я использую Fedora Core 27. Чтобы установить модуль, мне пришлось использовать

sudo dnf install install kernel-modules-extra

Это не интуитивно очевидно.

Ответ 5

К сведению: в Centos 6.7 ошибка также возникает, когда на интерфейсе не определен qdisc.

[root]# tc qdisc add dev em2 root netem delay 100ms
[root]#  tc qdisc del  dev em2 root      ==> no error
[root]#  tc qdisc del  dev em2 root

RTNETLINK answers: No such file or directory

Рене