В Чтв, 31/01/2008 в 13:14 -0500, Nicholas пишет: > Покотиленко Костик wrote: > > - Добавляем только ещё один HTB класс со скоростью, например 1kbit/s - > > это для приземления превышения скорости. > > Логичнее дать каждому пользователю соразмерную минимально > гарантированную (rate) и максимальную (ceil) ширину канала. > (rate 64kbps ceil 128kbps, как вариант)
Так сложнее получается. Чем мне не нравится править классы HTB, так это постоянным пересчётом a1=a11+a12+a13... Конечно, понятно, что это один раз надо сделать, но, опять же, придётся забить кучу классов, большая часть из которых будет простаивать, а следовательно, придётся ещё думать как не используемую ширину канала одалживать классу обычных пользователей, например. К тому же человеку заводящему клиентов в биллинг нужно будет постоянно помнить кому какие IP давать. А так он назначил тариф 128+ или 256+ и забыл. Хотя, конечно, ваш вариант - тоже вариант. > >> Вопрос: есть ли дисциплина позволяющая ограничивать максимальную > >> скорость до указанного значения для каждого IP отдельно, > > Возможно стоить выдавать анлимитчикам ip из определенной подсети и > заранее сделать правила для всех (каждого) ip этой подсети. > (клас, дисциплина и фильтры входящий/исходящий - по 4 правила) > > Процесс можно автоматизировать, примерно, так: > > echo "tc qdisc add dev eth0 root handle 1: htb default" > tc.conf > > for i in `seq 1 254`; do echo "tc class add dev eth0 parent 1: classid > 1:$i htb rate 64kbps ceil 128kbps burst 150k" >> tc.conf; done; > > for i in `seq 1 254`; do echo "tc qdisc add dev eth0 parent 1:$i handle > $i: sfq perturb 10" >> tc.conf; done; > > for i in `seq 1 254`; do echo "tc filter add dev eth0 parent 1: protocol > ip prio 1 u32 match ip src xx.xx.xx.$i flowid 1:$i" >> tc.conf; done; > > for i in `seq 1 254`; do echo "tc filter add dev eth0 parent 1: protocol > ip prio 1 u32 match ip dst xx.xx.xx.$i flowid 1:$i" >> tc.conf; done; > > > Если вы будете использовать openvpn для авторизации, то eth0 можно > заменить на tap0 > > Кроме того, если вы используете дисциплину htb, удобно с ее подружить с > rrd и смотреть графики нагрузки по ip. Для авторизации используется биллинг со встроенной функцией авторизации + у клиентов в трее висит клиент-авторизатор. Графики по каждому клиенту рисовать часто - это сильно ресурсоёмко. А не часто смысла нет, так как эту статистику биллинг ведёт. Спасибо за то что поделились опытом. -- Покотиленко Костик <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]