#!/bin/bash
iptables -t mangle -F OUTPUT
tc qdisc del dev eth0 root
iptables -t mangle -I OUTPUT -o eth0 -p tcp --dport 1111 -j MARK --set-mark 10
iptables -t mangle -I OUTPUT -o eth0 -s 172.20.254.1 -d 172.20.0.2 -p icmp -j MARK --set-mark 20
#Добавляем дисциплину обработки очереди.
tc qdisc add dev eth0 root handle 1:0 htb
#главный класс
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 2kbps ceil 2kbps
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1kbps ceil 2kbps prio 1
tc class add dev eth0 parent 1:1 classid 1:11 htb rate 1kbps ceil 2kbps prio 0
#фильтры
tc filter add dev eth0 protocol ip handle 10 parent 1:0 prio 1 fw flowid 1:10
tc filter add dev eth0 protocol ip handle 20 parent 1:0 prio 0 fw flowid 1:11
проверял так: 172.20.254.1 отсылает траффик на 172.20.0.2 на порт 1111
На 172.20.254.1 стоит шейпер на том интерфейсе который отсылает :-)
Отсылка идет на скорости 2 k как и настороено в шейпере.
Затем пускаю пинг на 172.20.0.2. Пинг проходит но таймауты прыгают очень сильно до 10 секунд. Если остановить поток траффика на 172.20.0.2:1111 то пинги начинают проходить с таймутом 2 msec. Вот и вопрос. Я же поставил на пинг приоритет больший чем на траффик на 1111. Почему оно на приоритеты не реагирует???


