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

MikroTik Option 82
http://forum.bitel.ru/viewtopic.php?f=44&t=13231
Страница 2 из 2

Автор:  Amir [ 15 мар 2019, 21:33 ]
Заголовок сообщения:  Re: MikroTik Option 82

Выложили обновление, добавили класс PacketValueExtractor
https://bgbilling.ru/v7.1/javadoc/ru/bi ... actor.html

Его можно задействовать в предобработке:
Код:
radius.agentRemoteId.vendor=2352
radius.agentRemoteId.type=96
radius.agentRemoteId.string=.*
radius.option82.circuitId.vendor=2352
radius.option82.circuitId.type=97
radius.option82.circuitId.string=.*

Код:
    @Resource
    private PacketValueExtractor extractor;

    private void setCircuitId( RadiusPacket request )
    {
        String circuiId = String.valueOf( extractor.getOption82CircuitId( request ) );
        String agentRemoteId = String.valueOf( extractor.getAgentRemoteId( request ) );

        //request.setStringAttribute( -1, RadiusDictionary.Called_Station_Id, agentRemoteId + "/" + circuiId );
        request.setStringAttribute( -1, RadiusDictionary.User_Name, agentRemoteId + "/" + circuiId );
    }

    @Override
    public void preprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
        throws Exception
    {
        super.preprocessAccessRequest( request, response, connectionSet );
       
        setCircuitId( request );
    }

    @Override
    public void preprocessAccountingRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet )
        throws Exception
    {
        super.preprocessAccountingRequest( request, response, connectionSet );
       
        setCircuitId( request );
    }

Автор:  pafflootiy [ 15 мар 2019, 22:07 ]
Заголовок сообщения:  Re: MikroTik Option 82

Amir писал(а):
Выложили обновление, добавили класс PacketValueExtractor


У меня:
Код:
Информация о версии:

  Клиент: вер. 7.1.189 / 15.03.2019 16:41:50
  Сервер: вер. 7.1.1112 / 15.03.2019 16:43:56
  inet: вер. 7.1.696 / 14.03.2019 17:51:25


В конф. устройства добавил:
Код:
radius.agentRemoteId.vendor=2352
radius.agentRemoteId.type=96
radius.agentRemoteId.string=.*
radius.option82.circuitId.vendor=2352
radius.option82.circuitId.type=97
radius.option82.circuitId.string=.*


Изменений не наблюдаю =(

Автор:  Amir [ 16 мар 2019, 01:25 ]
Заголовок сообщения:  Re: MikroTik Option 82

Без предобработки изменений не будет.
В мониторе/отчетах отображаются поля User-Name, Calling-Station-Id, Called-Station-Id. Если хотите, чтобы отображалось в мониторе/отчетах, то нужно подменить это поле, как в примере предобработки выше.
RADIUS-логи хранятся в бинарном виде как пришли от NAS'а - поэтому в Показать RADIUS-лог всегда будет исходный пакет.

Единственное что еще можем сделать - чтобы атрибуты Agent-Remote-Id Agent-Circuit-Id при распечатке пакета выводились также в строковом виде
Agent-Remote-Id={6C69622D33362D3233342D3234}pravdy-36a-port5-805-vlan
Но для большинства случаев (когда значение будет бинарное) там будет что-то непонятное.
И не уверен, что такой вывод пригодится для обычной работы больше чем вывод значения в столбце Логин/С номера/На номер

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