BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 23:07

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: radius, не работает checkDuplicate
СообщениеДобавлено: 13 июл 2013, 14:28 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Добрый день!

Есть SE100, обеспечивающий доступ пользователям по PPPoE. Устройство использует SmartEdgeServiceActivator и SmartEdgeProtocolHandler. Настроено:
Код:
# Вендор атрибута, где хранится MAC-адрес
radius.macAddress.vendor=2352
# Код атрибута, где хранится MAC-адрес
radius.macAddress.type=145
# Префикс атрибута (если есть), где хранится MAC-адрес. Например, для cisco avpair
radius.macAddress.prefix=

radius.connection.checkDuplicate=3


Но, увы, получаем следующее. Почему же не работает checkDuplicate? Очень надо, дикие проблемы в сети.

Код:
Authenticator: {57 D0 23 65 A2 AA C6 83 72 21 B5 2E 25 D1 29 51}
Attributes:
  User-Name=viktorm
  NAS-Port-Id=2/16 vlan-id 100 pppoe 10242
  NAS-Identifier=bras0
  User-Password=123456
  NAS-IP-Address=91.217.108.128
  NAS-Port=536881154
  Service-Type=2
  Framed-Protocol=1
  NAS-Port-Type=5
  Platform-Type=4
  Medium-Type=11
  OS-Version=11.1.2.6
  Mac-Addr=c8-60-00-49-07-af
  NAS-Real-Port=536871012

07-13/11:58:35  INFO [rdsLstnr-p-8-t-364] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 78
Authenticator: {57 D0 23 65 A2 AA C6 83 72 21 B5 2E 25 D1 29 51}
Attributes:
  User-Name=viktorm
  NAS-Port-Id=2/16 vlan-id 100 pppoe 10242
  NAS-Identifier=bras0
  User-Password=123456
  NAS-IP-Address=91.217.108.128
  NAS-Port=536881154
  Service-Type=2
  Framed-Protocol=1
  Calling-Station-Id=c8-60-00-49-07-af
  NAS-Port-Type=5
  Platform-Type=4
  Medium-Type=11
  OS-Version=11.1.2.6
  Mac-Addr=c8-60-00-49-07-af
  NAS-Real-Port=536871012
Common options: {macAddress=c8-60-00-49-07-af}
07-13/11:58:35  INFO [rdsLstnr-p-8-t-364] InetNas - Search by username=viktorm
07-13/11:58:35  INFO [rdsLstnr-p-8-t-364] InetRadiusProcessor - [username=viktorm] Authenticated
 as inetServId:946
07-13/11:58:35  INFO [rdsLstnr-p-8-t-364] InetApplication - inetServ[id=946] balance ok: -98.20
[-300.00]
07-13/11:58:35  INFO [rdsLstnr-p-8-t-364] InetApplication - Too many sessions.
07-13/11:58:35  INFO [rdsLstnr-p-8-t-364] InetRadiusProcessor - Return code=3
07-13/11:58:35  INFO [rdsLstnr-p-8-t-364] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Reject
Identifier: 78
Authenticator: {}
Attributes:
  Reply-Message=3

Process time auth: 3


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

  Клиент: вер. 5.2 сборка 1183 от 29.06.2013 11:05:32
    os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.6.0_37
  Сервер: вер. 5.2 сборка 1517 от 03.07.2013 02:14:48
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_43

  card вер. 5.2 сборка 203 от 21.06.2013 20:24:27
  enaza вер. 5.2 сборка 47 от 26.12.2012 17:59:24
  gorod вер. 5.2 сборка 155 от 25.03.2013 14:32:28
  inet вер. 5.2 сборка 1201 от 27.06.2013 15:50:26
  mps вер. 5.2 сборка 169 от 24.04.2013 11:02:52
  npay вер. 5.2 сборка 203 от 27.05.2013 16:59:08
  rentsoft вер. 5.2 сборка 45 от 26.12.2012 17:59:45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 13 июл 2013, 16:38 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
borisk писал(а):
Код:
07-13/11:58:35  INFO [rdsLstnr-p-8-t-364] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Reject
Identifier: 78
Authenticator: {}
Attributes:
  Reply-Message=3


Вроде все нормально, т.к. для повторной сессии RADIUS отвечает Access-Reject.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 13 июл 2013, 17:55 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Как нормально? :)
Код:
radius.connection.checkDuplicate=3


Должен сбросить предыдущую сессию и пустить новую. IMHO и AFAIK :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 14 июл 2013, 17:49 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Еще дополнительная информация, Calling-Station-Id устанавливается моим классом, вот таким:
Код:
package ru.usinsknet.modules.inet.dyn.redback;

import ru.bitel.bgbilling.modules.inet.dyn.device.redback.*;

import org.apache.log4j.Logger;

import ru.bitel.bgbilling.kernel.network.dhcp.DhcpProtocolHandler;
import ru.bitel.bgbilling.kernel.network.radius.RadiusDictionary;
import ru.bitel.bgbilling.kernel.network.radius.RadiusPacket;
import ru.bitel.bgbilling.kernel.network.radius.RadiusProtocolHandler;
import ru.bitel.bgbilling.modules.inet.api.common.bean.InetDevice;
import ru.bitel.bgbilling.modules.inet.api.common.bean.InetDeviceType;
import ru.bitel.bgbilling.modules.inet.api.common.bean.InetServ;
import ru.bitel.bgbilling.modules.inet.dyn.device.radius.AbstractRadiusProtocolHandler;
import ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.ParameterMap;
import ru.bitel.common.Utils;
import ru.bitel.common.sql.ConnectionSet;
import bitel.billing.server.radius.RadiusStandartAttributes;

public class SmartEdgeProtocolHandler
   extends ru.bitel.bgbilling.modules.inet.dyn.device.redback.SmartEdgeProtocolHandler
    implements RadiusProtocolHandler, DhcpProtocolHandler
{

      private static final Logger logger = Logger.getLogger( SmartEdgeProtocolHandler.class );

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

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

   /**
    * Установка MAC-адреса из RADIUS-атрибута.
    * @param request
    */
   protected void setCallingStationId( final RadiusPacket request )
   {
      final Object macAddress = getAttributeValue( request, 2352, 145, null );
      if( macAddress != null )
      {
         if( macAddress instanceof String )
         {
            request.setStringAttribute( -1, RadiusStandartAttributes.Calling_Station_Id, (String)macAddress);
         }
         else
         {
            logger.error( "Unknown type for macAddress attribute." );
         }
      }
   }

}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 14 июл 2013, 22:39 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Сейчас все режимы закрывают/сбрасывают старую сессию, т.е. пустить должен только при следующей авторизации (как и в Dialup).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 14 июл 2013, 22:48 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Не понял? Так в том то и дело что не пускает. Пользователь долбится до посинения, пока вручную сессию не прибьешь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 15 июл 2013, 14:45 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Amir, еще бы вот эту проблемку решить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 15 июл 2013, 16:28 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили обновление, не забудьте сделать бэкап старых библиотек.
Цитата:
Inet: radius.connection.checkDuplicate=2|3 отрабатывал некорректно.
Inet: radius.connection.checkDuplicate=4 (попытаться закрыть, подождать 5с и завершить), 5 (попытаться закрыть, завершить и пустить), 6 (завершить и пустить).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 15 июл 2013, 16:29 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Не совсем понял, то есть старые параметры 1-3 нельзя использовать? Или в чем тонкая разница между 3 и 6?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 15 июл 2013, 16:35 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Не совсем понял, то есть старые параметры 1-3 нельзя использовать?
Можно, те исправили и добавили новые.
Цитата:
Или в чем тонкая разница между 3 и 6?
1-3 (и теперь 4), как писал ранее, возвращают ошибку при авторизации, т.е. первый раз абонента не пустит, на второй должно пустить. 5 и 6 тоже самое, что 2 и 3, только должно пустить абонента сразу (как-будто нет ошибки "превышено кол-во соединений").


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 15 июл 2013, 16:42 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Понял, спасибо! Сейчас будем тестировать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 15 июл 2013, 17:55 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Спасибо, работает!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 30 июл 2013, 21:25 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Возник странный эффект. Пока не могу понять связано это или нет. В момент когда сессия у пользователя уже есть (например подвисла), а на сервисе назначен статический IP, то система сессию старую заканчивает, но выдает IP из динамического пула :(

Цитата:
radius.connection.checkDuplicate=5


Цитата:
Клиент: вер. 5.2 сборка 1185 от 15.07.2013 15:12:43
os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.6.0_37
Сервер: вер. 5.2 сборка 1519 от 15.07.2013 15:13:06
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_43

card вер. 5.2 сборка 203 от 21.06.2013 20:24:27
enaza вер. 5.2 сборка 47 от 26.12.2012 17:59:24
gorod вер. 5.2 сборка 155 от 25.03.2013 14:32:28
inet вер. 5.2 сборка 1206 от 15.07.2013 16:17:21
mps вер. 5.2 сборка 169 от 24.04.2013 11:02:52
npay вер. 5.2 сборка 203 от 27.05.2013 16:59:08
rentsoft вер. 5.2 сборка 45 от 26.12.2012 17:59:45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: radius, не работает checkDuplicate
СообщениеДобавлено: 11 дек 2013, 13:43 
Не в сети

Зарегистрирован: 22 июл 2009, 15:36
Сообщения: 308
Откуда: старый оскол
Карма: 5
как в логах отражается срабатывание radius.connection.checkDuplicate ?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.048s | 44 Queries | GZIP : On ]