forum.bitel.ru
http://forum.bitel.ru/

Переопределить набор атрибутов для конкретного NASа
http://forum.bitel.ru/viewtopic.php?f=5&t=6104
Страница 1 из 1

Автор:  iros [ 10 ноя 2011, 14:06 ]
Заголовок сообщения:  Переопределить набор атрибутов для конкретного NASа

v4.6
В конфигурации модуля определены наборы атрибутов (для управления скоростью)
Внедряю новый NAS. Те атрибуты, что уже определены - ему не подходят. От них у него ошибка. :(
Именно для этого NASа, для тех-же наборов нужно переопределить другие атрибуты.
Как ?

Автор:  Cromeshnic [ 10 ноя 2011, 14:23 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

Просто переопределяете их в конфигурации NAS-а.
Не помню, как 4.6, но в 5.1 работает.

Автор:  iros [ 10 ноя 2011, 14:30 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

Т.е. если в конфиге модуля написано:
Цитата:
attrset.25.title=DataSpeed-16000
attrset.25.attributes=PPPD-Upstream-Speed-Limit=16000;PPPD-Downstream-Speed-Limit=16000


То я могу в конфиге конкретного наса написать:
Цитата:
attrset.25.title=DataSpeed-16000
attrset.25.attributes=AAA-AAA-AAA=16000;BBB-BBB-BBB=16000


И это сработает ?

Автор:  Cromeshnic [ 10 ноя 2011, 14:43 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

Да, у нас так и работает на 5.1. Насчет 4.6 нужно уточнить.

Автор:  Phricker [ 10 ноя 2011, 16:32 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

http://bgbilling.ru/v5.1/download/kernel/changes.txt
Переопределение атрибутов появилось согласно этому файлу в 5.1. версии. Так что в 4.6 скорее всего не сработает

Автор:  iros [ 10 ноя 2011, 16:36 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

В 4.6 не работает. Проверил. :(
Как еще можно ?
Скриптом ? Не нашел как удалить атрибут из пакета...

Автор:  snark [ 10 ноя 2011, 18:59 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

iros писал(а):
Не нашел как удалить атрибут из пакета

В 4.6, скрипте предобработки, такое работало, а в 5.0 продолжает работать:
Код:
if (request.hasAttribute(64)) request.removeAttributes(64); // Tunnel-Type
if (request.hasAttribute(65)) request.removeAttributes(65); // Tunnel-Medium-Type
if (request.hasAttribute(66)) request.removeAttributes(66); // Tunnel-Client-Endpoint
if (request.hasAttribute(90)) request.removeAttributes(90); // Tunnel-Client-Auth-ID
if (request.hasAttribute(91)) request.removeAttributes(91); // Tunnel-Server-Auth-ID

Автор:  iros [ 10 ноя 2011, 21:32 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

snark с меня пиво !
Благодарю.

Автор:  Phricker [ 10 ноя 2011, 22:21 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

snark писал(а):
iros писал(а):
Не нашел как удалить атрибут из пакета

В 4.6, скрипте предобработки, такое работало, а в 5.0 продолжает работать:
Код:
if (request.hasAttribute(64)) request.removeAttributes(64); // Tunnel-Type
if (request.hasAttribute(65)) request.removeAttributes(65); // Tunnel-Medium-Type
if (request.hasAttribute(66)) request.removeAttributes(66); // Tunnel-Client-Endpoint
if (request.hasAttribute(90)) request.removeAttributes(90); // Tunnel-Client-Auth-ID
if (request.hasAttribute(91)) request.removeAttributes(91); // Tunnel-Server-Auth-ID

А в 5.1 удалили request.hasAttribute :( Я сталкивался

Автор:  iros [ 11 ноя 2011, 16:01 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

v4.6
Чет пробую - не удаляются атрибуты. Наверно не так пробую.
Наставьте на путь истинный.

Вот весь скрипт предобработки.
(удалять надо атрибуты 230-235 стандартного набора)


Цитата:
import bitel.billing.server.radius.*;

if (request.hasAttribute(230)) request.removeAttributes(230); // Remove PPPD attributes
if (request.hasAttribute(231)) request.removeAttributes(231); //
if (request.hasAttribute(232)) request.removeAttributes(232); //
if (request.hasAttribute(233)) request.removeAttributes(233); //
if (request.hasAttribute(234)) request.removeAttributes(234); //
if (request.hasAttribute(235)) request.removeAttributes(235); //

if (response.hasAttribute(230)) request.removeAttributes(230); // Remove PPPD attributes
if (response.hasAttribute(231)) request.removeAttributes(231); //
if (response.hasAttribute(232)) request.removeAttributes(232); //
if (response.hasAttribute(233)) request.removeAttributes(233); //
if (response.hasAttribute(234)) request.removeAttributes(234); //
if (response.hasAttribute(235)) request.removeAttributes(235); //

// Это что б подменить атрибут MAC-addres на Calling_Station_Id. Взято из вики.
attributes = request.getVendorAttributes( 2352, 145 );

for( it = attributes.iterator(); it.hasNext(); )
{
ra = (RadiusAttribute)it.next();
value = ra.getStringValue();
if( value != null){
request.setStringAttribute( RadiusStandartAttributes.Calling_Station_Id, value );
}
}

Автор:  snark [ 12 ноя 2011, 07:05 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

iros писал(а):
v4.6
Чет пробую - не удаляются атрибуты. Наверно не так пробую.

...

(удалять надо атрибуты 230-235 стандартного набора)

Цитата:
if (request.hasAttribute(230)) request.removeAttributes(230); // Remove PPPD attributes
if (request.hasAttribute(231)) request.removeAttributes(231); //
if (request.hasAttribute(232)) request.removeAttributes(232); //
if (request.hasAttribute(233)) request.removeAttributes(233); //
if (request.hasAttribute(234)) request.removeAttributes(234); //
if (request.hasAttribute(235)) request.removeAttributes(235); //

if (response.hasAttribute(230)) request.removeAttributes(230); // Remove PPPD attributes
if (response.hasAttribute(231)) request.removeAttributes(231); //
if (response.hasAttribute(232)) request.removeAttributes(232); //
if (response.hasAttribute(233)) request.removeAttributes(233); //
if (response.hasAttribute(234)) request.removeAttributes(234); //
if (response.hasAttribute(235)) request.removeAttributes(235); //


Таки стандартные атрибуты или все же vendor specific? ;)

Автор:  iros [ 12 ноя 2011, 12:11 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

Цитата:
###############################################################################
##Custom attributes

ATTRIBUTE PPPD-Upstream-Speed-Limit 230 string
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 string
ATTRIBUTE PPPD-Custom-Filter 232 string
ATTRIBUTE PPPD-Custom-Flag 233 string
ATTRIBUTE PPPD-IP-Filter 234 string
ATTRIBUTE PPPD-NetFlow-Export 235 string

##
###############################################################################

Они у меня прописаны без указания вендора, значит стандартные.
Коды из диапазона "224-240 Implementation Specific" http://tools.ietf.org/html/rfc3575
А почему Вы решили, что они vendor specific ?

Автор:  snark [ 12 ноя 2011, 13:42 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

iros писал(а):
А почему Вы решили, что они vendor specific ?

Слово PPPD увидел вот и решил, что это vendor ;)

Странно что не работает, т.к. removeAttributes() в 4.6 есть.

Вот это вот у Вас где?

iros писал(а):
Цитата:
###############################################################################
##Custom attributes

ATTRIBUTE PPPD-Upstream-Speed-Limit 230 string
ATTRIBUTE PPPD-Downstream-Speed-Limit 231 string
ATTRIBUTE PPPD-Custom-Filter 232 string
ATTRIBUTE PPPD-Custom-Flag 233 string
ATTRIBUTE PPPD-IP-Filter 234 string
ATTRIBUTE PPPD-NetFlow-Export 235 string

##
###############################################################################


Все атрибуты в БГБ должны быть в его словаре, в его формате, а то что Вы привели - это формат фрирадиуса.

Покажите лог в клиенте, в котором было бы видно что именно Вы хотите вырезать. Вполне возможно что БГБ, насчет этих атрибутов, думает иначе чем Вы предполагаете ;)

Автор:  iros [ 12 ноя 2011, 14:46 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

>Вот это вот у Вас где?

Это строки из словаря NAS-а (accel-ppp) просто этот формат читабельнее чем у БГБ. по этому привел его.
В бгб у меня так:
Файл /usr/local/BGRadiusDialup/dictionary.xml
Цитата:
<attribute name="NAS-Port-Id" type="string" code="87"/>
<attribute name="Framed-Pool" type="string" code="88"/>
<attribute name="Tunnel-Client-Auth-ID" type="tag" code="90"/>
<attribute name="Tunnel-Server-Auth-ID" type="tag" code="91"/>
<attribute name="Digest-Response" type="string" code="206"/>
<attribute name="Digest-Attributes" type="string" code="207"/>
<attribute name="PPPD-Upstream-Speed-Limit" type="string" code="230"/>
<attribute name="PPPD-Downstream-Speed-Limit" type="string" code="231"/
<attribute name="PPPD-Custom-Filter" type="string" code="232"/>
<attribute name="PPPD-Custom-Flag" type="string" code="233"/>
<attribute name="PPPD-IP-Filter" type="string" code="234"/>
</attributes>


>Покажите лог в клиенте
Клиент - Redback SE-100 его логи тут не к месту будут.
Суть в том, что я перелезаю с тазиков с accel-ppp на Redback.
accel-ppp прекрасно получал атрибуты типа "PPPD-Upstream-Speed-Limit" и так все работало несколько лет.
Но теперь надо плавно перелезть на Redback. В авторизацию я добавил Redback-овские атрибуты. Но там остались и PPPD. От них у редбака "сносит крышу". Их надо вырезать из обмена с редбаком.
Вырезать не получается. :-(

Автор:  snark [ 14 ноя 2011, 10:09 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

Тут либо ждать разработчиков, чтобы они объяснили почему такое не срабатывает
Код:
import bitel.billing.server.radius.*;

for (i = 230; i <= 235; i++)
{
    if (request.hasAttribute(i)) request.removeAttributes(i);
}

либо обновляться, чтобы переопределение атрибутов начало работать.

Автор:  mrustik [ 28 ноя 2011, 11:04 ]
Заголовок сообщения:  Re: Переопределить набор атрибутов для конкретного NASа

Странно, у меня Cisco и Redback Se-100 атрибуты вместе работают, правда без CoA, там у SE-100 сносит крышу. Готовлю к переходу на 5.1, здесь пока проблемы другие.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/