009: турбокнопка mpd5 attributes

Технические вопросы по UTM 5.0
Ответить
kirush
Сообщения: 699
Зарегистрирован: Пт фев 04, 2005 13:58

009: турбокнопка mpd5 attributes

Сообщение kirush »

Добрый день!
Подскажите пожалуйста у кого реализовано на примере пожалуйста.
Обновился на 009, перехожу на использование атрибутов mpd для шейпирования.
Завел юзера test2
В настройках тарифа даем 2 Мбит/с
Изображение
Хотим сделать Турбокнопку 100Мбит/с на 24 часа:
Входящий канал:
Изображение
Исходящий канал:
Изображение
Турборежим:
Изображение
Radius атрибуты:
Изображение
В логах:

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

?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; User <test2> connecting
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Session for sessionid <test2> not found in <10.1.255.250> cache
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 RADIUS DBA&#58; Info for login <test2> found. type <1>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Auth scheme&#58; MS-CHAPv2
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; MS-CHAPv2&#58; Authorized user <test2>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; IP claimed&#58; 0xac10092d &#40;<172.16.9.45>&#41;
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Calling fill radius attributes for service. Attr storage size <2>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<in#1=all shape 2048000 pass> Size&#58;<27> Result&#58;<0>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<out#1=all shape 2048000 pass> Size&#58;<28> Result&#58;<0>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Calling fill radius attributes for slink. Attr storage size <0>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<out#1=all shape 100000000 pass> Size&#58;<30> Result&#58;<0>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<in#1=all shape 100000000 pass> Size&#58;<29> Result&#58;<0>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Calling fill radius attributes for NAS. Attr storage size <0>
 Notice&#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Login OK <test2> from NAS <10.1.255.250> CLID <> Calling-station <10.1.2.2>
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Setting interim update interval from config
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Auth reply&#58; RPacket&#58;
в консоли mpd5:

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

&#91;&#93; link L1-228
&#91;L1-228&#93; show auth
Configuration&#58;
	My authname     &#58; 
	Max-Logins      &#58; 0
	Acct Update     &#58; 0
	   Limit In     &#58; 0
	   Limit Out    &#58; 0
	Auth timeout    &#58; 40
	ExtAuth script  &#58; 
	ExtAcct script  &#58; 
Auth options
	radius-auth	enable
	radius-acct	enable
	internal  	enable
	ext-auth  	disable
	ext-acct  	disable
	system-auth	disable
	system-acct	disable
	pam-auth  	disable
	pam-acct  	disable
	acct-mandatory	disable
Auth Data
	Peer authname   &#58; test2
	Interface name  &#58; 
	Interface descr.&#58; ""
	Interface group &#58; 
	IP range        &#58; 172.16.9.45/32
	IP pool         &#58; 
	DNS             &#58; 0.0.0.0 0.0.0.0
	NBNS            &#58; 0.0.0.0 0.0.0.0
	MTU             &#58; 0
	Session-Timeout &#58; 2592000
	Idle-Timeout    &#58; 0
	Acct-Update     &#58; 62
	Routes          &#58;
	IPFW rules      &#58;
	IPFW pipes      &#58;
	IPFW queues     &#58;
	IPFW tables     &#58;
	Traffic filters &#58;
	Traffic limits  &#58;
		in#1	&#58; 'all shape 2048000 pass'
		out#1	&#58; 'all shape 2048000 pass'
	MS-Domain       &#58; &#40;null&#41;
	MPPE Types      &#58; Not available
	MPPE Policy     &#58; no encryption required
	MPPE Keys       &#58; no
Скорость остается на 2Мбит/с. Подскажите, что делаю не так как по инструкции?

P.S. посоветовали перевести shape на rate-limit
с указанием burst по формуле:
normal burst = configured rate * 3 / 16
extended burst = 2 * normal burst
Но сначала хотелось бы добиться работы Турбокнопки.

Аватара пользователя
ZeM
Сообщения: 371
Зарегистрирован: Чт фев 17, 2011 08:38

Сообщение ZeM »

Добрый день! Думаем обновиться на 009 Вам так и не удалось отдать радиус атрибуты для турбокнопки? Есть мнение что это работает только с dynashape.

kirush
Сообщения: 699
Зарегистрирован: Пт фев 04, 2005 13:58

Сообщение kirush »

Модуль Dynashape подключен, настройки проведены (на картинках) - но заставить работать не удалось

Аватара пользователя
ZeM
Сообщения: 371
Зарегистрирован: Чт фев 17, 2011 08:38

Сообщение ZeM »

А у вас вообще на простых тарифах атрибуты mpd отрабатывают?

kirush
Сообщения: 699
Зарегистрирован: Пт фев 04, 2005 13:58

Сообщение kirush »

Я указал, что создал тариф со скоростью 2 Мбит/с:
Вот он и работает и не меняется:
Traffic limits :
in#1 : 'all shape 2048000 pass'
out#1 : 'all shape 2048000 pass'

ekex
Сообщения: 42
Зарегистрирован: Вт май 05, 2009 11:54

Сообщение ekex »

А зачем указывать скорость в тарифе, если она указана в динашейпе(входящий, исходящий канал)?
Атрибуты, судя по логам, у вас передаются:

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

?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Calling fill radius attributes for service. Attr storage size <2> 
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<in#1=all shape 2048000 pass> Size&#58;<27> Result&#58;<0> 
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27> 
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<out#1=all shape 2048000 pass> Size&#58;<28> Result&#58;<0> 
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27> 
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; Calling fill radius attributes for slink. Attr storage size <0> 
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<out#1=all shape 100000000 pass> Size&#58;<30> Result&#58;<0> 
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27> 
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<in#1=all shape 100000000 pass> Size&#58;<29> Result&#58;<0> 
?Debug &#58; Apr 02 20&#58;53&#58;04 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27> 
Я не уверен, но возможно mpd принимает только первые два лимита из тарифа.

Аватара пользователя
ZeM
Сообщения: 371
Зарегистрирован: Чт фев 17, 2011 08:38

Сообщение ZeM »

ekex Эту версию легко проверить хотя интересно если mpd подхватывает 1 раз параметры скорости то как же абоненту лимит устанавливать шейпинга?) Типа завести абонента в тариф без атрибутов и через турбокнопку отдать ему атрибуты скорости. Я не на 009 проверить не могу.

kirush
Сообщения: 699
Зарегистрирован: Пт фев 04, 2005 13:58

Сообщение kirush »

Продолжил опыты. Добился следующего:
Из тарифа убрал RADIUS атрибуты.
В "динамическое шейпирование" установил на входящий и исходящий канал 2000 (2Mbit).
В Турборежиме установил 102400 (100Mbit) на входящий и исходящий канал.
При подключении в логах:

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

?Debug &#58; Apr 12 01&#58;12&#58;27 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<in#1=all shape 2048000 pass> Size&#58;<27> Result&#58;<0>
?Debug &#58; Apr 12 01&#58;12&#58;27 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27>
?Debug &#58; Apr 12 01&#58;12&#58;27 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<out#1=all shape 2048000 pass> Size&#58;<28> Result&#58;<0>
?Debug &#58; Apr 12 01&#58;12&#58;27 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27>
Включаем турбо-режим в ЛК, в логах ничего не происходит, скорость не увеличивается, параметры никакие радиусу не отдаются. Но стоит переподключить VPN, в логах:

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

?Debug &#58; Apr 12 01&#58;14&#58;21 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<in#1=all shape 104857600 pass> Size&#58;<29> Result&#58;<0>
?Debug &#58; Apr 12 01&#58;14&#58;21 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<29>
?Debug &#58; Apr 12 01&#58;14&#58;21 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<out#1=all shape 104857600 pass> Size&#58;<30> Result&#58;<0>
?Debug &#58; Apr 12 01&#58;14&#58;21 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<29>
Канал становится 100Мбит/с, те параметры MPD принял Турборежима.
По истечении времени работы "Турборежима" никаких изменений в логах нет, канал как был 100Мбит/с так и остался, но стоит переподнять VPN в логах:

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

?Debug &#58; Apr 12 01&#58;28&#58;48 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<in#1=all shape 2048000 pass> Size&#58;<27> Result&#58;<0>
?Debug &#58; Apr 12 01&#58;28&#58;48 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27>
?Debug &#58; Apr 12 01&#58;28&#58;48 2864e140 AuthServer&#58; fill_radius_data Vendor&#58;<12341> Attr&#58;<7> String val&#58;<out#1=all shape 2048000 pass> Size&#58;<28> Result&#58;<0>
?Debug &#58; Apr 12 01&#58;28&#58;48 2864e140 AuthServer&#58; fill_radius_data verify Size&#58;<27>
Те вернулись 2Мбит/с.
Итог на данный момент, не работает в режиме "онлайн".
P.S. В параметрах ошибся, вместо 102400 конечно нужно 100000 ставить, но сути это не меняет.
P.S.2. Зарегистрировал bug репорт 2013041210000016 по данной проблеме, с просьбой либо подтвердить баг либо неверную настройку шейпирования :)

Аватара пользователя
ZeM
Сообщения: 371
Зарегистрирован: Чт фев 17, 2011 08:38

Сообщение ZeM »

Как ответят разработчики отпишите здесь! Тоже интересует турбокнопка + mpd. И да - есть еще радиус атрибуты в свойствах пользователя. Которые также не работают вообще.

kirush
Сообщения: 699
Зарегистрирован: Пт фев 04, 2005 13:58

Сообщение kirush »

Оперативно, сегодня с утра ответили.
Ваша проблема проистекает из-за неверных настроек биллинга:
radius-атрибуты
передаются при запросе на аутентификацию. Для того, чтобы были отосланы

новые значения radius-атрибутов, необходимо завершить текущую сессию с
помощью правил фаервола для модуля динамического шейпирования (Событие
на изменение ширины входящего/исходящего канала).

С уважением, группа технической поддержки Компании НетАП.
Т.е. сессия сама будет перебрасываться - сегодня попробую настрою и расскажу. Если интересно могу подготовить подробную инструкцию.

Аватара пользователя
ZeM
Сообщения: 371
Зарегистрирован: Чт фев 17, 2011 08:38

Сообщение ZeM »

kirush
Да это было бы замечательно. Ждемс :)
А у Вас адрес электропочты есть?
Планируем скоро обновится до 009 ветки.

kirush
Сообщения: 699
Зарегистрирован: Пт фев 04, 2005 13:58

Сообщение kirush »

Уперся в то, что непонятно как лучше завершать сессию в mpd? Как это скормить файерволу.

Накопал пока только:
Здесь для управления NAS'ом используется консоль mpd, поэтому запускать mpd следует с дополнительными ключами: -a MHOST -c MPORT, где MHOST и MPORT нужно заменить на прослушиваемые ip и порт соответсвенно.

Скрипт прерывания сессии:

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

#!/usr/local/bin/bash
MHOST=127.0.0.1  # mpd host
MPORT=5555       # mpd telnet port
IP="$3";

test -z "$IP" && exit 1
for bundle in `echo "bundle" | /usr/bin/nc $MHOST $MPORT | grep Opened | awk '&#123;print $1&#125;'`;
do
if echo -e "bundle $bundle\\nshow iface" | /usr/bin/nc $MHOST $MPORT | grep "$&#123;IP&#125;$" >/dev/null 2>&1
then
echo -e "bundle $bundle\\nclose phys" | /usr/bin/nc $MHOST $MPORT >/dev/null 2>&1
fi
done;
exit 0;
и это:
viewtopic.php?t=3716&postdays=0&postorder=asc&start=60

эхх как же не хватает документации о способах реализации от разработчиков :(

Ответить