BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 17:42

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




Начать новую тему Ответить на тему  [ Сообщений: 183 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
СообщениеДобавлено: 16 июл 2013, 14:21 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Со слов нашего сетевого администратора настройки82 на редбэке это одна строка:
dhcp relay server 172.16.98.6

зы
Сетевой админ говорю: я поднял isc-dhcp-server
и с него отвечаю редбэку
в этом случае все пучком
в вашем случае бгбилинг падает на разборе опций 82
дело в том что у нас релей делает eltex оборудование
у него странное преобразование 82ой опции
если это поможет можем прислать дампы пакетов dhcp запроса
как с eltex так и после redback


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Пришлите.

Биллинг пытается определить коммутатор и порт (к которому подключен абонент) или коммутатор(или релей) и vlan, чтобы найти абонента.
Цитата:
07-16/11:04:58 INFO [dhcpLstnr-p-11-t-9] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 102142286, secs: 6912, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 185.23.81.1
Client MAC: {60EB69B38938}
{61}={0160EB69B38938}
Host name{12}={Programmer}
{60}={4D53465420352E30}
Parameter request list{55}={1, 15, 3, 6, 44, 46, 47, 31, 33, 121, -7, 43}
Agent information{82}=
sub{1}={3137322E31362E39392E3336313031}
sub{2}={333230}
Сначала по Relay IP или IP, с которого пришел запрос, идет поиск устройства relay-агента. Далее по конфигу устройства в Inet идет попытка парсинга agentRemoteId коммутатора, с которого запрос пришел на relay. Обычно он находится в DHCP-опции sub{2}={333230}, обычно там MAC-адрес коммутатора или какой-то строковый идентификатор, который можно указать в коммутаторе. Далее, если агентское устройство найдено, используется оно, иначе - используется устройство-relay и идет попытка разбора по конфигу найденного устройства опции circuitId - sub{1}={3137322E31362E39392E3336313031}, чтобы найти там номер порта или VLAN. По найденному устройству и порту/VLAN идет поиск абонента.
В данному случае у вас происходит ошибка, т.к. настройки разбора опций в Inet не совпадают с тем, что приходит в DHCP-пакете.

У вас будет поиск по порту или VLAN? Какой номер порта/VLAN для данного DHCP-пакета? Какой MAC-адрес у коммутатора, к которому подключен абонент?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 июл 2013, 16:36 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Спасибо прорвались через один слой колючей проволоки, теперь такая ситуация:
Сообщение об ошибке:
Код:
07-16/14:34:05  INFO [dhcpLstnr-p-11-t-8] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 1681487387, secs: 2409, flags: 0
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 185.23.81.1
Client MAC: {F81A674D75F6}
  {61}={01F81A674D75F6}
  {57}={0240}
  Parameter request list{55}={1, 3, 6, 12, 15, 28, 42}
  {60}={524950452D41746C61732D50726F6265}
  Host name{12}={RIPE-Atlas-Probe-10936}
  Agent information{82}=
    sub{1}={333231}
    sub{2}={3137322E31362E39392E3336}

07-16/14:34:05 ERROR [dhcpLstnr-p-11-t-8] DhcpListenerWorker -
java.lang.ArrayIndexOutOfBoundsException
   at java.lang.System.arraycopy(Native Method)
   at ru.bitel.bgbilling.modules.inet.runtime.device.AbstractInetDeviceRuntime.getOption82AgentRemoteId(AbstractInetDeviceRuntime.java:97)
   at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntime.getOption82AgentRemoteId(InetDeviceRuntime.java:1)
   at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processOption82Request(InetAbstractDhcpProcessor.java:400)
   at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processRequest(InetAbstractDhcpProcessor.java:262)
   at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:55)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:722)
   at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)


Настройки dhcp
Код:
dhcp.option82.removeHeader=0
# Код субопции 82, содержащей интерфейс, позиция и длина в субопции
dhcp.option82.interfaceId.code=1
dhcp.option82.interfaceId.position=1
dhcp.option82.interfaceId.length=3
# Код субопции 82, содержащей идентификатор коммутатора клиента, позиция и длина последовательности идентификатора
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.position=1
dhcp.option82.agentRemoteId.length=12


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 июл 2013, 17:07 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
У вас, судя по всему, в option82 строка передается.
sub{1}=320 и sub{2}=172.16.99.36

Встроенная поддержка строки сейчас только для agentRemoteId:
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.type=1
dhcp.option82.agentRemoteId.position=0
dhcp.option82.agentRemoteId.length=0
С такими параметрами нормально должен извлечь строку 172.16.99.36.

А VLAN/порт сейчас тогда только предобработкой DHCP запроса. 320 - это VLAN?
Код:
@Override
public void preprocessDhcpRequest( DhcpPacket request, DhcpPacket response )
    throws Exception
{
   DhcpOption circuitId = request.getSubOption( (byte)1 );
   if( circuitId != null )
   {
      String vlan = new String( circuitId.value, "UTF-8" );
      request.setOption( InetDhcpProcessor.VLAN_ID, vlan );
   }
}


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 июл 2013, 17:11 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
строку 172.16.99.36 извлек нормально и с моими параметрами
320 это интерфейс
Такое ощущение, что ошибка
Код:
07-16/14:34:05 ERROR [dhcpLstnr-p-11-t-8] DhcpListenerWorker -
java.lang.ArrayIndexOutOfBoundsException
   at java.lang.System.arraycopy(Native Method)
   at ru.bitel.bgbilling.modules.inet.runtime.device.AbstractInetDeviceRuntime.getOption82AgentRemoteId(AbstractInetDeviceRuntime.java:97)

вываливается до вызова
Код:
preprocessDhcpRequest


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 18 июл 2013, 15:30 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В каком устройстве у вас прописано
Цитата:
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.type=1
dhcp.option82.agentRemoteId.position=0
dhcp.option82.agentRemoteId.length=0
? Должно быть в устройстве-релее, т.е. том, от кого пришел запрос на InetAccess.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 июл 2013, 15:05 
Не в сети
Клиент

Зарегистрирован: 17 дек 2010, 15:27
Сообщения: 147
Карма: 22
В какую сторону копать если sub{1}={000400280101} а потом в ответе sub{1}={00280101}
влан 40й прописан в договоре
Код:
dhcp 07-19/13:02:20  INFO [dhcpLstnr-p-10-t-3] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 91830147, secs: 0, flags: 0
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 194.33.85.1
Client MAC: {DC9FDB01C6E0}
  {61}={01DC9FDB01C6E0}
  Host name{12}={UBNT}
  {60}={756468637020312E31312E32}
  {57}={0240}
  Parameter request list{55}={1, 3, 6, 12, 15, 28, 42}
  Agent information{82}=
    sub{1}={000400280101}
    sub{2}={0006ECCD6D6F6902}

dhcp 07-19/13:02:20  INFO [dhcpLstnr-p-10-t-3] InetAbstractDhcpProcessor - REQUEST_AFTER_PREPROCESS:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 91830147, secs: 0, flags: 0
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 194.33.85.1
Client MAC: {DC9FDB01C6E0}
  {61}={01DC9FDB01C6E0}
  Host name{12}={UBNT}
  {60}={756468637020312E31312E32}
  {57}={0240}
  Parameter request list{55}={1, 3, 6, 12, 15, 28, 42}
  Agent information{82}=
    sub{1}={00280101}
    sub{2}={0006ECCD6D6F6902}


Настройки опции как-то так но вообще неуверен
Код:
# Удаление заголовка, при необходимости, 0 - не удалять, 2 - 2 удалить байта (тип+длина) из значения DHCP-опции
dhcp.option82.removeHeader=2
# Код субопции 82, содержащей VLAN, позиция и длина в субопции
dhcp.option82.vlanId.code=1
dhcp.option82.vlanId.position=1
dhcp.option82.vlanId.length=4
# Код субопции 82, содержащей интерфейс, позиция и длина в субопции
dhcp.option82.interfaceId.code=1
dhcp.option82.interfaceId.position=2
dhcp.option82.interfaceId.length=2
# Код субопции 82, содержащей идентификатор коммутатора клиента, позиция и длина последовательности идентификатора
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.position=1
dhcp.option82.agentRemoteId.length=6


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
В какую сторону копать если sub{1}={000400280101} а потом в ответе sub{1}={00280101}
У вас, похоже, стоит поиск сервиса по логину, который сделали в самом начале и который устарел - заменили прямым поиском по порту или VLAN. И ISGProtocolHandler, который для старого поиска по логину делает так:
Код:
   @Override
   public void preprocessDhcpRequest( DhcpPacket request, DhcpPacket response )
       throws Exception
   {
      // необходимо для старого поиска по логину
      if( servSearchModes[0][0] == InetDevice.SERV_SEARCH_MODE_LOGIN )
      {
         DhcpOption option = request.getSubOption( (byte)1 );
         if( option != null )
         {
            byte[] currentValue = option.value;
            // circuitId вида 0004000e000a
            if( currentValue.length == 6 )
            {
               byte[] value = new byte[portLength];
               // оставляем только порт, при этом длина зарезается но для разобранного пакета
               // это уже не критично
               System.arraycopy( currentValue, 6 - portLength, value, 0, portLength );
               request.setSubOption( (byte)1, value );
            }
         }
      }
   }


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 июл 2013, 15:25 
Не в сети
Клиент

Зарегистрирован: 17 дек 2010, 15:27
Сообщения: 147
Карма: 22
Amir писал(а):
Цитата:
В какую сторону копать если sub{1}={000400280101} а потом в ответе sub{1}={00280101}
У вас, похоже, стоит поиск сервиса по логину, который сделали в самом начале и который устарел - заменили прямым поиском по порту или VLAN. И ISGProtocolHandler, который для старого поиска по логину делает так:

Ага, а актуально как делать ? парсить весь топик или можно подождать обновления на вики ?
А то по статье оттуда делал (


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 июл 2013, 15:41 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Код:
# Поиск устройства по giaddr, предобработка, поиск агентского устройства, предобработка
dhcp.deviceSearchMode=0
 
# Поиск сервиса Inet по VLAN (4 с учетом дочерних устройств, если по option82 невозможно найти конечное устройство, к которому подключен абонент)
dhcp.servSearchMode=2

# Удаление заголовка, при необходимости, 0 - не удалять, 2 - 2 удалить байта (тип+длина) из значения DHCP-опции
dhcp.option82.removeHeader=2
# Код субопции 82, содержащей идентификатор коммутатора клиента, позиция и длина последовательности идентификатора
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.position=0
dhcp.option82.agentRemoteId.length=6
# Код субопции 82, содержащей VLAN, позиция и длина в субопции
dhcp.option82.vlanId.code=1
dhcp.option82.vlanId.position=0
dhcp.option82.vlanId.length=2
# Код субопции 82, содержащей интерфейс, позиция и длина в субопции
dhcp.option82.interfaceId.code=1
dhcp.option82.interfaceId.position=2
dhcp.option82.interfaceId.length=2

# Шаблон ключа привязки RADIUS пакетов к DHCP пакетам (устройство:агентское_устройство:VLAN:MAC)
# (DHCP-пакеты в ISG-схеме работают как вспомогательные и выдаются согласно RADIUS-сессии)
dhcp.key.pattern=$deviceId:$remoteId:$circuitId:$mac


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

Зарегистрирован: 17 дек 2010, 15:27
Сообщения: 147
Карма: 22
ок, спасибо а настройки NAS как поменять ? ибо он то по паролю пытается авторизовываться


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 июл 2013, 15:56 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Код:
radius.password.verification=0


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 июл 2013, 16:02 
Не в сети
Клиент

Зарегистрирован: 17 дек 2010, 15:27
Сообщения: 147
Карма: 22
Amir писал(а):
Код:
radius.password.verification=0

я имел ввиду что-то типа

policy-map type control ISG-INTERFACE-POLICY
class type control always event session-start
10 authorize aaa list ISG-AUTH-1 password 123 identifier remote-id plus circuit-id plus mac-address
30 service-policy type service name LOCAL_L4R


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 июл 2013, 16:11 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
О настройках железек мы ничего сказать не можем, т.к. не умеем :(
Если вы не про Username=LOCAL_L4R User-Password=123 (загрузку параметров сервисов ISG).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 июл 2013, 16:16 
Не в сети
Клиент

Зарегистрирован: 17 дек 2010, 15:27
Сообщения: 147
Карма: 22
Amir писал(а):
О настройках железек мы ничего сказать не можем, т.к. не умеем :(
Если вы не про Username=LOCAL_L4R User-Password=123 (загрузку параметров сервисов ISG).

Именно про это, теперь как я понял это ненадо использовать ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 июл 2013, 16:39 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Нужно либо, чтобы ISG грузил параметры у себя, не запрашивая у биллинга.

Либо просто настроить обычную авторизацию по логину в биллинге. Для этого нужно запускать еще один BGInetAccess.

Создаем опции Inet ISG-5MBPS(2), ISG-10MBPS(3), ISG-LOCAL(4)
Создаем типы устройства Access ISG Service и ISG Service, добавляем устройства:
Код:
-- Access+Accounting (уже было)
---- ISG (уже было)
-- Access ISG Service
---- ISG Service
Устройство ISG Service - тоже самое, что и ISG, т.е. IP-адрес, идентификатор, секрет - идентичны, изменен конфиг. Если в конфиге ISG были названия сервисов ISG:
Код:
radius.inetOption.2.attributes=cisco-SSG-Account-Info=AISG-5MBPS
radius.inetOption.3.attributes=cisco-SSG-Account-Info=AISG-10MBPS
radius.inetOption.4.attributes=cisco-SSG-Account-Info=AISG-LOCAL
, то здесь нужно описание:
Код:
# Поиск по логину
radius.servSearchMode=0

# Acct-Interim-Interval и subscriber:accounting-list нужны, чтобы по дочерним сессиям ISG слал аккаунтинг
radius.realm.default.attributes=Acct-Interim-Interval=60;cisco-avpair=subscriber:accounting-list=ISG-AUTH-1;

# здесь значения для примера
radius.inetOption.2.attributes=cisco-avpair=ip:traffic-class=in access-group 196 priority 200;cisco-avpair=ip:traffic-class=in default drop;cisco-avpair=ip:traffic-class=out access-group 196 priority 200;cisco-avpair=ip:traffic-class=out default drop;cisco-SSG-Service-Info=QU;;500000;;750000;;D;;500000;;750000
radius.inetOption.3.attributes=cisco-avpair=ip:traffic-class=in access-group 196 priority 201;cisco-avpair=ip:traffic-class=in default drop;cisco-avpair=ip:traffic-class=out access-group 196 priority 200;cisco-avpair=ip:traffic-class=out default drop;cisco-SSG-Service-Info=QU;;600000;;760000;;D;;600000;;760000
radius.inetOption.4.attributes=cisco-avpair=ip:traffic-class=in access-group 196 priority 201;cisco-avpair=ip:traffic-class=in default drop;cisco-avpair=ip:traffic-class=out access-group 196 priority 200;cisco-avpair=ip:traffic-class=out default drop;cisco-SSG-Service-Info=QU;;600000;;760000;;D;;600000;;760000
 


Создаем тип сервиса с логином, договор ISG Service, добавляем логин ISG-5MBPS, добавлем к нему опцию ISG-5MBPS, добавляем логин ISG-10MBPS, добавляем к нему опцию ISG-10MBPS и т.д.

Копируем InetAccess в InetServiceAccess, меняем ему rootDeviceId на id устройства Access ISG Service, меняем порт radiusListener -> port, например на 1811 и настраиваем ISG, чтобы слал авторизационные запросы (т.е. запросы на загрузку сервисов ISG) на порт 1811.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 июл 2013, 12:56 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Господа! Мне кажется я уже близок к победе! Встретилось затруднение:
Код:
07-25/10:53:55  INFO [dhcpLstnr-p-11-t-3] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: -1098267112, secs: 0, flags: 0
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 185.23.81.1
Client MAC: {001A79103311}
  {61}={496E666F6D69724D41473235302D30303A31613A37393A31303A33333A3131}
  {60}={496E666F6D69724D4147323530}
  Parameter request list{55}={1, 3, 6, 12, 15, 28, 40, 41, 42, 43, 119}
  Agent information{82}=
    sub{1}={656C746578333238}
    sub{2}={3137322E31362E39392E33363A313031}

07-25/10:53:55  INFO [dhcpLstnr-p-11-t-3] InetAbstractDhcpProcessor - REQUEST_AFTER_PREPROCESS:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: -1098267112, secs: 0, flags: 0
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 185.23.81.1
Client MAC: {001A79103311}
  {61}={496E666F6D69724D41473235302D30303A31613A37393A31303A33333A3131}
  {60}={496E666F6D69724D4147323530}
  Parameter request list{55}={1, 3, 6, 12, 15, 28, 40, 41, 42, 43, 119}
  Agent information{82}=
    sub{1}={30}
    sub{2}={3137322E31362E39392E33363A313031}

07-25/10:53:55 ERROR [dhcpLstnr-p-11-t-3] InetDhcpHelperProcessor - Not found params for request: 30:3137322E31362E39392E33363A313031 (pattern: $circuitId:$remoteId, servSearchMode: 0, deviceId: 2, agentDeviceId: 2, mac: 001A79103311)
07-25/10:53:55  INFO [dhcpLstnr-p-11-t-3] InetAbstractDhcpProcessor - RESPONSE_BEFORE_POSTPROCESS:
Message type: BOOT_RESPONSE
Dhcp message type: DHCP NAK{6}
htype: 1, hlen: 6, hops: 1
xid: -1098267112, secs: 0, flags: 0
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 185.23.81.1
Client MAC: {001A79103311}
  Agent information{82}=
    sub{1}={30}
    sub{2}={3137322E31362E39392E33363A313031}


Вот эта строка:
Код:
07-25/10:53:55 ERROR [dhcpLstnr-p-11-t-3] InetDhcpHelperProcessor - Not found params for request: 30:3137322E31362E39392E33363A313031 (pattern: $circuitId:$remoteId, servSearchMode: 0, deviceId: 2, agentDeviceId: 2, mac: 001A79103311)

Куда копать, что означает эта ошибка, экспериментами делал по всякому и с разными вариациями dhcp.key.pattern и dhcp.deviceSearchMode dhcp.servSearchMode не удалось добиться выдачи адреса dhcp


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 июл 2013, 13:06 
Не в сети
Клиент

Зарегистрирован: 17 дек 2010, 15:27
Сообщения: 147
Карма: 22
Смотри что в радиус логе делает put


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 июл 2013, 13:12 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Magistr писал(а):
Смотри что в радиус логе делает put

А по подробнее put это что и где его смотреть. В радиус логе все вроде нормально, Accept прошел
Какой код у Agent-Circuit-Id ? что бы его в функции
request.setStringAttribute( -1, XXX, agentCircuitId); можно было в препроцессинге подменить, может в этом дело?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 июл 2013, 15:10 
Не в сети
Клиент

Зарегистрирован: 17 дек 2010, 15:27
Сообщения: 147
Карма: 22
там что-то типа Auth put 30:3137322E31362E39392E33363A313031 должно быть


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 июл 2013, 15:22 
Не в сети
Клиент

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Magistr писал(а):
там что-то типа Auth put 30:3137322E31362E39392E33363A313031 должно быть

в радиус логе ничего подобного нет :-(


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Значит в inet-access.xml указан InetRadiusProcessor вместо InetRadiusHelperProcessor.
Put auth accept должен писать InetConnectionKeyMap перед отправкой Accept-пакета.


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

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Amir писал(а):
Значит в inet-access.xml указан InetRadiusProcessor вместо InetRadiusHelperProcessor.
Put auth accept должен писать InetConnectionKeyMap перед отправкой Accept-пакета.

Да так и было, заменил, увидел новое:
Код:
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 141
Authenticator: {DC D3 77 7B AF AA 72 B0 3F E3 57 C6 B4 E2 90 D8}
Attributes:
  User-Name=00:1a:79:10:33:11
  NAS-Port-Id=3/3 vlan-id 100 clips 270734
  NAS-Identifier=RedBack
  User-Password=Redback
  NAS-IP-Address=172.16.98.7
  NAS-Port=50528256
  Service-Type=5
  Calling-Station-Id=eltex328#172.16.99.36:101
  NAS-Port-Type=5
  Platform-Type=6
  Medium-Type=11
  Agent-Remote-Id={31 37 32 2E 31 36 2E 39 39 2E 33 36 3A 31 30 31}
  UNKNOWN[2352-202]={3D 3D 1F 49 6E 66 6F 6D 69 72 4D 41 47 32 35 30 2D 30 30 3A 31 61 3A 37 39 3A 31 30 3A 33 33 3A 31 31}
  Agent-Circuit-Id={65 6C 74 65 78 33 32 38}
  OS-Version=11.1.2.7p2
  Mac-Addr=00-1a-79-10-33-11
  UNKNOWN[2352-125]={49 6E 66 6F 6D 69 72 4D 41 47 32 35 30}
  NAS-Real-Port=855638116
  UNKNOWN[3561--1]={02 12 31 37 32 2E 31 36 2E 39 39 2E 33 36 3A 31 30 31}
  UNKNOWN[3561--1]={01 0A 65 6C 74 65 78 33 32 38}

07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] SmartEdgeProtocolHandler -
 Signal from interface: eltex328 Set  Username: 0:172.16.99.36:101
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 141
Authenticator: {DC D3 77 7B AF AA 72 B0 3F E3 57 C6 B4 E2 90 D8}
Attributes:
  User-Name=0:172.16.99.36:101
  NAS-Port-Id=3/3 vlan-id 100 clips 270734
  NAS-Identifier=RedBack
  User-Password=Redback
  NAS-IP-Address=172.16.98.7
  NAS-Port=50528256
  Service-Type=5
  Calling-Station-Id=001a79103311
  NAS-Port-Type=5
  Platform-Type=6
  Medium-Type=11
  Agent-Remote-Id={31 37 32 2E 31 36 2E 39 39 2E 33 36 3A 31 30 31}
  UNKNOWN[2352-202]={3D 3D 1F 49 6E 66 6F 6D 69 72 4D 41 47 32 35 30 2D 30 30 3A 31 61 3A 37 39 3A 31 30 3A 33 33 3A 31 31}
  Agent-Circuit-Id={65 6C 74 65 78 33 32 38}
  OS-Version=11.1.2.7p2
  Mac-Addr=00-1a-79-10-33-11
  UNKNOWN[2352-125]={49 6E 66 6F 6D 69 72 4D 41 47 32 35 30}
  NAS-Real-Port=855638116
  UNKNOWN[3561--1]={02 12 31 37 32 2E 31 36 2E 39 39 2E 33 36 3A 31 30 31}
  UNKNOWN[3561--1]={01 0A 65 6C 74 65 78 33 32 38}
Common options: {agentRemoteId=java.nio.DirectByteBufferR[pos=0 lim=14 cap=14], agentCircuitId=[B@79f3bad9, deviceState=1}
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetNas - Search by username=0:172.16.99.36:101
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - [username=0:172.16.99.36:101] Authenticated as inetServId:14
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetNas - AgentDevice not found.
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetApplication - inetServ[id=14] balance ok: 3985.16 [-1000.00]
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetApplication - TariffOptionMap: {}
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetApplication - OptionSet: [3]
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - Set ip from pool
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - Return code=0
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetConnectionKeyMap - Put auth accept 185.23.81.104
07-25/14:10:36 ERROR [rdsLstnr-p-9-t-4] InetDhcpHelperProcessor - Incorrect userName: 0:172.16.99.36:101
07-25/14:10:36  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Accept
Identifier: 141
Authenticator: {}
Attributes:
  Acct-Interim-Interval=900
  Framed-IP-Address=185.23.81.104
  DHCP-Max-Leases=1
  Service-Name:1=RSE-SVC-EXT
  Service-Options:1=1
  Service-Parameter:1=Rate=64 Burst=125000
  IP-Interface-Name=dhcpclients

Соответственно в dhcp логе
Код:
07-25/14:14:54  INFO [dhcpLstnr-p-11-t-9] InetAbstractDhcpProcessor - REQUEST_AFTER_PREPROCESS:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 2037089888, secs: 0, flags: 0
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 185.23.81.1
Client MAC: {001A79103311}
  {61}={496E666F6D69724D41473235302D30303A31613A37393A31303A33333A3131}
  {60}={496E666F6D69724D4147323530}
  Parameter request list{55}={1, 3, 6, 12, 15, 28, 40, 41, 42, 43, 119}
  Agent information{82}=
    sub{1}={303A}
    sub{2}={3137322E31362E39392E33363A313031}

07-25/14:14:54 ERROR [dhcpLstnr-p-11-t-9] InetDhcpHelperProcessor - Not found params for request: 303A3137322E31362E39392E33363A313031 (pattern: $circuitId$remoteId, servSearchMode: 0, deviceId: 2, agentDeviceId: 2, mac: 001A79103311)
07-25/14:14:54  INFO [dhcpLstnr-p-11-t-9] InetAbstractDhcpProcessor - RESPONSE_BEFORE_POSTPROCESS:
Message type: BOOT_RESPONSE
Dhcp message type: DHCP NAK{6}
htype: 1, hlen: 6, hops: 1
xid: 2037089888, secs: 0, flags: 0
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 185.23.81.1
Client MAC: {001A79103311}
  Agent information{82}=
    sub{1}={303A}
    sub{2}={3137322E31362E39392E33363A313031}

07-25/14:14:54  INFO [dhcpLstnr-p-11-t-9] InetAbstractDhcpProcessor - RESPONSE:
Message type: BOOT_RESPONSE
Dhcp message type: DHCP NAK{6}
htype: 1, hlen: 6, hops: 1
xid: 2037089888, secs: 0, flags: 0
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 185.23.81.1
Client MAC: {001A79103311}
  Agent information{82}=
    sub{1}={303A}
    sub{2}={3137322E31362E39392E33363A313031}


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

Зарегистрирован: 30 янв 2013, 11:27
Сообщения: 305
Карма: 0
Господа, ну как заставить DHCP адрес выделить. Скоро будем уже пользователей подключать, а я все голову сломал. Пока выкрутились тем, что dhcp запросы админ пустил на сторонний dhcp-сервер, но это как-то некрасиво


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 30 июл 2013, 18:59 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Значит в inet-access.xml указан InetRadiusProcessor вместо InetRadiusHelperProcessor.
Put auth accept должен писать InetConnectionKeyMap перед отправкой Accept-пакета.
Тут обманул, InetRadiusProcessor можно было оставить, должен быть InetDhcpHelperProcessor вместо InetDhcpProcessor.
Я не могу так сказать настройки, не видя общей картины (у всех разные железки/коммутаторы и схемы) - я уже просил у вас доступ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 дек 2013, 11:38 
Не в сети

Зарегистрирован: 06 мар 2011, 09:56
Сообщения: 152
Карма: 0
Как сделать так чтобы ип адрес выдавался ПК абонента при статусе договора закрыт?
Необходимо чтобы абонент имел возможность заходить в статистику билинга при статусе договора закрыт.

Код:
12-06/13:08:27  INFO [dhcpLstnr-p-10-t-6] InetApplication - inetServ[id=39022] deviceState not active (accessCode=11).
12-06/13:08:27  INFO [dhcpLstnr-p-10-t-6] InetDhcpProcessor - IP not found in service. Searching in device...
12-06/13:08:27  INFO [dhcpLstnr-p-10-t-6] InetDhcpProcessor - Free IP-address not found
Код:
12-06/13:08:35  INFO [dhcpLstnr-p-10-t-4] InetDhcpProcessor - InetServ found: ContractId: 40654; status: 3; servId: 39022
        172.19.210.181-172.19.210.181
        Options [] TariffModuleTreeSet [8:21.10.2013-…; ]
        Device state: 1; optionSet:8
12-06/13:08:35  INFO [dhcpLstnr-p-10-t-4] InetApplication - inetServ[id=39022] contract status not active.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 дек 2013, 18:17 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
При превышении числа одновременных сессий сервиса над установленным в свойстве сервиса генерируется ошибка авторизации. В этом случае штатно DISCOVER-запросы будут игнорироваться, а на все REQUEST-запросы будет высылаться ответ DHCP_NAK. Для предотвращения нагрузки на DHCP-сервер постоянной обработкой запросов возможно определение пула фиктивных адресов, выдаваемых при ошибках авторизации. Пул определяется переменной конфигурации устройства dhcp.disable.ipCategories=<cat_codes>, где <cat_codes> - id коды категорий ресурсов IP адресов через запятую. Например:
dhcp.disable.ipCategories=3,4
http://bgbilling.ru/v6.0/doc/ch18s13s04s01.html

Если хотите выдавать адрес также, как если бы статус был открыт:
Код:
dhcp.disable.mode=1


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 фев 2014, 05:42 
Не в сети

Зарегистрирован: 19 авг 2012, 18:32
Сообщения: 16
Карма: 0
Amir писал(а):
Цитата:
DHCP request without Options.82!
На данный момент пакеты без Option.82 не обрабатываются.


Доброго.
Ничего не изменилось в этом плане?
Для реализации vlan-per-user я не планирую использовать option.82, но хотелось бы выдавать IP-адресацию DHCP из биллинга (впоследствии активировать vlan через сеть для нового абонента).
Все клиенты "упираются" в один шлюз гроздью vlan, где уже шейпятся и авторизовываются (для доступа в интернет) LinuxISG (на другом типе устройств, тут же в биллинге). Фактически у каждого абонента признаком для авторизации является интерфейс на шлюзе, но ввиду отсутствия opt.82 информации об интерфейсе не поступает.

Подскажите куда копнуть?

Подозреваю, что в сторону предобработки, взяв за основу интерфейс DHCP, куда пришел пакет и использовав SSHServiceActivator?

Код:
  Клиент: вер. 6.0 сборка 1287 от 11.02.2014 19:59:46
    os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_41
  Сервер: вер. 6.0 сборка 1671 от 07.02.2014 19:01:32
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_17
    ВНИМАНИЕ: Спецификация версии 1.7 не рекомендуется

  card вер. 6.0 сборка 226 от 05.02.2014 15:53:15
  dialup вер. 6.0 сборка 402 от 05.02.2014 15:53:42
  inet вер. 6.0 сборка 1326 от 12.02.2014 14:29:50
  ipn вер. 6.0 сборка 275 от 05.02.2014 15:54:24
  mps вер. 6.0 сборка 206 от 05.02.2014 15:55:00
  npay вер. 6.0 сборка 223 от 05.02.2014 15:55:06
  rscm вер. 6.0 сборка 192 от 05.02.2014 15:55:48


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 дек 2014, 18:47 
Не в сети

Зарегистрирован: 26 дек 2014, 15:42
Сообщения: 1
Карма: 0
Здравствуйте.
DHCP сервером является сервер биллинга? На маршрутизаторе нужно указывать ip биллинга в качестве релея?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 26 дек 2014, 20:55 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Не сервер биллинга, а приложение BGInetAccess, которое запускается отдельно, вместе с BGInetAccounting.
http://bgbilling.ru/v6.1/doc/ch17s13s01.html


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 183 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

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


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

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


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

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