BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: 802.1X + DHCP + ISG
СообщениеДобавлено: 19 ноя 2012, 22:47 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Добрый день!
Нужно реализовать следующую схему на модуле inet:

level1. Клиент привязан к порту и авторизуется на порту устройства МАС-адресом (используется 802.1X/MAC-Auth RADIUS)
В биллинге на сервис прописывается устройство и порт привязанный к клиенту,
Удалось настроить сервис по RADIUS
при авторизации по порту и устройству в биллинге появляется сессия с МАКом клиента

level2. Клиент получает по DHCP адрес greyIP из пулла или привязанный к маку
DHCP запросы ретранслируются корневым коммутатором, нет привязки к клиенту кроме MAC.
Притом MAC либо прописан жестко либо либо авторизован на уровне1 (как связать?)
Не удалось настоить т.к. нет валидных полей Option82,

level3. Клиент авторизуется на ISG (получает Framed-IP или назначенный из пулла реальников)
В биллинге сервис прописывается по логин = greyIP либо авторизуется на уровне2 (как связать?)
при авторизации по логину в биллинге появляется сессия с Framed-IP/greyIP
Удалось настроить сервис по RADIUS только при статически заданном логине.


Особенность схемы что она нисходящая, и клиент может пропустить предыдущие уровни, если какие-либо параметры уже заданы статически.

Нет особых проблем настроить каждый сервис в отдельности, кроме, пожалуй, DHCP, но не знаю как их связать все вместе,
чтобы сессия, созданнная на предыдущем уровне использовалась как идентнификатор для последующей.

Подскажите, какую иерархию выстраивать, чтобы реализовать подобную схему и связать сервисы?


Последний раз редактировалось Shadance 21 ноя 2012, 23:35, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 11:32 
Не в сети
Клиент

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 14:48 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
level3 - PPPoE/PPTP или IPoE?
level2 - всегда серый IP?
При авторизации на ISG даже MAC-адрес недоступен?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 15:01 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Magistr писал(а):
по level2 ипользуйте InetSimpleDhcpProcessor он не смотрит на опцию 82

Спасибо! А что он вообще смотрит? По нему нет докумментации, попробовал прописать MAC-адрес в поле "логин" и в поле MAC-адрес отдельной услуге, в любом случае пишет InetDhcpProcessor - InetServ not found.


Последний раз редактировалось Shadance 20 ноя 2012, 15:14, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 15:10 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
level3 - PPPoE/PPTP или IPoE?
level2 - всегда серый IP?
При авторизации на ISG даже MAC-адрес недоступен?


Level3 - IPoE
При авторизации на ISG недоступен MAC-адрес конечного устройства (Стоит за коммутатором L3). ISG видит единственную валидную информацию - это IP-адрес клиента (выданный динамически или прописанный).

Да, level2 - всегда серый IP. Хотя, уже рассматриваем вариант обеспечить на этом уровне реальники.
Но в любом случае оставется вопрос как перекинуть авторизованный на втором уровне IP в качестве логина в ISG.
Разница между серым-белым IP на втором уровне лишь в том, будет ли ISG выполнять NAT и потребуется ли от биллинга выдавать Framed-IP для ISG.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 16:12 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
При авторизации по 802.1X можно MAC-адрес подставлять в сервис
serv.macAddress.auto=2 (всегда перетирать MAC-адрес после успешной авторизации)

InetSimpleDhcpProcessor просто выдает прописанные адреса, InetDhcpProcessor в этом случае должен лучше подойти:
dhcp.servSearchMode=6 (поиск по MAC-адресу на устройстве с которого пришел DHCP-пакет (определяется по giaddr, а если есть, дополнительно по agentRemoteId) и его дочерних устройствах)

Здесь, теоретически, можно скриптом подставить в поле Идентификатор сервиса выданный IP-адрес, а в конфигурации устройства-ISG сделать аутентификацию по идентификатору (сейчас такой аутентификации нет).


Получается, после авторизации на ISG ему IP-адрес переназначается с того, что был выдан по DHCP? Авторизация происходит в портале ISG или по какому событию?

Обычная схема ISG с DHCP, когда клиент посылает DHCP-запрос, ISG его получает, посылает биллингу RADIUS Access-Request, после получения Access-Accept пересылает этот DHCP-запрос биллингу (далее от ISG идут RADIUS Accounting-запросы), не подходит?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 17:13 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
При авторизации по 802.1X можно MAC-адрес подставлять в сервис
serv.macAddress.auto=2 (всегда перетирать MAC-адрес после успешной авторизации)

InetSimpleDhcpProcessor просто выдает прописанные адреса, InetDhcpProcessor в этом случае должен лучше подойти:
dhcp.servSearchMode=6 (поиск по MAC-адресу на устройстве с которого пришел DHCP-пакет (определяется по giaddr, а если есть, дополнительно по agentRemoteId) и его дочерних устройствах)

Здесь, теоретически, можно скриптом подставить в поле Идентификатор сервиса выданный IP-адрес, а в конфигурации устройства-ISG сделать аутентификацию по идентификатору (сейчас такой аутентификации нет).


Получается, после авторизации на ISG ему IP-адрес переназначается с того, что был выдан по DHCP? Авторизация происходит в портале ISG или по какому событию?

Обычная схема ISG с DHCP, когда клиент посылает DHCP-запрос, ISG его получает, посылает биллингу RADIUS Access-Request, после получения Access-Accept пересылает этот DHCP-запрос биллингу (далее от ISG идут RADIUS Accounting-запросы), не подходит?


Ок, спасибо, попробую настроить.

ISG просто выпускает в Интернет внутрисетевой IP и навешивает сервисы (получает от биллинга FramedIP, чтобы сделать NAT 1-в-1).
ISG не получает DHCP, На ISG авторизуем по приходу IP-пакета от клиента. Поэтому, при авторизации, мы видим с ISG RADIUS запрос, где только внутрисетевой IP, выданный клиенту через DHCP или прописанный статикой.


Получается, что надо как то в биллинге на дочерний к level1 сервис навесить "логин-пароль" (или идентификатор), соответствующий ip-адресу, выданному по DHCP (или прописанному в биллинге)..
Чтобы в последствии биллинг смог найти и авторизовать запрос с ISG


// --- UPD ----
При авторизации клиента на level1
получаем такой пакет, биллинг отрабатывает, выдает назначенный серый IP и записывает на сервис MAC.
Код:
radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 10
Authenticator: {CE E7 7E BA 5C 2B EC AC 54 63 71 E0 AD D5 B8 3F}
Attributes:
  User-Name=00-30-48-5a-f2-31
  User-Password=#b,Ȫ�������
  NAS-IP-Address=172.25.98.3
  Message-Authenticator={14 F1 08 1B 1B BA 21 B5 F1 05 4F 25 48 D6 2D E8}
  NAS-Port=1
  Connect-Info=100Mbps
  Framed-MTU=1536
  NAS-Port-Type=15
  Calling-Station-Id=00:30:48:5A:F2:31
  Called-Station-Id=00:0C:46:EC:C7:69

radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 10
Authenticator: {CE E7 7E BA 5C 2B EC AC 54 63 71 E0 AD D5 B8 3F}
Attributes:
  User-Name=172.25.98.3:1
  User-Password=
  NAS-IP-Address=172.25.98.3
  Message-Authenticator={14 F1 08 1B 1B BA 21 B5 F1 05 4F 25 48 D6 2D E8}
  NAS-Port=1
  Connect-Info=100Mbps
  Framed-MTU=1536
  NAS-Port-Type=15
  Calling-Station-Id=00:30:48:5A:F2:31
  Called-Station-Id=00:0C:46:EC:C7:69
Common options: {agentRemoteId=172.25.98.3, macAddress=00:30:48:5A:F2:31, interfaceId=1, agentCircuitId=1}
radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] InetNas - Search by mac on device and descendants=0030485af231
radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - [username=172.25.98.3:1] Authenticated as inetServId:17
radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] InetNas - AgentDevice not found.
radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] InetApplication - inetServ[id=17] balance ok: 0.00 [0]
radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] InetApplication - TariffOptionMap: {}
radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - Set ip from serv
radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - Return code=0
radius 11-20/15:04:44  INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Accept
Identifier: 10
Authenticator: {}
Attributes:
  Message-Authenticator={00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
  Framed-IP-Address=172.25.98.12

Process time auth: 3


Дальше прилетает DHCP (с клиентом нас связывает только MAC, авторизованный на порт на предыдущем этапе)

Код:
dhcp 11-20/15:25:09  INFO [dhcpLstnr-p-11-t-2] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 1516230530, secs: -256, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 172.25.98.1
Client MAC: {0030485AF231}
  Agent information{82}=
    sub{2}={020A0000AC1962010A000000}

dhcp 11-20/15:25:09  INFO [dhcpLstnr-p-11-t-2] InetDhcpProcessor - InetServ not found.


Дальше дает о себе знать ISG:
(в запросе есть мак-адрес, но это мак адрес граничного коммутатора, никак не связан с клиентом)
Код:
radius 11-20/15:26:53  INFO [rdsLstnr-p-9-t-6] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 16
Authenticator: {E8 5C A5 AF AE 5F A9 19 B1 E4 88 29 4D F8 41 AE}
Attributes:
  User-Name=172.25.98.12
  NAS-Identifier=172.191.224.3
  User-Password=172.25.98.12
  NAS-IP-Address=172.191.224.3
  NAS-Port=1
  Service-Type=2
  NAS-Port-Type=5
  Calling-Station-Id=172.25.98.12
  Called-Station-Id=172.191.224.3
  cisco-avpair=client-mac-address=0011.bc49.3c00
Common options: {macAddress=0011.bc49.3c00, identifier=172.25.98.12}
radius 11-20/15:26:53  INFO [rdsLstnr-p-9-t-6] InetNas - Search by username=172.25.98.12
radius 11-20/15:26:53  INFO [rdsLstnr-p-9-t-6] InetRadiusProcessor - [username=172.25.98.12] InetServ not found (and is not card).
radius 11-20/15:26:53  INFO [rdsLstnr-p-9-t-6] InetRadiusProcessor - Return code=1
radius 11-20/15:26:53  INFO [rdsLstnr-p-9-t-6] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Reject
Identifier: 16
Authenticator: {}
Attributes:
  Reply-Message=1

Process time auth: 2


Настроил пока так (во вложениях)


Вложения:
Комментарий к файлу: Прописанные сервисы на пользователе
user.png
user.png [ 21.79 КБ | Просмотров: 10151 ]
Комментарий к файлу: Настройка сервисов
services.png
services.png [ 93.39 КБ | Просмотров: 10151 ]
Комментарий к файлу: Устройства
map.png
map.png [ 8.12 КБ | Просмотров: 10151 ]


Последний раз редактировалось Shadance 20 ноя 2012, 18:57, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 18:33 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Включите режим DEBUG в log4j-access.xml.

Код:
  Agent information{82}=
    sub{2}={020A0000AC1962010A000000}
Это не идентификатор коммутатора, к порту которого подключен абонент?


Предлагаю на level1 - level2 попробовать применить схему, которая используется для ISG+DHCP.
В inet-access.xml поменять InetDhcpProcessor на ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpHelperProcessor.
В конфигурации устройства 172.25.98.1
Код:
dhcp.key.pattern=$mac

InetDhcpHelperProcessor выдает адрес, который был назначен при RADIUS-авторизации. Т.е. абонент включает компьютер, происходит авторизация по порту, InetAccess запоминает по MAC-адресу IP-адрес, который был выдан, затем по получении DHCP запроса выдает этот адрес.

Если IP-адрес прописывать на сервисе статически, то можно просто скриптом обработки на событие изменения сервиса вставлять в поле Логин (совсем забыл, что оно в данном случае не используется, его можно использовать вместо Идентификатора, который я предлагал ранее) этот же IP-адрес (т.е. можно просто проверить, прописав адрес в поле логина вручную).

Для чего у вас дочерний сервис прописан в договоре?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 19:07 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
Включите режим DEBUG в log4j-access.xml.

Код:
  Agent information{82}=
    sub{2}={020A0000AC1962010A000000}
Это не идентификатор коммутатора, к порту которого подключен абонент?

Это идентификатор коммутатора, который релеит DHCP. к сожалению, на коммутаторах, к которым будут подключены клиенты Option82 не будет.

Amir писал(а):
Предлагаю на level1 - level2 попробовать применить схему, которая используется для ISG+DHCP.
В inet-access.xml поменять InetDhcpProcessor на ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpHelperProcessor.
В конфигурации устройства 172.25.98.1
Код:
dhcp.key.pattern=$mac

InetDhcpHelperProcessor выдает адрес, который был назначен при RADIUS-авторизации. Т.е. абонент включает компьютер, происходит авторизация по порту, InetAccess запоминает по MAC-адресу IP-адрес, который был выдан, затем по получении DHCP запроса выдает этот адрес.

О, я так пробовал. Дело в том, что Helper пытался получить IP-адрес при старте аккаунтинга, а в аккаунтинг он не попадает (отбрасываетя коммутатором на level1)

// сейчас сделаю логи
Код:
radius 11-20/17:11:52  INFO [rdsLstnr-p-9-t-4] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Accept
Identifier: 40
Authenticator: {1E 51 FA 8B F8 AD 59 19 15 AD D0 C7 7D E6 5B AC}
Attributes:
  Reply-Message=172.25.98.12
  Message-Authenticator={00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
  Framed-IP-Address=172.25.98.12

Process time auth: 8
Common options: {identifier=172.25.98.12}
connection 11-20/17:11:52  INFO [sa-p-13-t-51] ServiceActivatorSet - Connecting to device
connection 11-20/17:11:52 DEBUG [sa-p-13-t-51] AcknowledgeConsumer - Caught BGInetAccounting:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAcco
untingEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 1; deviceId: 106; connectionId: 248; timestamp: 1353417112962
connection 11-20/17:11:52  INFO [sa-p-13-t-51] ServiceActivatorDeviceWorker - Do task deviceId: 106; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.In
etSaAccountingEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 1; deviceId: 106; connectionId: 248; timestamp: 1353417112962
connection 11-20/17:11:52  INFO [sa-p-13-t-51] InetApplication - TariffOptionMap: {}
connection 11-20/17:11:52  INFO [sa-p-13-t-51] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=4; inetServId: 17; call: true;
 oldState: 1; newState: 1; oldOptionSet: ; newOptionSet:
connection 11-20/17:11:52  INFO [sa-p-13-t-51] ServiceActivatorDeviceWorker - Processing deviceId:106; command ServiceActivatorEvent type=4; inetServId: 17;
call: true; oldState: 1; newState: 1; oldOptionSet: ; newOptionSet:
connection 11-20/17:11:52  INFO [sa-p-13-t-51] ServiceActivatorSet - Invoking onAccountingStart
connection 11-20/17:11:52  INFO [sa-p-13-t-51] ServiceActivatorDeviceWorker - Process event type[4] result=true
mq 11-20/17:11:53 DEBUG [event-proc-p-2-t-1] Consumer - Caught BGInetAccounting:Event[ru.bitel.bgbilling.modules.inet.accounting.event.InetAccountingEvent] m
oduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 1; deviceId: 106; connectionId: 248; timestamp: 1353417112962
mq 11-20/17:11:53  INFO [event-proc-p-2-t-1] InetConnectionManager - Add connection: InetConnection [id=248-0, iface=106:1, sessId=000000ED|00:0C:46:EC:C7:69
|00:30:48:5A:F2:31|1|1, start=20.11.2012 17:11:52, uname=172.25.98.3:1, addr=[IpAddress:null]]
mq 11-20/17:11:53  INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - Ip is null 106:172.25.98.3:1:00:30:48:5A:F2:31


Amir писал(а):
Если IP-адрес прописывать на сервисе статически, то можно просто скриптом обработки на событие изменения сервиса вставлять в поле Логин (совсем забыл, что оно в данном случае не используется, его можно использовать вместо Идентификатора, который я предлагал ранее) этот же IP-адрес (т.е. можно просто проверить, прописав адрес в поле логина вручную).

Для чего у вас дочерний сервис прописан в договоре?


Дочерний сервис как раз для ISG. Я его сделал дочерним, чтобы хоть как то обозначить зависимость.
В нем задается Framed-IP, что будет выдан клиенту (или выдается динамически).
Получается, мне как то надо после авторизации прописать логин на дочернем сервисе?


Последний раз редактировалось Shadance 20 ноя 2012, 19:17, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 19:16 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Код:
Дело в том, что Helper пытался получить IP-адрес при старте аккаунтинга, а в аккаунтинг он не попадает (отбрасываетя коммутатором на level1)
C dhcp.key.pattern=$mac пробовали?

Попробуйте еще добавить в конфигурации 172.25.98.3
Код:
connection.start.fromAccept=1
radius.realm.default.ipCategories=... (если адрес выдается динамически)
Helper'у должно быть все равно, есть ли Framed-Ip-Address в старт-пакете. Т.е. адрес выдает RADIUS, статический или динамический все равно. Можно даже Framed-Ip-Address удалить в постобработке, в сессии будет указан этот выделенный адрес (должно быть видно в мониторе), у Helper'а будет привязка mac - (ip, connectionId, servId).

Цитата:
Получается, мне как то надо после авторизации прописать логин на дочернем сервисе?
Нет, прямо на родительском. Дочерний вроде бы в вашем случае не пригодится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 19:29 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
Код:
Дело в том, что Helper пытался получить IP-адрес при старте аккаунтинга, а в аккаунтинг он не попадает (отбрасываетя коммутатором на level1)
C dhcp.key.pattern=$mac пробовали?

Да, именно так.

Код:
dhcp 11-20/17:28:02 DEBUG [dhcpLstnr-p-11-t-1] InetDhcpDeviceMap - Found device by giaddr id=187
dhcp 11-20/17:28:02  INFO [dhcpLstnr-p-11-t-1] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 1162713884, secs: -256, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 172.25.98.1
Client MAC: {0030485AF231}
  Agent information{82}=
    sub{2}={020A0000AC1962010A000000}

dhcp 11-20/17:28:02 DEBUG [dhcpLstnr-p-11-t-1] InetAbstractDhcpProcessor - OP_BOOT_REQUEST
dhcp 11-20/17:28:02 DEBUG [dhcpLstnr-p-11-t-1] InetDhcpHelperProcessor - request.giaddr = 172.25.98.1
dhcp 11-20/17:28:02 ERROR [dhcpLstnr-p-11-t-1] InetAbstractDhcpProcessor -
java.lang.NullPointerException
        at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:796)
        at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpHelperProcessor.processOption82Request(InetDhcpHelperProcessor.java:575)
        at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processRequestImpl(InetAbstractDhcpProcessor.java:203)
        at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processRequest(InetAbstractDhcpProcessor.java:119)
        at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processRequest(InetAbstractDhcpProcessor.java:1)
        at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:58)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)


Цитата:
Попробуйте еще добавить в конфигурации 172.25.98.3
Код:
connection.start.fromAccept=1
radius.realm.default.ipCategories=... (если адрес выдается динамически)
Helper'у должно быть все равно, есть ли Framed-Ip-Address в старт-пакете. Т.е. адрес выдает RADIUS, статический или динамический все равно. Можно даже Framed-Ip-Address удалить в постобработке, в сессии будет указан этот выделенный адрес (должно быть видно в мониторе), у Helper'а будет привязка mac - (ip, connectionId, servId).

Цитата:
Получается, мне как то надо после авторизации прописать логин на дочернем сервисе?
Нет, прямо на родительском. Дочерний вроде бы в вашем случае не пригодится.


ок, это попробую


Последний раз редактировалось Shadance 20 ноя 2012, 19:46, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 19:36 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:796)
at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpHelperProcessor.processOption82Request(InetDhcpHelperProcessor.java:575)
Продублируйте
Код:
radius.servSearchMode=1
в конфигурации устройства 172.25.98.1 (InetDhcpHelperProcessor не совсем понял, что от него требуется).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 19:48 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
... InetDhcpProcessor в этом случае должен лучше подойти:
dhcp.servSearchMode=6 (поиск по MAC-адресу на устройстве с которого пришел DHCP-пакет (определяется по giaddr, а если есть, дополнительно по agentRemoteId) и его дочерних устройствах) ...


так мы же 6й ставили..


с первым почти работает..
Код:
dhcp 11-20/17:50:27 DEBUG [dhcpLstnr-p-11-t-1] InetDhcpDeviceMap - Found device by giaddr id=187
dhcp 11-20/17:50:27  INFO [dhcpLstnr-p-11-t-1] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 1209749410, secs: -256, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 172.25.98.1
Client MAC: {0030485AF231}
  Agent information{82}=
    sub{2}={020A0000AC1962010A000000}

dhcp 11-20/17:50:27 DEBUG [dhcpLstnr-p-11-t-1] InetAbstractDhcpProcessor - OP_BOOT_REQUEST
dhcp 11-20/17:50:27 DEBUG [dhcpLstnr-p-11-t-1] InetDhcpHelperProcessor - request.giaddr = 172.25.98.1
dhcp 11-20/17:50:27 ERROR [dhcpLstnr-p-11-t-1] InetDhcpHelperProcessor - Not found params for request: 0030485AF231
dhcp 11-20/17:50:27  INFO [dhcpLstnr-p-11-t-1] InetAbstractDhcpProcessor - RESPONSE:
Message type: BOOT_RESPONSE
Dhcp message type: DHCP NAK{6}
htype: 1, hlen: 6, hops: 1
xid: 1209749410, secs: 0, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 172.25.98.1
Client MAC: {0030485AF231}
  Agent information{82}=
    sub{2}={020A0000AC1962010A000000}

dhcp 11-20/17:50:27 DEBUG [dhcpLstnr-p-11-t-1] ProcessorRequest - Sending to /172.25.98.1:67
connection 11-20/17:50:28 DEBUG [sa-p-13-t-6] DeviceManageWorker - Check uptime for device:106
connection 11-20/17:50:28 DEBUG [sa-p-13-t-6] SnmpClient - Ok: uk.co.westhawk.snmp.pdu.BlockPdu@24f6af3b
connection 11-20/17:50:28 DEBUG [sa-p-13-t-6] DeviceManageWorker - Returned: 550814284
mq 11-20/17:50:30 DEBUG [evpool-pblsh-p-4-t-1] EventProcessor - Publish: Event[pool:ru.bitel.bgbilling.modules.inet.api.common.event.InetDeviceUptimeEvent] t
imestamp: 1353419430263; moduleId: 1; pluginId: -1; cid: -1; scid: -1; userId: -1


Конфиг устройства:
Код:
accounting.tariffication.checkPrice=0
accounting.worker.1.tariffication.1.batchSize=100
accounting.worker.1.tariffication.1.delay=10
accounting.worker.1.tariffication.1.minDeltaAmount=0
accounting.worker.1.thread.count=1
accounting.worker.1.tracking.1.batchSize=100
accounting.worker.1.tracking.1.delay=20
accounting.worker.2.flushing.1.batchSize=500
accounting.worker.2.flushing.1.delay=20
accounting.worker.2.flushing.1.minDeltaAccount=0
accounting.worker.2.thread.count=1
accounting.worker.3.finishing.1.batchSize=500
accounting.worker.3.finishing.1.delay=20
accounting.worker.3.thread.count=1
card.moduleId=2
connection.close.timeout=900
connection.start.fromAccept=1
connection.suspend.timeout=900
contract.status.active.codes=0
contract.status.suspend.codes=3,4
deviceId=187
dhcp.deviceSearchMode=2
dhcp.ipCategories=4
dhcp.key.pattern=$mac
dhcp.net.option.172.25.98.0:255.255.255.0.gate=172.25.98.1
dhcp.option.dns=10.0.0.1,10.0.0.2,8.8.8.8
dhcp.option.leaseTime=60
dhcp.option.serverIdentifier=0.0.0.0
dhcp.option.subnetMask=255.255.255.0
dhcp.option82.agentRemoteId.code=2
dhcp.option82.agentRemoteId.length=6
dhcp.option82.agentRemoteId.position=2
dhcp.option82.interfaceId.code=1
dhcp.option82.interfaceId.length=1
dhcp.option82.interfaceId.position=5
dhcp.option82.vlanId.code=1
dhcp.option82.vlanId.length=2
dhcp.option82.vlanId.position=2
dhcp.relay.deviceTypeIds=23
dhcp.servSearchMode=0
dhcp.xid=1
ip.resource.category=4
nas.radius.deviceTypeIds=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
nas.radius.password.verification=0
nas.radius.servSearchMode=1
radius.deviceTypeIds=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21
radius.password.verification=0
radius.servSearchMode=1
serv.login.max=9999999
serv.login.min=1000
serv.password.chars=1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
serv.password.chars.description=В пароле допустимы только цифры и латинские буквы.
serv.password.length.auto=6
serv.password.length.max=16
serv.password.length.min=0
snmp.community=private666
snmp.version=2
subServSearchMode=2
web.auth.modes=0:1,1:1
web.menuItem1=Отчет по сессиям Inet
web.menuItem2=Смена пароля на логины Inet
web.menuItem3=Отчет по трафикам Inet


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:08 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
dhcp.servSearchMode=6
Для InetDhcpHelperProcessor этот параметр не нужен, он больше завязан на InetRadiusProcessor. Я уже позже решил, что InetDhcpHelperProcessor предпочтительнее.

Попробуйте оставить пустым
Код:
dhcp.relay.deviceTypeIds=
При выдаче Access-Accept сейчас видит, что 172.191.224.3 не является DHCP-релеем, и не запоминает выданный адрес (в логах должна быть запись Put auth accept).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:12 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
Цитата:
Получается, мне как то надо после авторизации прописать логин на дочернем сервисе?
Нет, прямо на родительском. Дочерний вроде бы в вашем случае не пригодится.


Значит в postprocessAccessRequest мне надо сделать свою обработку.
Притом, обработку навешиваю на DHCP Relay, я так понимаю, что вызывать будет её хелпер..

Где я могу достать IP-Адрес, выданный DHCP?
Я так понимаю, что мне из обработки надо как то получить экземпляр своего сервиса?
inetServ.setLogin( userName ) - сработает?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:14 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
Цитата:
dhcp.servSearchMode=6
Для InetDhcpHelperProcessor этот параметр не нужен, он больше завязан на InetRadiusProcessor. Я уже позже решил, что InetDhcpHelperProcessor предпочтительнее.

Попробуйте оставить пустым
Код:
dhcp.relay.deviceTypeIds=
При выдаче Access-Accept сейчас видит, что 172.191.224.3 не является DHCP-релеем, и не запоминает выданный адрес (в логах должна быть запись Put auth accept).

Ок, попробую. А по сути 172.191.224.3 и не является релеем, он авторизует только по level1

Ответ тот же:
Код:
dhcp 11-20/18:22:16 DEBUG [dhcpLstnr-p-11-t-4] InetDhcpDeviceMap - Found device by giaddr id=187
dhcp 11-20/18:22:16  INFO [dhcpLstnr-p-11-t-4] InetAbstractDhcpProcessor - REQUEST:
Message type: BOOT_REQUEST
Dhcp message type: DHCP Discover{1}
htype: 1, hlen: 6, hops: 1
xid: 446336965, secs: -256, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 172.25.98.1
Client MAC: {0030485AF231}
  Agent information{82}=
    sub{2}={020A0000AC1962010A000000}

dhcp 11-20/18:22:16 DEBUG [dhcpLstnr-p-11-t-4] InetAbstractDhcpProcessor - OP_BOOT_REQUEST
dhcp 11-20/18:22:16 DEBUG [dhcpLstnr-p-11-t-4] InetDhcpHelperProcessor - request.giaddr = 172.25.98.1
dhcp 11-20/18:22:16 ERROR [dhcpLstnr-p-11-t-4] InetDhcpHelperProcessor - Not found params for request: 0030485AF231
dhcp 11-20/18:22:16  INFO [dhcpLstnr-p-11-t-4] InetAbstractDhcpProcessor - RESPONSE:
Message type: BOOT_RESPONSE
Dhcp message type: DHCP NAK{6}
htype: 1, hlen: 6, hops: 1
xid: 446336965, secs: 0, flags: -32768
Client IP: 0.0.0.0
Your IP: 0.0.0.0
Server IP: 0.0.0.0
Relay IP: 172.25.98.1
Client MAC: {0030485AF231}
  Agent information{82}=
    sub{2}={020A0000AC1962010A000000}

dhcp 11-20/18:22:16 DEBUG [dhcpLstnr-p-11-t-4] ProcessorRequest - Sending to /172.25.98.1:67


Последний раз редактировалось Shadance 20 ноя 2012, 20:23, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:21 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
А по сути 172.191.224.3 и не является релеем, он авторизует только по level1
Просто Helper делался для ISG/CLIPS с расчетом, что DHCP и RADIUS-пакеты идут с одного устройства.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:24 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
Цитата:
А по сути 172.191.224.3 и не является релеем, он авторизует только по level1
Просто Helper делался для ISG/CLIPS с расчетом, что DHCP и RADIUS-пакеты идут с одного устройства.


А конфиг он чей читает?

P.S. не помогло, лог приложил в ответе выше


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:27 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Helper? Когда происходит авторизация - того устройства, от которого пришел RADIUS-пакет, DHCP - от которого пришел DHCP-пакет.
Есть еще понятие agentDevice (с чего изначально пошел запрос), если бы в DHCP пакете была информация об 172.25.98.3, можно было бы настроить, чтобы в обоих случаях с 172.25.98.3.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:28 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
При Access-Request так и не пишет Put auth accept?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:30 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
При Access-Request так и не пишет Put auth accept?

Пишет InetDhcpHelperProcessor - Put connection add 106:172.25.98.3:1:00:30:48:5A:F2:31

Код:
Packet type: Access-Accept
Identifier: 80
Authenticator: {51 7E 79 30 29 24 C6 20 4F 3C 77 A3 4D 44 5B 34}
Attributes:
  Reply-Message=172.25.98.12
  Message-Authenticator={00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
  Framed-IP-Address=172.25.98.12

Process time auth: 14
Common options: {identifier=172.25.98.12}
connection 11-20/18:29:13  INFO [sa-p-13-t-66] ServiceActivatorSet - Connecting to device
connection 11-20/18:29:13 DEBUG [sa-p-13-t-66] AcknowledgeConsumer - Caught BGInetAccounting:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAcco
untingEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 1; deviceId: 106; connectionId: 259; timestamp: 1353421753604
connection 11-20/18:29:13  INFO [sa-p-13-t-66] ServiceActivatorDeviceWorker - Do task deviceId: 106; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.In
etSaAccountingEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 1; deviceId: 106; connectionId: 259; timestamp: 1353421753604
connection 11-20/18:29:13  INFO [sa-p-13-t-66] InetApplication - TariffOptionMap: {}
connection 11-20/18:29:13  INFO [sa-p-13-t-66] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=4; inetServId: 17; call: true;
 oldState: 1; newState: 1; oldOptionSet: ; newOptionSet:
connection 11-20/18:29:13  INFO [sa-p-13-t-66] ServiceActivatorDeviceWorker - Processing deviceId:106; command ServiceActivatorEvent type=4; inetServId: 17;
call: true; oldState: 1; newState: 1; oldOptionSet: ; newOptionSet:
connection 11-20/18:29:13  INFO [sa-p-13-t-66] ServiceActivatorSet - Invoking onAccountingStart
connection 11-20/18:29:13  INFO [sa-p-13-t-66] ServiceActivatorDeviceWorker - Process event type[4] result=true
mq 11-20/18:29:13 DEBUG [event-proc-p-2-t-1] Consumer - Caught BGInetAccounting:Event[ru.bitel.bgbilling.modules.inet.accounting.event.InetAccountingEvent] m
oduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 1; deviceId: 106; connectionId: 259; timestamp: 1353421753604
mq 11-20/18:29:13  INFO [event-proc-p-2-t-1] InetConnectionManager - Add connection: InetConnection [id=259-0, iface=106:1, sessId=000000FB|00:0C:46:EC:C7:69
|00:30:48:5A:F2:31|1|1, start=20.11.2012 18:29:13, uname=172.25.98.3:1, addr=172.25.98.12]
mq 11-20/18:29:13  INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - Put connection add 106:172.25.98.3:1:00:30:48:5A:F2:31
connection 11-20/18:29:18  INFO [sa-p-13-t-66] ServiceActivatorSet - Disconnecting from device
access 11-20/18:29:20 DEBUG [access-p-7-t-1] OldConnectionsRemover - Run OldConnectionsRemover...
access 11-20/18:29:20 DEBUG [access-p-7-t-1] OldConnectionsRemover - Removed 0 old connections with status=0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:33 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
Helper? Когда происходит авторизация - того устройства, от которого пришел RADIUS-пакет, DHCP - от которого пришел DHCP-пакет.
Есть еще понятие agentDevice (с чего изначально пошел запрос), если бы в DHCP пакете была информация об 172.25.98.3, можно было бы настроить, чтобы в обоих случаях с 172.25.98.3.


У меня получается, что для 172.25.98.1 стоит radius.servSearchMode=1 (DHCP-Relay)
а для 172.25.98.3 radius.servSearchMode=6 (level1 auth по мак адресу)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:39 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Странно, как-будто у 172.25.98.3 нет в конфиге dhcp.key.pattern=$mac, хотя параметр должен был отнаследоваться от 172.25.98.1

Попробуйте radius.servSearchMode=1 везде оставить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:40 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Должно получиться "Put connection add 0030485AF231" или хотя бы "Put connection add 00:30:48:5A:F2:31"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:52 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
Странно, как-будто у 172.25.98.3 нет в конфиге dhcp.key.pattern=$mac, хотя параметр должен был отнаследоваться от 172.25.98.1

Попробуйте radius.servSearchMode=1 везде оставить.


попробовал, не помогло.
dhcp.key.pattern стоит - проверил.
я так понимаю, что он параметры ответа не может найти, а ищет их на 172.25.98.1?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 20:59 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
При получении DHCP пакета все отрабатывает нормально. При Access-Request - непонятно, почему берет dhcp.key.pattern по умолчанию ($deviceId:$remoteId:$circuitId:$mac).
Может попробовать перезапустить Access.

Если так и не получится, то нужен будет доступ. Это уже завтра.


Скорее всего будет в итоге "Put connection add 00:30:48:5A:F2:31", т.к. Helper на такой режим тоже немного не расчитан, будет добавлять 00:30:48:5A:F2:31, а искать по 0030485AF231.
Можно будет потом поправить, а чтобы просто дальше проверить, можно в динамическом классе ru.bitel.bgbilling.modules.inet.dyn.device.radius.AbstractRadiusProtocolHandler, в методах preprocessAccessRequest и preprocessAccountingRequest добавить строчку:
Код:
request.setStringAttribute( -1, RadiusDictionary.Calling_Station_Id, request.getStringAttribute( -1, RadiusDictionary.Calling_Station_Id, "" ).replaceAll( ":", "" ) );
, перекомпилировать, в типе устройства AT-8550SP выбрать обработчик процессора протокола CoAProtocolHandler и перечитать конфигурацию. Т.е. получится
Цитата:
radius 11-20/15:04:44 INFO [rdsLstnr-p-9-t-4] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 10
Authenticator: {CE E7 7E BA 5C 2B EC AC 54 63 71 E0 AD D5 B8 3F}
Attributes:
User-Name=172.25.98.3:1
User-Password=
NAS-IP-Address=172.25.98.3
Message-Authenticator={14 F1 08 1B 1B BA 21 B5 F1 05 4F 25 48 D6 2D E8}
NAS-Port=1
Connect-Info=100Mbps
Framed-MTU=1536
NAS-Port-Type=15
Calling-Station-Id=0030485AF231
Called-Station-Id=00:0C:46:EC:C7:69

Put connection add 0030485AF231


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 20 ноя 2012, 21:10 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Amir писал(а):
Должно получиться "Put connection add 0030485AF231" или хотя бы "Put connection add 00:30:48:5A:F2:31"

Помогло прописать dhcp.key.pattern=$mac непосредственно в конфиг устройства (до этого, эта строчка наследовалась)

указанная вами строчка в логах появилась.
Но теперь, после всех этих изменений, изменилось поведение авторизации МАКу - авторизует и сразу же сбрасывает, повторно не пускает, так что до DHCP дело не доходит..

Код:
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 13
Authenticator: {CC E7 FF 29 23 FC 86 3D 72 C2 9E 31 B9 06 E7 2C}
Attributes:
  User-Name=00-30-48-5a-f2-31
  User-Password=.������ޡ m�Sj
  NAS-IP-Address=172.25.98.3
  Message-Authenticator={91 FD 60 CE 42 06 8C 75 3A 2A 43 19 E7 B6 59 E8}
  NAS-Port=1
  Connect-Info=100Mbps
  Framed-MTU=1536
  NAS-Port-Type=15
  Calling-Station-Id=00:30:48:5A:F2:31
  Called-Station-Id=00:0C:46:EC:C7:69

radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 13
Authenticator: {CC E7 FF 29 23 FC 86 3D 72 C2 9E 31 B9 06 E7 2C}
Attributes:
  User-Name=172.25.98.3:1
  User-Password=
  NAS-IP-Address=172.25.98.3
  Message-Authenticator={91 FD 60 CE 42 06 8C 75 3A 2A 43 19 E7 B6 59 E8}
  NAS-Port=1
  Connect-Info=100Mbps
  Framed-MTU=1536
  NAS-Port-Type=15
  Calling-Station-Id=00:30:48:5A:F2:31
  Called-Station-Id=00:0C:46:EC:C7:69
Common options: {agentRemoteId=172.25.98.3, macAddress=00:30:48:5A:F2:31, interfaceId=1, agentCircuitId=1}
radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] RadiusProcessor - Create new radius session.
radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] InetNas - agentRemoteId=172.25.98.3
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetNas - AgentDevice not found.
radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] InetNas - findServ agentDeviceRuntime=null
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetNas - Search serv on deviceId=106; interfaceId=1
radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] InetRadiusProcessor - Password verification disabled.
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetRadiusProcessor - [username=172.25.98.3:1] Authenticated as inetServId:17
radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] InetNas - agentRemoteId=172.25.98.3
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetNas - AgentDevice not found.
radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] InetRadiusProcessor - Identifier from request: null
radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] InetRadiusProcessor - MAC-address from request: 0030485AF231
radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] InetAccountingPeriodList - Create:
radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] InetAccountingPeriodList - AccountingPeriod: 2: 18.11.2012 00:00:00.0 - 18.11.2016 23:59:59.999
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetApplication - inetServ[id=17] balance ok: 0.00 [0]
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetApplication - TariffOptionMap: {}
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetRadiusProcessor - Set ip from serv
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetRadiusProcessor - Write new waiting connection to DB
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetRadiusProcessor - New connection id=282
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetRadiusProcessor - Return code=0
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetDhcpHelperProcessor - Put auth accept 00:30:48:5A:F2:31
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Accept
Identifier: 13
Authenticator: {}
Attributes:
  Message-Authenticator={00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
  Framed-IP-Address=172.25.98.12

Process time auth: 14

radius 11-20/19:08:48 DEBUG [rdsLstnr-p-9-t-8] ProcessorRequest - Sending to /172.25.98.3:1026
radius 11-20/19:08:48  INFO [rdsLstnr-p-9-t-8] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Accept
Identifier: 13
Authenticator: {4E 5E 04 FF 09 27 82 72 5E 11 C0 48 F7 A6 3F 62}
Attributes:
  Message-Authenticator={00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
  Framed-IP-Address=172.25.98.12

Process time auth: 15
Common options: {identifier=172.25.98.12}
connection 11-20/19:08:48  INFO [sa-p-13-t-13] ServiceActivatorSet - Connecting to device
connection 11-20/19:08:48 DEBUG [sa-p-13-t-13] AcknowledgeConsumer - Caught BGInetAccounting:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAcco
untingEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 1; deviceId: 106; connectionId: 273; timestamp: 1353424128115
connection 11-20/19:08:48  INFO [sa-p-13-t-13] ServiceActivatorDeviceWorker - Do task deviceId: 106; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.In
etSaAccountingEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 1; deviceId: 106; connectionId: 273; timestamp: 1353424128115
connection 11-20/19:08:48  INFO [sa-p-13-t-13] InetApplication - TariffOptionMap: {}
connection 11-20/19:08:48  INFO [sa-p-13-t-13] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=4; inetServId: 17; call: true;
 oldState: 1; newState: 1; oldOptionSet: ; newOptionSet:
connection 11-20/19:08:48  INFO [sa-p-13-t-13] ServiceActivatorDeviceWorker - Processing deviceId:106; command ServiceActivatorEvent type=4; inetServId: 17;
call: true; oldState: 1; newState: 1; oldOptionSet: ; newOptionSet:
connection 11-20/19:08:48  INFO [sa-p-13-t-13] ServiceActivatorSet - Invoking onAccountingStart
connection 11-20/19:08:48  INFO [sa-p-13-t-13] ServiceActivatorDeviceWorker - Process event type[4] result=true
mq 11-20/19:08:48 DEBUG [event-proc-p-2-t-1] Consumer - Caught BGInetAccounting:Event[ru.bitel.bgbilling.modules.inet.accounting.event.InetAccountingEvent] m
oduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; type: 1; deviceId: 106; connectionId: 273; timestamp: 1353424128115
mq 11-20/19:08:48  INFO [event-proc-p-2-t-1] InetConnectionManager - Add connection: InetConnection [id=273-0, iface=106:1, sessId=00000105|00:0C:46:EC:C7:69
|00:30:48:5A:F2:31|1|1, start=20.11.2012 19:08:48, uname=172.25.98.3:1, addr=172.25.98.12]
mq 11-20/19:08:48  INFO [event-proc-p-2-t-1] InetDhcpHelperProcessor - Put connection add 00:30:48:5A:F2:31
radius 11-20/19:08:52 DEBUG [setup-sched-p-1-t-3] RadiusProcessor - After clean old rad sessions: 0
connection 11-20/19:08:53  INFO [sa-p-13-t-13] ServiceActivatorSet - Disconnecting from device
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] RadiusListenerWorker - REQUEST:
Packet type: Access-Request
Identifier: 14
Authenticator: {A3 22 42 66 FD AD C5 46 C6 95 0C 6A E4 A0 96 DD}
Attributes:
  User-Name=00-30-48-5a-f2-31
  User-Password=,/�+�
�zW.r2f���
  NAS-IP-Address=172.25.98.3
  Message-Authenticator={87 5F E6 F9 41 03 8C A0 12 CC 4B 02 C7 A3 9F 22}
  NAS-Port=1
  Connect-Info=100Mbps
  Framed-MTU=1536
  NAS-Port-Type=15
  Calling-Station-Id=00:30:48:5A:F2:31
  Called-Station-Id=00:0C:46:EC:C7:69

radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS:
Packet type: Access-Request
Identifier: 14
Authenticator: {A3 22 42 66 FD AD C5 46 C6 95 0C 6A E4 A0 96 DD}
Attributes:
  User-Name=172.25.98.3:1
  User-Password=
  NAS-IP-Address=172.25.98.3
  Message-Authenticator={87 5F E6 F9 41 03 8C A0 12 CC 4B 02 C7 A3 9F 22}
  NAS-Port=1
  Connect-Info=100Mbps
  Framed-MTU=1536
  NAS-Port-Type=15
  Calling-Station-Id=00:30:48:5A:F2:31
  Called-Station-Id=00:0C:46:EC:C7:69
Common options: {agentRemoteId=172.25.98.3, macAddress=00:30:48:5A:F2:31, interfaceId=1, agentCircuitId=1}
radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] RadiusProcessor - Create new radius session.
radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] InetNas - agentRemoteId=172.25.98.3
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetNas - AgentDevice not found.
radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] InetNas - findServ agentDeviceRuntime=null
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetNas - Search serv on deviceId=106; interfaceId=1
radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] InetRadiusProcessor - Password verification disabled.
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetRadiusProcessor - [username=172.25.98.3:1] Authenticated as inetServId:17
radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] InetNas - agentRemoteId=172.25.98.3
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetNas - AgentDevice not found.
radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] InetRadiusProcessor - Identifier from request: null
radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] InetRadiusProcessor - MAC-address from request: 0030485AF231
radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] InetAccountingPeriodList - Create:
radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] InetAccountingPeriodList - AccountingPeriod: 2: 18.11.2012 00:00:00.0 - 18.11.2016 23:59:59.999
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetApplication - inetServ[id=17] balance ok: 0.00 [0]
mq 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] EventProcessor - Publish: Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId:
1; pluginId: no; cid: 1; scid: -1; userId: 0; deviceId: 106; inetServId: 17; connectionId: 273; state: 0; accessCode: 3; timestamp: 1353424137651
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetApplication - Too many sessions.
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetRadiusProcessor - Return code=3
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS:
Packet type: Access-Reject
Identifier: 14
Authenticator: {}
Attributes:
  Reply-Message=3
  Message-Authenticator={00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}

Process time auth: 8

radius 11-20/19:08:57 DEBUG [rdsLstnr-p-9-t-9] ProcessorRequest - Sending to /172.25.98.3:1026
radius 11-20/19:08:57  INFO [rdsLstnr-p-9-t-9] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Reject
Identifier: 14
Authenticator: {C4 AD 02 60 F1 96 63 AA 58 73 57 C6 7C 08 AD AB}
Attributes:
  Reply-Message=3
  Message-Authenticator={00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}

Process time auth: 9

connection 11-20/19:08:57  INFO [sa-p-13-t-19] ServiceActivatorSet - Connecting to device
connection 11-20/19:08:57 DEBUG [sa-p-13-t-19] AcknowledgeConsumer - Caught BGInetAccess:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateMod
ifyEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; deviceId: 106; inetServId: 17; connectionId: 273; state: 0; accessCode: 3; timestamp: 13534
24137651
connection 11-20/19:08:57  INFO [sa-p-13-t-19] ServiceActivatorDeviceWorker - Do task deviceId: 106; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.In
etSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 1; scid: -1; userId: 0; deviceId: 106; inetServId: 17; connectionId: 273; state: 0; accessCode: 3; time
stamp: 1353424137651
connection 11-20/19:08:57  INFO [sa-p-13-t-19] InetApplication - TariffOptionMap: {}
connection 11-20/19:08:57  INFO [sa-p-13-t-19] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 17; call: true;
 oldState: 1; newState: 0; oldOptionSet: ; newOptionSet:
connection 11-20/19:08:57  INFO [sa-p-13-t-19] ServiceActivatorDeviceWorker - Processing deviceId:106; command ServiceActivatorEvent type=2; inetServId: 17;
call: true; oldState: 1; newState: 0; oldOptionSet: ; newOptionSet:
connection 11-20/19:08:57  INFO [sa-p-13-t-19] ServiceActivatorSet - Invoking connectionClose
connection 11-20/19:08:57  INFO [sa-p-13-t-19] ServiceActivatorDeviceWorker - Process event type[2] result=true



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 21 ноя 2012, 00:32 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А почему вторая авторизация идет сразу после первой? Т.е. вроде бы и старт-пакет пришел, но после него новый Access-Request.
Попробуйте просто увеличить максимальное количество сессий в сервисе (сейчас похоже стоит 1).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 21 ноя 2012, 01:52 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Попробовал, не проходит - т.к. биллинг ругается, что ИП уже выдал на сессию.
Перевел устройство в сингл режим (до этого на порт она могла авторизовывать несколько маков).
Похоже, всплыла маленькая проблема - устройство подвисает в режиме "авторизую" и не переходит в режим авторизован. (оттуда и повторные запросы)
Пока не знаю, что случилось и почему перестала заканчивать авторизацию, но биллинг исправно отрабатывает и по ассессу и по аккаунтингу.
Так что траффика от тестовой машинки мы не увидим (в том числе и DHCP), пока железка не посчитает, что авторизовала клиента..
Пока ищу причину


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 802.1X + DHCP + ISG
СообщениеДобавлено: 21 ноя 2012, 14:20 
Не в сети

Зарегистрирован: 19 ноя 2012, 18:49
Сообщения: 53
Карма: 0
Shadance писал(а):
Попробовал, не проходит - т.к. биллинг ругается, что ИП уже выдал на сессию.
Перевел устройство в сингл режим (до этого на порт она могла авторизовывать несколько маков).
Похоже, всплыла маленькая проблема - устройство подвисает в режиме "авторизую" и не переходит в режим авторизован. (оттуда и повторные запросы)
Пока не знаю, что случилось и почему перестала заканчивать авторизацию, но биллинг исправно отрабатывает и по ассессу и по аккаунтингу.
Так что траффика от тестовой машинки мы не увидим (в том числе и DHCP), пока железка не посчитает, что авторизовала клиента..
Пока ищу причину


Я так понимаю, что лучше выставить "Кол-во сессий=1" и
connection.start.fromAccept=0
т.к. следует открывать сессию только если устройство 172.25.98.3 прислало Start пакет и тем самым подтвердило, что оно получило Access-Accept и открыло порт. Это как обработка повторного запроса на авторизацию.


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

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


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

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


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

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