Как сделать QoS на Linux роутере? Делаю Linux роутер. Не знаю, как решить следующую задачу. Хочу сделать QoS при помощи очередей. Насколько я понял, в Linux роутерах для этого используется tc. Но не смог найти, как реализовать PCQ очередь - https://wiki.mikrotik.com/wiki/%D0%A0%D1%83%D0%BA%...
Как это сделать? (Дистрибутив Arch Linux)

21 Авг 2019 в 06:47
216 +1
1
Ответы
1

Да, для реализации QoS на Linux роутере вам необходимо использовать инструмент tc (Traffic Control). Для реализации PCQ очереди (Per Connection Queue), вы можете использовать Hierarchical Token Bucket (HTB) классификатор в сочетании с фильтрами и очередями.

Вот пример команд для создания HTB классификатора и PCQ очереди:

Создайте HTB классификатор:

tc qdisc add dev eth0 root handle 1: htb default 10

Создайте классы для различных типов трафика:

tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50mbit ceil 100mbit prio 0
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 10mbit ceil 100mbit prio 1

Создайте фильтры для классификации трафика:

tc filter add dev eth0 parent 1:0 protocol ip prio 10 u32 match ip dport 80 0xffff flowid 1:10
tc filter add dev eth0 parent 1:0 protocol ip prio 10 u32 match ip dport 443 0xffff flowid 1:20

Создайте очереди PCQ для каждого класса:

tc qdisc add dev eth0 parent 1:10 handle 10: pcq limit 1000p
tc qdisc add dev eth0 parent 1:20 handle 20: pcq limit 1000p

Это только базовый пример конфигурации. Вы можете настроить параметры rate, ceil, prio, limit и другие в соответствии с вашими потребностями. Не забудьте сохранить конфигурацию, чтобы она применялась после перезагрузки системы.

Надеюсь, это поможет вам настроить QoS с использованием PCQ очередей на вашем Linux роутере.

20 Апр 2024 в 13:13
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир