Перейти к содержимому
Калькуляторы

Ночной тариф помогите советом

Помогите, как увеличить скорость ночью в unlim тарифе в два раза?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дернуть волосок из админской бороды и после трах-тибидоха Ваше желание сбудется.

 

п.с. А по теме: обратитесь на форум техподдержки Вашего биллинга.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Помогите, как увеличить скорость ночью в unlim тарифе в два раза?

http://sources.homelink.ru/shaping/readme_rus.txt

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

изменить параметры шейпера по крону :)

 

я до 5 раз быстрее делаю ночь

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

изменить параметры шейпера по крону :)

 

я до 5 раз быстрее делаю ночь

Ага, практический вопрос сразу :) 7206vxr, радиусом выдаются policy-map. Ну допустим, перепишу я конфиг этих policy-map по крону, применятся ли новые значения на уже открытые сессии ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

О получилось, вот мой вариант может кого заинтерисует

в скрипте поднятия /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

 

 

Изменено пользователем Hasten7

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На деле верхний скрипт оказался не очень, после переподключения тунеля скорость не подымается, и отдача не режится вообще, кто подскажет чего так???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для этого есть CoA.

И чего толку, если радиус от netup ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

прикрутить другой к базе биллинга/урфе - сложность уже?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ага, практический вопрос сразу :) 7206vxr, радиусом выдаются policy-map. Ну допустим, перепишу я конфиг этих policy-map по крону, применятся ли новые значения на уже открытые сессии ?

Да.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для этого есть CoA.
И чего толку, если радиус от netup ?

А какая разница, если CoA один хер отсылается в большинстве случаев из скрипта?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.