Страшные муки организации шейпера...

Linux, безопасность, сети и все что с этим связано
tungus
Интересующийся
Сообщения: 44
Зарегистрирован: 11 авг 2002, 04:19

Re: Страшные муки организации шейпера...

Сообщение tungus »

Aleoldo писал(а):

Код: Выделить всё

#!/bin/sh

IPTABLES=/sbin/iptables
DEV_IN=eth1
RATE_IN=380

case "$1" in
start)
########################## IN #############################
tc qdisc add dev $DEV_IN root handle 1:0 htb default 99

tc class add dev $DEV_IN parent 1:0 classid 1:1 htb rate ${RATE_IN}kbit ceil ${RATE_IN}kbit

tc class add dev $DEV_IN parent 1:1 classid 1:10 htb rate $[$RATE_IN/6]kbit ceil $[$RATE_IN/2]kbit prio 0
tc class add dev $DEV_IN parent 1:1 classid 1:25 htb rate $[$RATE_IN/6]kbit ceil $[$RATE_IN/2]kbit prio 1
tc class add dev $DEV_IN parent 1:1 classid 1:50 htb rate $[$RATE_IN/4]kbit ceil ${RATE_IN}kbit prio 2
tc class add dev $DEV_IN parent 1:1 classid 1:75 htb rate $[$RATE_IN/4]kbit ceil ${RATE_IN}kbit prio 3
tc class add dev $DEV_IN parent 1:1 classid 1:99 htb rate $[$RATE_IN/4]kbit ceil ${RATE_IN}kbit prio 4

tc qdisc add dev $DEV_IN parent 1:10 handle 10: pfifo limit 5
tc qdisc add dev $DEV_IN parent 1:25 handle 25: sfq perturb 10
tc qdisc add dev $DEV_IN parent 1:50 handle 50: sfq perturb 10
tc qdisc add dev $DEV_IN parent 1:75 handle 75: sfq perturb 10
tc qdisc add dev $DEV_IN parent 1:99 handle 99: sfq perturb 10
Кстати нужно будет выставить r2q например в 1, т. к. 380/6=63<120 http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm

Код: Выделить всё

IPTABLES=/sbin/iptables 
#TC=/sbin/tc 
DEV_IN=eth0 
RATE=10000 
RATES_INS=1024 

case "$1" in 
start) 
########################## IN ############################# 
tc qdisc add dev $DEV_IN root handle 1:0 htb default 333 

tc class add dev $DEV_IN parent 1:0 classid 1:1 htb rate ${RATE}kbit ceil ${RATE}kbit 

tc class add dev $DEV_IN parent 1:1 classid 1:2 htb rate $[$RATES_INS/2]kbit ceil ${RATES_INS}kbit 
#.... 
tc class add dev $DEV_IN parent 1:1 classid 1:7 htb rate $[$RATES_INS/2]kbit ceil ${RATES_INS}kbit 
#.... 
tc class add dev $DEV_IN parent 1:1 classid 1:30 htb rate $[$RATES_INS/2]kbit ceil ${RATES_INS}kbit 
#.... 
tc class add dev $DEV_IN parent 1:1 classid 1:67 htb rate $[$RATES_INS/2]kbit ceil ${RATES_INS}kbit 
#.... 
tc class add dev $DEV_IN parent 1:1 classid 1:333 htb rate $[$RATES_INS/8]kbit ceil ${$RATES_INS/4]kbit #для особо умных,и тех кого я еще не добавил... 
# И ТАК НА КАЖДОГО ПОЛЬЗОВАТЕЛЯ
Желательно также чтобы сумма rate дочерних классов была меньше либо равной rate корневого класса 1:1.

С данными правилами если начнут качать одновременно больше 20 пользователей, могут быть проблемы с делением канала.

Aleoldo
Заглянувший
Сообщения: 10
Зарегистрирован: 20 фев 2008, 21:11
Откуда: Москва
Контактная информация:

Сообщение Aleoldo »

Спасибо,все советы очень важны для меня,и очень многое мне разъяснили!
tungus,
Маркировать пакеты (входящий трафик) c помощью iptables на eth0, шейпить аналогично с помощью htb на eth1
Попробовал,получилось!спасибо! :D
трафик режется в обе стороны,то чего добивался - сделал!теперь буду тестить,а то пока просто схемку набросал...
Упрощение фильтров,правил iptables, марок - пока не вижу смысла,до тех пор, пока хоть это все не отлажу до максимума.Да и потом,главное правило: если работает - не трож... :D :D :D
за главный совет,огромное тебе спасибо!
Не подскажещь теперь куда главное правило всунуть,которое я приводил в начале темы,где я разруливаю главный канал по 6 классам.это ведь очень важно, при таком дохлом исходящем канале... :(

на счет rate, тоже спасибо,это буду уже на месте подбирать,т.к. сейчас на моем рабочем месте канал 30 mbit\s и я с ним балуюсь.

я так понимаю при значениях меньще 120 kbit\s, значение параметра r2q должно быть "1".

ZTux
Заглянувший
Сообщения: 8
Зарегистрирован: 28 авг 2008, 15:28

Re: Страшные муки организации шейпера...

Сообщение ZTux »

В тему:

На линухе можно организовать раздачу трафика с разной скоростью в разное время - к примеру день256кб\с ночь512кб\с
При такой схеме:
dhcp+dns - для раздачи пользователю ip и для vpn-конекта по доменному имени
nat+forward - для определения какому ip адресу отдать интернет
vpn - для аутентификации пользователей
*cbq.init - для ограничения трафика

???

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Re: Страшные муки организации шейпера...

Сообщение Llama »

ZTux, так а в чем вопрос-то?
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
angor
Интересующийся
Сообщения: 40
Зарегистрирован: 22 сен 2007, 12:08
Откуда: Minsk
Контактная информация:

Re: Страшные муки организации шейпера...

Сообщение angor »

топикстартеру: может быть вам имеет смысл посмотреть abills? (abills.net.ua) Это биллинговая система (pptp+freeradius+apache+mysql) на перле. Скорость можно резать каждому клиенту на ppp-интерфейсе.

ZTux: а кто мешает по крону стартовать дневные/ночные шейперы?

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Re: Страшные муки организации шейпера...

Сообщение Llama »

angor, в iptables есть возможность маркировать пакеты по времени, это красивее чем передрегивать весь шейпер по крону...
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
angor
Интересующийся
Сообщения: 40
Зарегистрирован: 22 сен 2007, 12:08
Откуда: Minsk
Контактная информация:

Re: Страшные муки организации шейпера...

Сообщение angor »

Llama, если честно, не встречал. Подскажи, плз, что курить.

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Re: Страшные муки организации шейпера...

Сообщение Llama »

Опыт растет прямо пропорционально выведенному из строя оборудованию

Ответить