Сайт | Скачать | Видео | Wiki

Автор Тема: pra-roll-1806. Не могу настроить шейпинг трафика  (Прочитано 5229 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
  • Автор темы
Пытаюсь настроить шейпинг по инструкции отсюда - https://habr.com/post/133076/ (текст под заголовком "HTB")
На первой же команде ("добавление корневой дисциплины" -кажется смысл в этом) -  осечка:
Код
live@pra-roll:~$ sudo tc qdisc add dev enp3s0 root handle 1: htb default 20
RTNETLINK answers: Operation not supported
Никто не знает в чём может быть проблема? Может быть кто-нибудь настраивал  :'(
« Последнее редактирование: 01 Декабрь 2018, 16:39:09 от Neyel »

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
  • Автор темы
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #1 : 01 Декабрь 2018, 17:08:12 »
Вот тебе и ответ  :'(
https://github.com/raspberrypi/linux/issues/61#issuecomment-7148371
Код
I recompiled the kernel and got this working.
I ended up needing the following for my purposes, not sure if this would help any body else

CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_MQPRIO=m

CONFIG_NET_SCH_QFQ=m
CONFIG_NET_CLS=y

CONFIG_NET_CLS_TCINDEX=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
Подскажите, как можно перекомпилить ядро?

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
  • Автор темы
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #2 : 01 Декабрь 2018, 17:22:46 »
Вот ещё что нашёл - файл /lib/modules/4.15.4-pf/build/net/netfilter - есть следующие строки:
Код
config NETFILTER_XT_TARGET_CLASSIFY
tristate '"CLASSIFY" target support'
depends on NETFILTER_ADVANCED
help
  This option adds a `CLASSIFY' target, which enables the user to set
  the priority of a packet. Some qdiscs can use this value for
  classification, among these are:

    atm, cbq, dsmark, pfifo_fast, htb, prio

  To compile it as a module, choose M here.  If unsure, say N.
Вроде что то подходящее. Вообщем что делать?

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #3 : 02 Декабрь 2018, 04:50:14 »
Classify это же для приоритета пакетов, а у вас шейпинг.
Могу предложить использовать ядро от Pro, но я только в понедельник загуглю подкручено ли у меня в нем то что нужно.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
  • Автор темы
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #4 : 02 Декабрь 2018, 10:12:10 »
Могу предложить использовать ядро от Pro, но я только в понедельник загуглю подкручено ли у меня в нем то что нужно.
А где его скачать?
Пока перешёл на  LF (linux frugal). Manjaro 18.0 LXQT x86_64 - там всё работает

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
  • Автор темы
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #5 : 02 Декабрь 2018, 11:54:54 »
Вот что пока накидал:
Код
#Создаём виртуальный интерфейс ifb0 и перенаправляем на него весь входящий трафик
sudo modprobe ifb
sudo ip link set dev ifb0 up
sudo tc qdisc add dev enp3s0 ingress
sudo tc filter add dev enp3s0 parent ffff: protocol ip u32 match ip dst 0.0.0.0/0 action mirred egress redirect dev ifb0

#Здесь обрабатывается исходящий трафик.
#Трафик в локальную сеть идёт в класс 10 со скорость 45 мбит/сек,
#Интернет (остальной трафик) идёт в класс 20 со сокрость 5 Мбит/сек
sudo tc qdisc add dev enp3s0 root handle 1:1 htb default 20
sudo tc class add dev enp3s0 parent 1:1 classid 1:1 htb rate 100mbit ceil 100mbit
sudo tc class add dev enp3s0 parent 1:1 classid 1:10 htb rate 45mbit ceil 45mbit
sudo tc class add dev enp3s0 parent 1:1 classid 1:20 htb rate 5mbit ceil 5mbit
sudo tc filter add dev enp3s0 parent 1:1 protocol ip prio 1 u32 match ip dst 192.168.1.0/24 flowid 1:10

# Здесь обрабатывается входящий трафик
# Трафик из локальной сети идёт в класс 10 со сокростью 5 Мбит/сек
# Трафик из интернета (остальной трафик) идёт в класс 20 со сокрость 45 Мбит/сек
sudo tc qdisc add dev ifb0 root handle 1:1 htb default 20
sudo tc class add dev ifb0 parent 1:1 classid 1:1 htb rate 100mbit ceil 100mbit
sudo tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 5mbit ceil 5mbit
sudo tc class add dev ifb0 parent 1:1 classid 1:20 htb rate 45mbit ceil 45mbit
sudo tc filter add dev ifb0 parent 1:1 protocol ip prio 1 u32 match ip src 192.168.1.0/24 flowid 1:10

Смысл в том чтобы разделить трафик интернета и локальной сети в следующей пропорции:
Интернет - входящий трафик 45 Мбит/сек, исходящий - 5 Мбит/сек
Локальная сеть - входящий трафик 5 Мбит/сек, исходящий - 45 Мбит/сек
Вроде работает  :)

Результаты теста для интернета:
« Последнее редактирование: 02 Декабрь 2018, 12:17:39 от Neyel »

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #6 : 03 Декабрь 2018, 11:01:47 »
CONFIG_NET_SCHED=y
в моих ядрах вот это выключено. Судя по описанию это QoS. я его со времен винды не люблю :)


NETFILTER_XT_TARGET_CLASSIFY
это включено модулем, возможно перед использованием надо загрузить модуль ядра через modprobe xt_CLASSIFY
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #7 : 03 Декабрь 2018, 11:23:14 »
как можно перекомпилить ядро?
Код
asp export linux
Не проще заюзать manjaro ядро? Там наверняка это есть

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
  • Автор темы
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #8 : 05 Декабрь 2018, 17:27:10 »
Могу предложить использовать ядро от Pro
Pro подскажи где можно скачать твоё ядро?

Не проще заюзать manjaro ядро? Там наверняка это есть
sfs как перенести ядро от manjaro на пра-ролл? Первая проблема - это не пойдут родные драйвера пра-ролл, откомпиленные для ядра 4.15.4-pf

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5319
  • Репутация: +139/-1
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #9 : 05 Декабрь 2018, 18:02:54 »
где можно скачать твоё ядро?
https://mirror.yandex.ru/puppyrus/puppyrus-a64/kernel/
 Ядра от Pro можно отличить по дополнительному модулю 001-kernel-schedulers  (4.15.4-pf4 от sfs).
Касается в основном новых ядер. Старые могут быть от Pro, но без доп. модуля.
как перенести ядро от manjaro на пра-ролл?
Здесь сложнее. Запускал так, но не все вроде работало. И не помню с этим ли конфигом.
Цитата
title ▒▒ Pra-roll-1806-gtk3 MANJARO
set d=prarGTK3-1806
set k=4.8-mj
pause --wait=0 Запрет загрузки модулей ядра:
    set bl=modprobe.blacklist=pcspkr,ipv6
kernel /%d%/vmlinuz-%k%_64 uird.from=%d% net.ifnames=0 biosdevname=0 noswap %bl% quiet  uird.load=%d%/optional/extramod/ uird.copy2ram=/base/,/modules/
initrd /%d%/initrd-%k%.xz /%d%/initrd-um.xz

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #10 : 06 Декабрь 2018, 09:03:56 »
Ядра от Pro можно отличить по
*-pf
как перенести ядро от manjaro на пра-ролл?
Взять из прар1811 000 vmlinuz initrd(2шт.)

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
  • Автор темы
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #11 : 06 Декабрь 2018, 16:41:19 »
pra-roll 1806 -  перенёс vmlinuz, initramfs и 000-kernel из прар1811 - при зазрузке kernel panic.
Загрузил чистый прар1811 - tc работает:
Код
live@prar-1811:~$ tc qdisc
qdisc noqueue 0: dev lo root refcnt 2
qdisc fq_codel 0: dev enp3s0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 32Mb ecn

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #12 : 06 Декабрь 2018, 16:46:47 »
initrd(2шт.)
initrd /%d%/boot/initrd-sf03.cpio.xz /%d%/boot/initrd-%k%_64-fallback+.cpio.xz

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
  • Автор темы
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #13 : 23 Декабрь 2018, 11:38:49 »
Рабочий вариант (оставлю здесь чтоб не забыть :) ):
Код
#Создаём виртуальный интерфейс ifb0 и перенаправляем на него весь входящий трафик
sudo modprobe ifb
sudo ip link set dev ifb0 up
sudo tc qdisc add dev enp3s0 ingress
sudo tc filter add dev enp3s0 parent ffff: protocol ip u32 match ip dst 0.0.0.0/0 action mirred egress redirect dev ifb0

#Здесь обрабатывается исходящий трафик.
#Трафик в локальную сеть идёт в класс 10 со скорость 45 мбит/сек,
#Интернет (остальной трафик) идёт в класс 20 со сокрость 5 Мбит/сек
sudo tc qdisc add dev enp3s0 root handle 1 htb default 20
sudo tc class add dev enp3s0 parent 1:1 classid 1:1 htb rate 100mbit ceil 100mbit
sudo tc class add dev enp3s0 parent 1:1 classid 1:10 htb rate 45mbit ceil 45mbit
sudo tc class add dev enp3s0 parent 1:1 classid 1:20 htb rate 5mbit ceil 5mbit
sudo tc filter add dev enp3s0 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.1.0/24 flowid 1:10

# Здесь обрабатывается входящий трафик
# Трафик из локальной сети идёт в класс 10 со сокростью 5 Мбит/сек
# Трафик из интернета (остальной трафик) идёт в класс 20 со сокрость 45 Мбит/сек
sudo tc qdisc add dev ifb0 root handle 1 htb default 20
sudo tc class add dev ifb0 parent 1:1 classid 1:1 htb rate 100mbit ceil 100mbit
sudo tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 5mbit ceil 5mbit
sudo tc class add dev ifb0 parent 1:1 classid 1:20 htb rate 45mbit ceil 45mbit
sudo tc filter add dev ifb0 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.1.0/24 flowid 1:10
-
в строках "sudo tc filter..." заменён "parent 1:1" на "parent 1:0", в строках с добавлением корневой дисциплины заменён "handle 1:1" на "handle 1". В первоначальном варианте фильтрация в локальную сеть не работала.

Оффлайн Neyel

  • Ветеран
  • *****
  • Сообщений: 1548
  • Репутация: +28/-0
  • Автор темы
Re: pra-roll-1806. Не могу настроить шейпинг трафика
« Ответ #14 : 01 Январь 2019, 15:07:40 »
Т.к. prar-1811-test01.iso удалили, теперь не знаю где взять ядро и инитрд.
Подскажите где можно взять:
"initrd /%d%/boot/initrd-sf03.cpio.xz /%d%/boot/initrd-%k%_64-fallback+.cpio.xz"
а также vmlinuz (ядро) и 000-kernel (в prar1811-lxqt шейпинг не работает, т.к. ядро 4.15.4-pf - хочу к этой ОС прикрутить ядро от манжаро  :) )