LINUX.ORG.RU
ФорумAdmin

Traffic shaper (TC) одно правило для всей подсети...хм..


0

0

Привет всем!
Бьюсь сейчас над задачей написать правило TC шейпера для всей подсети 199.0.0.0/24 ограничить входящий поток до 2 Мбит\сек, казалось бы вот такое правило должно работать:

DEV=eth0
tc qdisc del dev $DEV root
tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 100mbit
tc class add dev $DEV parent 1: classid 1:1 cbq rate 2mbit allot 1500 prio 5 bounded isolated
tc filter add dev $DEV parent 1: protocol ip prio 16 u32 match ip dst 199.0.0.0/24 flowid 1:1
tc qdisc add dev $DEV parent 1:1 sfq perturb 1

Но в таком варианте tc шейпит до 2Мбит\сек на всех в подсети, а задача стоит выдать каждому в подсети по 2мбита.
Прописывать для каждого айпишника свое правило (tc class) тоже выход, но может кто знает как в одно правило это уложить.
Заранее спасибо!

может, нужен коревой класс на 100 мбит, из которого уже будет расти лист на 2 мбит, куда и будет отправляться трафик фильтром. А так, видимо, получается, что корневой класс имеет ограничение на 2 мбит и все пакеты попадут в него.

azure ★★
()

Нет.

Вы себе физику трафик шейпера представляете вообще? Ты сделал двухмегабитное ведро с постоянной скоростью слива и пофиг что, откуда и куда туда попадает, сливаться будет со скоростью 2Мбита/сек. Так что делай каждому по ведру и радуйся.

З.Ы. 2Мбит\сек — обратный слэш намекает на недоброе.

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