LINUX.ORG.RU
ФорумAdmin

Не работает деление трафика в HTB


0

0

Есть сетка из 4 компов 1 из них шлюз Надо честно раздать инет на три остальных. Написал правила. tc qdisk add dev eth0 root handle 1: htb default 8 r2q 1 tc class add dev eth0 parent 1: classid 1:1 htb rate 12kbps ceil 12kbps tc class add dev eth0 parent 1:1 classid 1:2 htb rate 4kbps ceil 12kbps tc class add dev eth0 parent 1:1 classid 1:3 htb rate 4kbps ceil 12kbps tc class add dev eth0 parent 1:1 classid 1:4 htb rate 4kbps ceil 12kbps tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.10.2 flowid 1:2 tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.10.3 flowid 1:3 tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.10.4 flowid 1:4 eth0 смотрит внутрь. По замыслу когда работают все три компа в инете должно делить скорость на 3. Но если на одном компе пытаются закачать что то, скорость закачки на этом компе 9КВ а на остальных инет жутко тормозит. Почему не работает?

anonymous

Форматируй нормально, проверь фильтры, проверь (добавь) краевые дисциплины, лучше - sfq/esfq)

>qdisk

и вообще, нет такой буквы :)

fagot ★★★★★
()
Ответ на: комментарий от fagot

В настройках я поставил qdisc. Это сдесь я написал с ошибкой. Так что не в этом проблема

anonymous
()
Ответ на: комментарий от fagot

> проверь фильтры Фильтры вроде нормально работают но в любом случае я написал qdisс add dev eth0 root handle 1: htb default 3 r2q 1 то есть для любого трафика что не подходит под фильтр работает ограничение с номером 3 Так что фильтры здесь тоже ни причем

anonymous
()
Ответ на: комментарий от anonymous

Форматируй нормально, а? :)

>Попробую. А как они могут влиять?

сильно, ты просто попробуй :)

fagot ★★★★★
()

watch -n 1 'tc -s -d class show dev eth0' чего показывает ? Как при тестировании распределяется скорость по классам ?
default точно 3 ? Не 8, как в первом посте ???

> лучше - sfq/esfq
Если один класс на одного клиента, то по-моему лучше [p|b]_fifo, т.к. в [e]sfq смысла будет по-моему маловато :-)

spirit ★★★★★
()
Ответ на: комментарий от spirit

> default точно 3 ? Не 8, как в первом посте ???

точно

> watch -n 1 'tc -s -d class show dev eth0' чего показывает ?

ничего не показывает . tc -s -d class show dev eth0 тоже ничего не показывает.

Попробовал ceil 12kbps поставить ceil 4kbps тоесть сделать тупое обрезание. В таком варианте работает но это не то что мне нужно.

anonymous
()
Ответ на: комментарий от spirit

Само собой :), но прочитав

>По замыслу когда работают все три компа в инете должно делить скорость на 3

решил, что это лишнее. Проще делить один класс на всех

fagot ★★★★★
()
Ответ на: комментарий от fagot

> значит у тебя НИЧЕГО не настроено на eth0 :)

А что еще нужно настроить на eth0? между прочим tc qdisc show dev eth0 и tc filter show dev eth0 работают

anonymous
()
Ответ на: комментарий от anonymous

Обычно, хотя бы один класс присоединяется к корневой дисциплине. Что у тебя там в коде я не смотрел, но использовать классовую дисциплину без классов - плохая идея :)

fagot ★★★★★
()
Ответ на: комментарий от fagot

>Обычно, хотя бы один класс присоединяется к корневой дисциплине.

Разве не это записано в моих правилах?

tc qdisc add dev eth0 root handle 1: htb default 3 r2q 1

tc class add dev eth0 parent 1: classid 1:1 htb rate 12kbps ceil 12kbps

Или имеется что-то еще ввиду?

anonymous
()
Ответ на: комментарий от anonymous

>Разве не это записано в моих правилах?

а я откуда знаю, я их смотрел, что ли? :) Тот мусор, что вначале треда - не листинг.

А имеется ввиду, что не может у тебя быть пусто при выводе `tc class ls dev eth0`, если на этом eth0 действительно висит то, что ты пишешь.

Где-то ты ошибся

fagot ★★★★★
()
Ответ на: комментарий от fagot

>а я откуда знаю, я их смотрел, что ли? :) Тот мусор, что вначале треда - не листинг.

Вот этот мусор в удобочитаемом виде:

tc qdisc add dev eth0 root handle 1: htb default 3 r2q 1

tc class add dev eth0 parent 1: classid 1:1 htb rate 12kbps ceil 12kbps

tc class add dev eth0 parent 1:1 classid 1:2 htb rate 4kbps ceil 12kbps

tc class add dev eth0 parent 1:1 classid 1:3 htb rate 4kbps ceil 12kbps

tc class add dev eth0 parent 1:1 classid 1:4 htb rate 4kbps ceil 12kbps

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.10.2 flowid 1:2

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.10.3 flowid 1:3

tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.10.4 flowid 1:4

anonymous
()
Ответ на: комментарий от anonymous

Кажись все правильно. Но в таком случае, у тебя не может быть вывод `tc class ls dev eth0` пустым после выполнения этих команд.

Кстати, теперь дошло о чем говорил spirit, точно [e]sfq не надо :)

fagot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.