Deutsch
Germany.ruФорумы → Архив Досок→ Linux & Co

Помогите настроить шейпер

464  
golma1 злая мачеха09.10.09 22:13
golma1
09.10.09 22:13 
Привет знатокам Линукса.
Пишет Вам не просто чайник, а вообще даже...
Но я очень переживаю за любимую библиотеку Либрусек, которую уже несколько недель по-страшному ддосят. Владелец пытается с этим бороться, но сейчас ему нужна помощь знатоков Линукса.
Свою просьбу от сформулировал так, как я озаглавила тему. Я сказала, что на моей любимой Германке можно получить ответ на любой вопрос. Не подведите хвастунью.
Копирую вопрос:
В ответ на:
Спроси конкретно:
Есть канал 100М исходящего трафика (входящий не нужно обрабатывать, с
ним уже разобрался)
Надо поделить на 80М для HTTP и остаток для всего остального.
Сейчас когда HTTP забивает весь канал отваливается связь с SQL и всё умирает.
Мне, собственно, нужна одна команда - ограничить исходящий по порту 80
до 80Mbit, не хочется сейчас экспериментировать на живом сервере.

help
#1 
  дактиль падчерица09.10.09 22:32
NEW 09.10.09 22:32 
в ответ golma1 09.10.09 22:13, Последний раз изменено 09.10.09 22:35 (дактиль)
Упс, таки нашла :)

Дай ему почитать
http://wiki.ubuntuusers.de/Skripte/Traffic-Shaping?highlight=traffic
Я не специалист, но надеюсь пару полезных вещей в этой хаутушке найдется.
#2 
golma1 злая мачеха09.10.09 22:35
golma1
NEW 09.10.09 22:35 
в ответ дактиль 09.10.09 22:32
Он не читает по-немецки. А я в этом ничего не понимаю, чтобы перевести.
А можно скомпилировать ответ на его вопрос или это слишком много времени займёт?
В любом случае - спасибо.
#3 
voxel3d коренной житель09.10.09 23:14
voxel3d
NEW 09.10.09 23:14 
в ответ golma1 09.10.09 22:35
По-русски здесь:
http://www.opennet.ru/base/net/adv_route_qos.txt.html
http://remizov.pp.ru/ru/trn/doc/manuals/htb-manual
http://gazette.linux.ru.net/rus/articles/adsl_bandwidth_management-howto.html
тут quick-and-dirty: www.rusdoc.ru/articles/prichesyvaem_trafik__dinamicheskij_shejper_na_linu...
в принципе, по последней ссылке я бы мог нарисовать правила, но, поскольку этим не занимался, не хочу заниматься профанацией, лучше подождать того, кто работал с этим.
Dropbox - средство синхронизации и бэкапа файлов.
#4 
golma1 злая мачеха10.10.09 07:09
golma1
NEW 10.10.09 07:09 
в ответ voxel3d 09.10.09 23:14
Спасибо.
Но, может, найдётся кто-то, кто сумеет "нарисовать правила", а? Ведь наверняка это для умельца совсем несложно...
Битте-битте-битте.
#5 
BSDLamer Хвостатый Carpal Tunnel10.10.09 12:26
BSDLamer
NEW 10.10.09 12:26 
в ответ golma1 10.10.09 07:09
в сети ведь валяется 100000 примеров
чет в этом роде
tc qdisc add ethХ bond1 root handle 1: htb default 20
tc class add ethX bond1 parent 1: classid 1:1 htb rate 100мbit ceil 100мbit
tc class add ethX bond1 parent 1:1 classid 1:10 htb rate 80мbit ceil 80мbit
tc class add ethX bond1 parent 1:1 classid 1:20 htb rate 20мbit ceil 20мbit
tc qdisc add ethX bond1 parent 1:10 handle 10: sfq perturb 10
tc qdisc add ethX bond1 parent 1:20 handle 20: sfq perturb 10
tc filter add ethX bond1 parent 1: handle 10 fw protocol ip classid 1:10
tc filter add ethX bond1 parent 1: handle 20 fw protocol ip classid 1:20
iptables -A POSTROUTING -t mangle -o ethX -p tcp --dport 80 -j MARK --set-mark 10
сразу могу добавить что в шейпинге на линуксе не мастер, обычно шейпинг луче делать на кисках или бсд
0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
#6 
golma1 злая мачеха10.10.09 12:42
golma1
NEW 10.10.09 12:42 
в ответ BSDLamer 10.10.09 12:26
В ответ на:
в сети ведь валяется 100000 примеров

... я просто разместил объяву!.. (с)
Спасибо большое.
Если есть ещё варианты, буду признательна.
#7 
voxel3d коренной житель10.10.09 13:20
voxel3d
NEW 10.10.09 13:20 
в ответ BSDLamer 10.10.09 12:26
что за параметр r2q, и в чём разница шейперов в линуксе, бсд, циске?
Dropbox - средство синхронизации и бэкапа файлов.
#8 
BSDLamer Хвостатый Carpal Tunnel11.10.09 10:46
BSDLamer
NEW 11.10.09 10:46 
в ответ voxel3d 10.10.09 13:20
http://luxik.cdi.cz/%7Edevik/qos/htb/manual/userg.htm
В ответ на:
It might be good time to touch concept of quantums now. In fact when more classes want to borrow bandwidth they are each given some number of bytes before serving other competing class. This number is called quantum. You should see that if several classes are competing for parent's bandwidth then they get it in proportion of their quantums. It is important to know that for precise operation quantums need to be as small as possible and larger than MTU.
Normaly you don't need to specify quantums manualy as HTB chooses precomputed values. It computes classe's quantum (when you add or change it) as its rate divided by r2q global parameter. Its default value is 10 and because typical MTU is 1500 the default is good for rates from 15 kBps (120 kbit). For smaller minimal rates specify r2q 1 when creating qdisc - it is good from 12 kbit which should be enough. If you will need you can specify quantum manualy when adding or changing the class. You can avoid warnings in log if precomputed value would be bad. When you specify quantum on command line the r2q is ignored for that class.

разница наверное в удобности настройки + bsd/cisco используется гораздо чаще в качестве шейпера.
0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь
#9