MPD5 Radius атрибуты

Технические вопросы по UTM 5.0
Ответить
VooDoo
Сообщения: 71
Зарегистрирован: Вт сен 18, 2007 10:15

MPD5 Radius атрибуты

Сообщение VooDoo »

Помогите с настройкой радиус атрибутов для MPD5.

Вопрос:
Кто знает, напишите пример настройки атрибутов для ограничения скорости в разное время суток, например днем одна скорость ночью другая.

И разная скорость с разных адресов, например внешний интернет и внутрення сеть

Возможно ли такое.?
За ранее спасибо.
Последний раз редактировалось VooDoo Пт сен 24, 2010 07:58, всего редактировалось 1 раз.

CarTer
Сообщения: 62
Зарегистрирован: Пн май 26, 2008 09:18

Сообщение CarTer »

Тоже этот вопрос интересует
Отпишите кто настраивал

VooDoo
Сообщения: 71
Зарегистрирован: Вт сен 18, 2007 10:15

Сообщение VooDoo »

Нашел как делать с разных ресурсов разную скорость.

Пример

mpd-filter += "1#1=nomatch dst net 10.0.0.0/24",
mpd-filter += "1#2=match dst net 10.0.0.0/8",
mpd-filter += "2#1=nomatch src net 10.0.0.0/24",
mpd-filter += "2#2=match src net 11.0.0.0/8",
mpd-limit += "in#1=flt1 pass",
mpd-limit += "in#2#Biz=all shape 64000 4000",
mpd-limit += "out#1=flt2 pass",
mpd-limit += "out#2#Biz=all rate-limit 1024000 150000 300000"

взято сайта документции по mpd
http://mpd.sourceforge.net/doc5/mpd30.html#30

Вот про время не нашел. Кто настраивал отзовитесь

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

читайте в мануале mpd5 про radius COA и POD. Там есть возможность каждому пользователю менять скорость http://mpd.sourceforge.net/doc5/mpd32.html#32 . Альтернативы - или dummynet и крон(скриптом менять скорости пайпов) или скрипт по крону, который будет обходить все подключения и менять им скорость. Есть еще вариант - подменять таблицу радиус-аттрибутов по крону, заставлять всех переподключаться. Но это неправильно с точки зрения абонента.

CarTer
Сообщения: 62
Зарегистрирован: Пн май 26, 2008 09:18

Сообщение CarTer »

Тут по ходу изучения COA и POD возникли вопросы:
1. Поддерживает ли встроенный радус utm'a данные функции или придется отказыватся от него и переходить на freeradius
2. Если не затруднит привести какойнибудь рабочий пример.

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

1. Не поддерживает ни тот ни другой. Управление ведется с помощью radius-client. Можно взять из состава freeradius.
Можно воспользоваться вот этим:

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

 ./utm5_radgen -h
utm5_radgen: option requires an argument -- h
NetUP UTM billing radius packet generator. Compile date: Dec  5 2008 17:35:10
Copyright (c) 2001-2008 NetUP Inc. www.netup.ru
usage: utm5_radgen
        [-p port]               Port to send radius packet
        [-h ip]                 IP-address to send radius packet
        [-s secret]             Shared radius secret
        [-c code]               Radius packet code (Access-Request default - 1)
        [-u user_password]      User password (vendor 0, attribute 2)
        [-a attr_info]          Custom radius attributes. vendor_id:attr_id:is_digit:value. For example: 0:1:0:testlogin
        [-b attr_info]          Custom radius binary attributes in hex ascii. vendor_id:attr_id:1:value. For example: 0:1:1:bb1e6816178602135990dd9b05e9d508
        [-v]                    Version info

Соответственно слать что-нить в духе -a 0:1:0:user1 -a 12341:7:0:in#1=all rate-limit 1 pass -a 12341:7:0:out#1=all rate-limit 100000 pass
Возможно потребуются кавычки.

CarTer
Сообщения: 62
Зарегистрирован: Пн май 26, 2008 09:18

Сообщение CarTer »

Получается если использовать utm5_radgen придется писать скрипт для вызова этой программы с атрибутами и запихивать в крон?

mikkey finn
Сообщения: 1612
Зарегистрирован: Пт ноя 10, 2006 15:23

Сообщение mikkey finn »

да.

VooDoo
Сообщения: 71
Зарегистрирован: Вт сен 18, 2007 10:15

Сообщение VooDoo »

В любом случае для моего вопроса это все не подходит.
Все равно атрибуты должны передаваться в момент подключения, чтоб на интерфейсе создавалась определенная полоса пропускания. С помощью это утилиты поменять уже на созданном интерфейсе без переподключения ширину канала не получится!
Или я не прав ?

CarTer
Сообщения: 62
Зарегистрирован: Пн май 26, 2008 09:18

Сообщение CarTer »

Если использовать COA, то можно поменять параметры радиуса на лету, изменить скорость канала на абоненте без пере подключения.

OlegF
Сообщения: 26
Зарегистрирован: Вт янв 03, 2006 17:30

Сообщение OlegF »

CarTer писал(а):Если использовать COA, то можно поменять параметры радиуса на лету, изменить скорость канала на абоненте без пере подключения.
Бьюсь с этой задачей, подскажи как это сделать.

Аватара пользователя
kamae1ka
Сообщения: 142
Зарегистрирован: Пн окт 04, 2010 05:14

Сообщение kamae1ka »

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

shape.pl

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

use DBI;
$mysqlAHost = 'localhost';
$mysqlADb = 'UTM5';
$mysqlAUser = 'xxx';
$mysqlAPassword = 'xxx';
$mysqlAConnect = "dbi:mysql:$mysqlADb;$mysqlAHost";
$Adbh = DBI->connect($mysqlAConnect, $mysqlAUser, $mysqlAPassword);
$Aquery = "SELECT dialup_service_links.login AS user_name, nigth_speed.speed_in AS s_in, nigth_speed.speed_out AS s_out, nigth_speed.nas_ip AS nas_ip, nigth_speed.nas_pass AS nas_pass
FROM accounts, service_links, dialup_service_links, nigth_speed
WHERE service_links.service_id=63
AND service_links.account_id=accounts.id
AND dialup_service_links.id=service_links.id;";

$Asth = $Adbh->prepare($Aquery);
$Aresults = $Adbh->selectall_hashref($Aquery, 'user_name');
foreach $user_name (keys %$Aresults) {
$speed_in = $Aresults->{$user_name}->{s_in} * 2;
$speed_out = $Aresults->{$user_name}->{s_out} * 2;
$nasip = $Aresults->{$user_name}->{nas_ip};
$naspw = $Aresults->{$user_name}->{nas_pass};
$burst_in = $speed_in * 2 / 16;
$burst_out = $speed_out * 2 / 16;
system ("/bin/echo User-Name=$user_name,mpd-limit+=\\\"in\#1=all shape $speed_in $burst_in pass\\\",mpd-limit+=\\\"out\#1=all shape $speed_out $burst_out pass\\\"|/usr/bin/radclient -x $nasip:3799 coa $naspw");
}
$Adbh->disconnect();
и добавь в mpd.conf

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

startup:
        set radsrv peer xxx.xxx.xxx.xxx secret
        set radsrv self xxx.xxx.xxx.xxx 3799
        set radsrv open

Ответить