Hasten7 Posted June 2, 2010 Posted June 2, 2010 Помогите, как увеличить скорость ночью в unlim тарифе в два раза? Вставить ник Quote
Elisium Posted June 2, 2010 Posted June 2, 2010 Дернуть волосок из админской бороды и после трах-тибидоха Ваше желание сбудется. п.с. А по теме: обратитесь на форум техподдержки Вашего биллинга. Вставить ник Quote
Ilya Evseev Posted June 3, 2010 Posted June 3, 2010 Помогите, как увеличить скорость ночью в unlim тарифе в два раза? http://sources.homelink.ru/shaping/readme_rus.txt Вставить ник Quote
fox_m Posted June 4, 2010 Posted June 4, 2010 crontab Вам в помощь и немного фантазии. Вставить ник Quote
AntonS Posted June 4, 2010 Posted June 4, 2010 изменить параметры шейпера по крону :) я до 5 раз быстрее делаю ночь Вставить ник Quote
YuryD Posted June 4, 2010 Posted June 4, 2010 изменить параметры шейпера по крону :) я до 5 раз быстрее делаю ночь Ага, практический вопрос сразу :) 7206vxr, радиусом выдаются policy-map. Ну допустим, перепишу я конфиг этих policy-map по крону, применятся ли новые значения на уже открытые сессии ? Вставить ник Quote
Hasten7 Posted June 4, 2010 Author Posted June 4, 2010 (edited) О получилось, вот мой вариант может кого заинтерисует в скрипте поднятия /etc/ppp/ip-up HOUR_START=0 HOUR_END=8 HOUR=`date +%H` if [ ${HOUR} -gt ${HOUR_START} ] && [ ${HOUR} -lt ${HOUR_END} ]; then SPEED=$[ ${SPEED} * 2 ] if [$channel != "utk"] then UPSPEED=${UPSPEED} else UPSPEED=$[ ${UPSPEED} * 2 ] fi elif [ ${HOUR} == ${HOUR_START} ] then SPEED=$[ ${SPEED} * 2 ] if [$channel != "utk"] then UPSPEED=${UPSPEED} else UPSPEED=$[ ${UPSPEED} * 2 ] fi else SPEED=${SPEED} UPSPEED=${UPSPEED} fi PHP скрипт для изменения скорости текущих впн соединений <?php $tc = '/sbin/tc'; $ip = '/sbin/ip'; $double = 0; $half = 0; if (!empty($argv[1]) && $argv[1] == 'double') $double = 1; if (!empty($argv[1]) && $argv[1] == 'half') $half = 1; exec($ip.' r | grep ppp | awk \'{print $3;}\' | tr "[:upper:]" "[:lower:]"', $ipr); $devs = array(); for ($i=0;$i<sizeof($ipr);$i++) { if (!in_array(trim($ipr[$i]),$devs)) $devs[]=trim($ipr[$i]); } for ($i=0;$i<sizeof($devs);$i++) { $speed=''; exec($tc.' class sh dev '.$devs[$i].' | awk \'{print $11;}\'',$speed); if (!empty($speed[0]) && eregi('Kbit',$speed[0])) // if Kilobits { $new_speed = eregi_replace('Kbit','',$speed[0]); if ($half == 1) $new_speed = $new_speed / 2; if ($double == 1) $new_speed = $new_speed * 2; } elseif (!empty($speed[0]) && !eregi('Kbit',$speed[0])) // if bits { $new_speed = eregi_replace('bit','',$speed[0]); if ($half == 1) $new_speed = $new_speed / 1000 / 2; if ($double == 1) $new_speed = $new_speed / 1000 * 2; } if (!empty($speed[0]) && $new_speed > 0) { exec($tc.' qdisc del dev '.$devs[$i].' root handle 1: htb default 20 r2q 2'); exec($tc.' qdisc del dev '.$devs[$i].' handle ffff: ingress'); exec($tc.' qdisc add dev '.$devs[$i].' root handle 1: htb default 20 r2q 2'); exec($tc.' class add dev '.$devs[$i].' parent 1: classid 1:1 htb rate '.$new_speed.'kbit burst 4k'); exec($tc.' class add dev '.$devs[$i].' parent 1:1 classid 1:10 htb rate '.$new_speed.'kbit burst 4k prio 1'); exec($tc.' class add dev '.$devs[$i].' parent 1:1 classid 1:20 htb rate '.$new_speed.'kbit burst 4k prio 2'); exec($tc.' qdisc add dev '.$devs[$i].' parent 1:10 handle 10: sfq perturb 10 quantum 1500'); exec($tc.' qdisc add dev '.$devs[$i].' parent 1:20 handle 20: sfq perturb 10 quantum 1500'); exec($tc.' filter add dev '.$devs[$i].' parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10'); exec($tc.' filter add dev '.$devs[$i].' parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10'); exec($tc.' filter add dev '.$devs[$i].' parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10'); exec($tc.' qdisc add dev '.$devs[$i].' handle ffff: ingress'); exec($tc.' filter add dev '.$devs[$i].' parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 police rate '.$new_speed.'kbit burst 12k drop flowid :1'); } } ?> а в /etc/crontab добавить 0 0 * * * php -f /etc/ppp/double.speed.php double 1 > /dev/null 2 > /dev/null 0 8 * * * php -f /etc/ppp/double.speed.php half 1 > /dev/null 2 > /dev/null Edited June 4, 2010 by Hasten7 Вставить ник Quote
Hasten7 Posted June 5, 2010 Author Posted June 5, 2010 На деле верхний скрипт оказался не очень, после переподключения тунеля скорость не подымается, и отдача не режится вообще, кто подскажет чего так??? Вставить ник Quote
YuryD Posted June 9, 2010 Posted June 9, 2010 Для этого есть CoA. И чего толку, если радиус от netup ? Вставить ник Quote
mikevlz Posted June 9, 2010 Posted June 9, 2010 прикрутить другой к базе биллинга/урфе - сложность уже? Вставить ник Quote
macabre Posted June 10, 2010 Posted June 10, 2010 Ага, практический вопрос сразу :) 7206vxr, радиусом выдаются policy-map. Ну допустим, перепишу я конфиг этих policy-map по крону, применятся ли новые значения на уже открытые сессии ? Да. Вставить ник Quote
Abram Posted June 11, 2010 Posted June 11, 2010 Для этого есть CoA.И чего толку, если радиус от netup ? А какая разница, если CoA один хер отсылается в большинстве случаев из скрипта? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.