Как сделать QoS на Linux роутере? Делаю Linux роутер. Не знаю, как решить следующую задачу. Хочу сделать QoS при помощи очередей. Насколько я понял, в Linux роутерах для этого используется tc. Но не смог найти, как реализовать PCQ очередь - https://wiki.mikrotik.com/wiki/%D0%A0%D1%83%D0%BA%... Как это сделать? (Дистрибутив Arch Linux)
Да, для реализации QoS на Linux роутере вам необходимо использовать инструмент tc (Traffic Control). Для реализации PCQ очереди (Per Connection Queue), вы можете использовать Hierarchical Token Bucket (HTB) классификатор в сочетании с фильтрами и очередями.
Вот пример команд для создания HTB классификатора и PCQ очереди:
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
Это только базовый пример конфигурации. Вы можете настроить параметры rate, ceil, prio, limit и другие в соответствии с вашими потребностями. Не забудьте сохранить конфигурацию, чтобы она применялась после перезагрузки системы.
Надеюсь, это поможет вам настроить QoS с использованием PCQ очередей на вашем Linux роутере.
Да, для реализации 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 100mbittc 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:10tc 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 1000ptc qdisc add dev eth0 parent 1:20 handle 20: pcq limit 1000p
Это только базовый пример конфигурации. Вы можете настроить параметры rate, ceil, prio, limit и другие в соответствии с вашими потребностями. Не забудьте сохранить конфигурацию, чтобы она применялась после перезагрузки системы.
Надеюсь, это поможет вам настроить QoS с использованием PCQ очередей на вашем Linux роутере.