Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: sunhater в Jun 25, 2003, 13:09



Титла: shaper
Публикувано от: sunhater в Jun 25, 2003, 13:09
Къде да го намера този прословут shaper. В Slack-а го нема.


Титла: shaper
Публикувано от: sunhater в Jun 28, 2003, 10:05
Както и да е... Намерих го, но не можах да се оправа с него. Но намерих и друга по-проста програма - rshaper, която представлява модул към ядрото и ограничаването е много по-просто:
Примерен код
rshaperctl 192.168.0.10 1200

Ограничава хост 192.168.0.10 с максимален трансфер 1200 байта/сек
Примерен код
rshaperctl 192.168.0.0/24 4000

Ограничава трансфера на цялата мрежа не по-голям от 4000 байта/сек
Искам да напиша скрипт, който чете редовете от зададен текстов файл имащ вида:
Примерен код
192.168.0.2 5000
192.168.0.3 10000
192.168.0.4 7000
192.168.0.5 4000
....

и да изпълнява rshaperctl за всеки ред. Как става? Имам някакви познания по shell scripting.


Титла: shaper
Публикувано от: spawnman в Jun 29, 2003, 10:23
zdr sunhater,
za script-a shte se radvam da ti pomogna.
ako iskash razgledai komandite "head", "tail" i "for", s koito shte se napravi tvoq script i probvai sam.
ako neshto ne uspeesh - raz4itai na men za help :)
prosto v edin cikul, napraven s "for" trqbva da se izpulnqva `rshaperctl "$pro4eten_red"`
v promenlivata $pro4eten_red trqbva da e zapisan tekushtiq red ot vuprosniq file i t.n.

shte gledam da napravq script4eto dnes...


Титла: shaper
Публикувано от: spawnman в Jun 29, 2003, 10:47
i vij dali tva neshto te ustroiva:

brredove=`cat ip | wc -l`
i=0
while
test $i -le $brredove
do
expr=`expr $brredove - $i`
red=`cat ip | tail -"$expr" | head -1`
rshaperctl "$red"
i=`expr $i + 1`
done


Титла: shaper
Публикувано от: spawnman в Jun 29, 2003, 10:49
samo trqbva faila ti da se kazva "ip" i da e v sushtata direktoriq, v koqto e i script-a
uspeh


Титла: shaper
Публикувано от: mrvoland в Jun 29, 2003, 11:01
мда.. макар че се изписаха цели фермани по темата shaping ще пусна още един такъв :)
трябва да имаш компилирано в ядрото следното...
  CONFIG NET SCH CBQ
  CONFIG NET SCH TBF
  CONFIG NET SCH SFQ
  CONFIG NET SCH PRIO
  CONFIG NET CLS U32
това е минимума аз съм пуснал повечко работи
трябва да инсталираш shaper скрипта т.е. да го копираш някъде където се стартира автоматично.... при мен е
/etc/init.d/
трябва да създадеш (освен ако инсталацията не го прави автоматично) директория /etc/shaper (има го указано в doc's)
и за край трябва да създадеш RULES в един файл който да започва с cbq-xxxx.yyyy
xxxx - са 16bit цифри а yyyy e нещо си там както го кръстиш

Примерен код

bash-2.05a# cat /etc/shaper/cbq-1280.eth1
DEVICE=eth1,100Mbit,10Mbit
RATE=600Kbit
WEIGHT=60Kbit
PRIO=5
LEAF=tbf
ISOLATED=yes
BOUNDED=yes
TIME=06:00-24:00;600Kbit/60Kbit/600Kbit
TIME=24:00-06:00;100Mbit/10Mbit
RULE=192.168.0.2,
RULE=,192.168.0.2

забележи, можеш да слагаш time limit :) онова което си го пуснал е като детска играчка в сравнение с това :)
всъщност това е най-точно казано tc script но можеш директно да задаваш tc правила само дето е много неудобно защото се пишат едни дълги редове :)
дай едно man tc за да разбереш за какво става дума :)


Титла: shaper
Публикувано от: sunhater в Jun 29, 2003, 15:08
Аз много старателно погледнах всички теми за интернет шеринг, но никъде не пишеше откъде да си взема shaper. Всички казват че трябва да го имам в дистрото, но го нямам! Това дето намерих е от free BG пиъринг-а. Не знам колко е ново "shaper-1.0.tar.bz2".
Цитат
трябва да създадеш (освен ако инсталацията не го прави автоматично) директория /etc/shaper (има го указано в doc's)

Няма никаква инсталация и в docs не става въпрос въобще за /etc/shaper. Ето файловете, които пакета съдържа:
Примерен код
drwx------    3 1000     1000         4096 Feb 10  2002 .
drw-r--r--    6 root     root         4096 Jun 29 15:04 ..
drwx------    2 1000     1000         4096 Feb 10  2002 CVS
-rw-r--r--    1 1000     1000         6674 Feb  9  2002 Changelog
-rw-r--r--    1 1000     1000         7884 Feb 10  2002 README
-rw-r--r--    1 1000     1000          789 Jan 27  2002 ToDo
-rwx------    1 1000     1000         1858 Nov 17  2001 route.pl
-rw-r--r--    1 1000     1000        20494 Feb 10  2002 shaper.conf
-rwxr-xr-x    1 1000     1000        64738 Feb 10  2002 shaper.queues

Не знам дали съм прав, но мисля че не това е пакета, който ми трябва.


Титла: shaper
Публикувано от: sunhater в Jun 29, 2003, 16:23
10x spawnman, успях да го подкарам, с някои поправки:
Примерен код
#!/bin/sh

num_rows=`cat /etc/hosts.limit | wc -l`
i=0

while test $i -le `expr $num_rows - 1`
do
    expr=`expr $num_rows - $i`
    row=`cat /etc/hosts.limit | tail -$expr | head -1`
    rshaperctl $row
    i=`expr $i + 1`
done


Титла: shaper
Публикувано от: mrvoland в Jun 30, 2003, 09:17
пак повтарям това е скрипт не е отделна програма
изполва tc командите (traffic control)
http://www.chronox.de/
там се намира shaper-a


Титла: shaper
Публикувано от: spawnman в Jun 30, 2003, 10:31
extra
sunhater q kaji sq kato si pusnal shaping-a dovolni li ste ot razpredelenieto na trafika :)


Титла: shaper
Публикувано от: sunhater в Jul 01, 2003, 13:04
Абе аз още не съм си споделил интернета с други хора, искам да съм подготвен, когато някой изяви желание.


Титла: shaper
Публикувано от: sunhater в Jul 01, 2003, 13:10
Цитат (mrvoland @ Юни 30 2003,10:17)
пак повтарям това е скрипт не е отделна програма
изполва tc командите (traffic control)

Кой е казал обратното?