Jump to content

Recommended Posts

Posted

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

 

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

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

 

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

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

Posted (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 by Hasten7
Posted

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

Posted

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

Да.

Posted
Для этого есть 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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.