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

Скрипт предобработки RADIUS для контроля MAC
http://forum.bitel.ru/viewtopic.php?f=5&t=3472
Страница 1 из 1

Автор:  vi007 [ 25 янв 2010, 10:17 ]
Заголовок сообщения:  Скрипт предобработки RADIUS для контроля MAC

Привет! О, всезнающий!!!

Честно просмотрел всю тему, до конца инфу не нашел, потому спрашиваю.

NAS - Mikrotik
Инет раздается через pppoe
Внутри сети Динамические IP адреса

Для контроля пользователей необходимо учитывать MAC адреса, с которых заходили абоненты, при этом делать это надо не жестко.

Всвязи с чем, хотелось бы сделать скрипт предобработки, который при логине пользователя будет записывать в параметры договора MAC адрес.

Что-то похожее есть, но в основном для получения MAC из RADIUS а надо еще это дело записать в параметры договора.
Если не лень, попрошу наваять пример скрипта.

Заранее благодарен всем, кто поделится опытом и уделит данной теме время :)

Автор:  vi007 [ 29 янв 2010, 15:33 ]
Заголовок сообщения:  Re: Скрипт предобработки RADIUS для контроля MAC

Ну чтож, раз никто не отвечает будем сами... могет, кому пригодится...

Создал параметр договора "mac".
Сделал его с историей.

создал и подключил скрип предобработки RADIUS

Код:
import bitel.billing.server.radius.*;
import bitel.billing.server.script.bean.event.*;
import bitel.billing.server.contract.bean.*;

MAC_ID = 35;

request  = event.getRequest();

macc = request.getStringAttribute(RadiusStandartAttributes.Calling_Station_Id);
cid = event.getContractID();

new_mac = new ContractParameterManager( con );
new_mac.setStringParam( cid, MAC_ID, macc );


работает, единственное, что в логах выполнения пишет предупреждение об устаревшем методе... (я основывался на примерах wiki).

Код:
WARNINGS:
Function [id:4; title:mac]: using deprecated method [public void bitel.billing.server.contract.bean.ContractParameterManager.setStringParam(int,int,java.lang.String)]


чем заменить?

Автор:  stark [ 29 янв 2010, 17:07 ]
Заголовок сообщения:  Re: Скрипт предобработки RADIUS для контроля MAC

vi007 писал(а):
Код:
WARNINGS:
Function [id:4; title:mac]: using deprecated method [public void bitel.billing.server.contract.bean.ContractParameterManager.setStringParam(int,int,java.lang.String)]


чем заменить?

нужно
ContractParameterManager.setStringParam(int,int,java.lang.String, int)
добавьте еще один параметр . 0 ..это код пользователя , который меняет. 0 - меняет сервер.

Автор:  vi007 [ 29 янв 2010, 17:51 ]
Заголовок сообщения:  Re: Скрипт предобработки RADIUS для контроля MAC

stark

Во! спасибо!

Теперь, работаю дальше, по развитию скрипта...

Автор:  snark [ 29 янв 2010, 18:06 ]
Заголовок сообщения:  Re: Скрипт предобработки RADIUS для контроля MAC

vi007 писал(а):
необходимо учитывать MAC адреса, с которых заходили абоненты, при этом делать это надо не жестко.

так ведь в сессиях то МАС-и пишутся - чем Вам не учет конкретного МАС-а для конкретной сессии?

Автор:  vi007 [ 31 янв 2010, 01:35 ]
Заголовок сообщения:  Re: Скрипт предобработки RADIUS для контроля MAC

Поиска там нет, да и если отключился...

Автор:  aardvark [ 03 фев 2010, 16:02 ]
Заголовок сообщения:  Re: Скрипт предобработки RADIUS для контроля MAC

А почему вы не хотите помешать мас в доступные поля модуля Dial-up VPN?
К примеру у себя сделали как в вике практически:
Код:
import bitel.billing.server.radius.*;
 
prefix = "client-mac-address";
length = prefix.length();
 
attributes = request.getVendorAttributes( Vendors.CISCO, CiscoVendor.Cisco_AVPair );
if( attributes != null )
for( it = attributes.iterator(); it.hasNext(); )
{
     ra = (RadiusAttribute)it.next();
     value = ra.getStringValue();
 
     if( value.startsWith( prefix ) )
     {
        request.setStringAttribute( RadiusStandartAttributes.Calling_Station_Id, value.substring( length + 1 )  );
     }
}

и теперь в поле "с номера" имеем макадрес. Всё красиво, можно даже блокировкой маков через билинг пользоватся, если приспичит.

Автор:  snark [ 03 фев 2010, 16:21 ]
Заголовок сообщения:  Re: Скрипт предобработки RADIUS для контроля MAC

он же сказал:
vi007 писал(а):
Поиска там нет

хотя поиск нужен довольно редко, IMHO

Автор:  aardvark [ 10 фев 2010, 22:41 ]
Заголовок сообщения:  Re: Скрипт предобработки RADIUS для контроля MAC

Ясно. У себя ищем через репорты вот и непонятно стало, почему вдруг.

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