Здравствуйте! Есть локальная сеть на несколько vlan. Требуется обрабатывать высокоприоритетный трафик в первую очередь + делить полосу между этими vlan. У меня 2 мысли.
Можно создать шейпер такого вида. Весь трафик делится на 2 приоритетных класса: в первый пойдет транзит с Интернета, во второй - локальный трафик.
$qdisc_add dev $lan_if root handle 1: prio bands 2 priomap 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
$qdisc_add dev $lan_if parent 1:1 handle 10: htb r2q 100
$qdisc_add dev $lan_if parent 1:2 handle 20: sfq perturb 10
$class_add dev $lan_if parent 10: classid 10:1 htb rate ${rate}kbit
$class_add dev $lan_if parent 10:1 classid 10:10 htb rate $[5*${rate}/10]kbit ceil ${rate}kbit
$class_add dev $lan_if parent 10:1 classid 10:20 htb rate $[3*${rate}/10]kbit ceil ${rate}kbit
$class_add dev $lan_if parent 10:1 classid 10:30 htb rate $[2*${rate}/10]kbit ceil ${rate}kbit
$qdisc_add dev $lan_if parent 10:10 handle 1010: prio bands 3 priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
$qdisc_add dev $lan_if parent 10:20 handle 1020: prio bands 3 priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
$qdisc_add dev $lan_if parent 10:30 handle 1030: prio bands 3 priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Есть второй вариант. Сразу сделать PRIO на 3 подкласса: высокоприоритетный трафик (он также всегда идет транзитом), транзитный трафик, остальное.
$qdisc_add dev $lan_if root handle 1: prio bands 3 priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
$qdisc_add dev $lan_if parent 1:1 handle 10: pfifo_fast
$qdisc_add dev $lan_if parent 1:2 handle 20: htb
$qdisc_add dev $lan_if parent 1:3 handle 30: pfifo_fast
Как правильнее поступить? Обрабатывать голос и видео сразу в корневой дисциплине PRIO или раскидывать его обработку в PRIO для каждого подкласса HTB?