У меня есть этот скрипт формирования, который должен наказывать загрузку размером более 10 МБ, снижая скорость их соединения.
Если я тестирую с одним подключением, действует штраф, и скорость загрузки снижается до установленного значения. Если я открываю новую загрузку параллельно, штрафная скорость загрузки распределяется между двумя оштрафованными соединениями. Моя цель — предложить гарантированную ставку штрафа, а не общую. Любые идеи, что я делаю неправильно?
dev=eth0
rate_full=100000 Мбит
conn_rate_limit=10 Мбит
conn_rate_ceil=20 Мбит
conn_rate_burst=30 Мбит
htb_класс = 10
макс_байт = 10485760
tc qdisc del dev $dev root > /dev/null 2>&1
tc qdisc add dev $dev корневой дескриптор 1: htb
tc class add dev $dev parent 1: classid 1:1 htb rate $rate_full
tc class add dev $dev parent 1: classid 1:$htb_class htb rate $conn_rate_limit ceil $conn_rate_ceil Burst $conn_rate_burst
tc filter add dev $dev parent 1: prio 0 IP-дескриптор протокола $htb_class fw flowid 1:$htb_class
#после 10 мегабайт соединение считается загрузкой
iptables -t mangle -A ВЫВОД -p tcp -m connbytes --connbytes $max_byte: --connbytes-dir оба --connbytes-mode bytes -j MARK --set-mark $htb_class