Начинал осваивать HTB, вопрос для знающих людей, думаю не сложный...Задача ограничить скорость на интерфейсе eth2 (смотрит в локалку) следующим образом:
для IP
192.168.0.100 и 192.168.0.50-59 - 64 кб/сек на всю группу
192.168.1.1, 192.168.1.4, 192.168.1.8 - 64 кб/сек на группуделал так:
tc qdisc add dev eth2 root handle 1: htb default 12
tc class add dev eth2 parent 1: classid 1:1 htb rate 100kbps ceil 128kbps
tc class add dev eth2 parent 1:1 classid 1:10 htb rate 50kbps ceil 64kbps
tc class add dev eth2 parent 1:1 classid 1:11 htb rate 50kbps ceil 64kbpstc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.100 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.50 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.51 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.52 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.53 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.54 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.55 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.56 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.57 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.58 flowid 1:10
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.0.59 flowid 1:10tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.1.1 flowid 1:11
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.1.4 flowid 1:11
tc filter add dev eth2 protocol ip parent 1:0 prio 1 u32 match ip src 192.168.1.8 flowid 1:11В результате, при закачке файла скорость 16 кбайт/сек (т.е., никак не ограничивается). Проверял с IP=192.168.1.1
Подскажите, что не так...
Привет,Не разбирался с вашим примером, но если ограничиваете скорость download-а данного адреса (т.е. скорость к данному адресу), то в фильтре обычно стоит dst, а не src:
... match ip dst 192.168.0.100 ...
WWell,
>если ограничиваете скорость download-а данного адреса
>(т.е. скорость к данному адресу), то в фильтре обычно стоит dst,
>а не src:
>
>... match ip dst 192.168.0.100 ...
>Логично... Спасибо за замечание...
Исправил, но скорость все равно не режется.
если с одно ip качаеш, разве так и не должно быть? а если уже с двух, то по 8 ;)
>если с одно ip качаеш, разве так и не должно быть? а
>если уже с двух, то по 8 ;)
сейчас примерно так и происходит, а мне нужно жестко обрезать скорость для IP до 64 кбит. Насколько я понял из документации - за это отвечает параметр ceil...
Люди, а может кто-нибудь пример конифига для ограничения скорости выложить (рабочий)? Буду очень благодарен!
>Люди, а может кто-нибудь пример конифига для ограничения скорости выложить (рабочий)? Буду
>очень благодарен!http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
Please read: tc tool (not only HTB) uses shortcuts to denote units of rate.
kbps means kilobytes and kbit means kilobits !
This is the most FAQ about tc in linux.
>>Люди, а может кто-нибудь пример конифига для ограничения скорости выложить (рабочий)? Буду
>>очень благодарен!
>
>http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
>
>Please read: tc tool (not only HTB) uses shortcuts to denote units
>of rate.
>kbps means kilobytes and kbit means kilobits !
>This is the most FAQ about tc in linux.Для тех кто не понял,
нужно не
tc class add dev eth2 parent 1: classid 1:1 htb rate 100kbps ceil 128kbps
tc class add dev eth2 parent 1:1 classid 1:10 htb rate 50kbps ceil 64kbps
tc class add dev eth2 parent 1:1 classid 1:11 htb rate 50kbps ceil 64kbpsа
tc class add dev eth2 parent 1: classid 1:1 htb rate 100kbit ceil 128kbit
tc class add dev eth2 parent 1:1 classid 1:10 htb rate 50kbit ceil 64kbit
tc class add dev eth2 parent 1:1 classid 1:11 htb rate 50kbit ceil 64kbit=========
а вааще, есть тулзы типа
htb.init
xmlhtb
в них можно псмотреть генерацию tc конфига
Вчера провел ряд експерементов.
Конфиг с htb.init:
eth1 eth1-2.root eth1-2:10.test
DEFAULT=30 RATE=1MBit RATE=128kbit
RULE=,10.3.3.3
И вот, что оно мне выдало:
/sbin/tc qdisc del dev eth1 root
/sbin/tc qdisc add dev eth1 root handle 1 htb default 30/sbin/tc class add dev eth1 parent 1: classid 1:2 htb rate 1MBit
/sbin/tc class add dev eth1 parent 1:2 classid 1:10 htb rate 128kbit
/sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 100 u32 match ip dst 10.3.3.3 classid 1:10Ограничило FTP, но скорость гуляла около 4MBit/s.
Не знаю в чем грабли. Последний раз юзал HTB 2 года назад.
З.Ы. Сетка 1GBit/s ethernet. MTU 1500
Наконец-то все заработало как надо!
Причина - переезд с RedHat 9 на Fedora Core 4
>Наконец-то все заработало как надо!
>Причина - переезд с RedHat 9 на Fedora Core 4
И в чем была проблема с федорой?
Тоже вот собираюсь на неё перейти
и хотелось бы знать где там могут быть грабли.