forum.bitel.ru http://forum.bitel.ru/ |
|
Cisco ISG и авторизация по агентскому устройству http://forum.bitel.ru/viewtopic.php?f=44&t=6812 |
Страница 1 из 2 |
Автор: | Zar1n [ 25 май 2012, 16:00 ] |
Заголовок сообщения: | Cisco ISG и авторизация по агентскому устройству |
У цисок (в моем случае ASR 1k2) есть возможность вставлять в опцию82, проприетарные поля, которые хранят данные о первом релее и идентификаторе vpn. Выглядит это следующим образов. Код: Agent information{82}= sub{9}={000000091A0A186D6E30975212010600040307000202080006FC7516F2B320} sub{2}={020A00006D6E3086F20000AB} sub{-105}={00696E6672612D77616E2D696E65742D69706F65} sub{-106}={6D6E3084} sub{-104}={6D6E3086} В субопции 9 находится содержимое, субопций 1 и 2 пришедшие от первичного релея. Субопции 1 и 2 имеют такой вид Код: cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 При попытке парсить субопцию 9, получаю следующий экзепшен: Код: java.lang.NullPointerException at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpHelperProcessor.processRequestImpl(InetDhcpHelperProcessor.java:306) at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processRequest(InetAbstractDhcpProcessor.java:47) at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processRequest(InetAbstractDhcpProcessor.java:1) 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$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Настройки для парсинга: Код: dhcp.82.vlanOptionCode=9 dhcp.82.vlanPosition=16 dhcp.82.interfaceOptionCode=9 dhcp.82.interfacePosition=22 dhcp.82.remoteIdOptionCode=9 dhcp.82.remoteIdPosition=25 dhcp.82.remoteIdLength=6 В связи с чем вопросы. Возможен ли парсинг любых субопций (кроме 1 и 2) ? Не ограничена ли длина субопций ? Нету ли ошибки в настройках для парсинга ? Бьюсь уже второй день, не могу найти ошибку. Совсем глаз замылился. Спасибо. P.S и еще вопрос. Кто нибудь реализовал схему ISG с двумя релеями (subscriber routed, initator dhcp) ? Первый - кошка на агрегации, вешает маршрут на unnumbered, по отрелееным дхцп пакетам. Второй - ISG роутер, создает сессию и вешает сервисы, по отрелееным дхцп пакетам На сайте циски есть упоминание, http://www.cisco.com/en/US/docs/ios-xml ... 4C09799E87 |
Автор: | Amir [ 25 май 2012, 20:01 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Это ошибка, в понедельник выложим обновление. |
Автор: | Zar1n [ 29 май 2012, 04:49 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Когда ждать обновление ? Пока в ченжлоге не вижу изменений в данном направлении. ![]() |
Автор: | Zar1n [ 31 май 2012, 07:57 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Люююди, где выыыыы ? ![]() |
Автор: | Amir [ 31 май 2012, 16:52 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Там не совсем ошибка была, скорее не слишком универсальная интерграция. Сейчас изменили и правим документацию. У вас ISG? Клиент привязывается к порту на устройстве? Или по vlan? |
Автор: | Zar1n [ 31 май 2012, 18:37 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
ISG, клиент привязан к порту на коммутаторе доступа. |
Автор: | Amir [ 31 май 2012, 18:40 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
В DHCP опции 82 значение порта у вас будет всегда в одном месте или может быть в разных опциях в зависимости от конечного коммутатора? |
Автор: | Zar1n [ 31 май 2012, 18:57 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Всегда в одном месте. По крайней мере в обозримом будущем, вендора железа доступа менять не собираемся. Главное чтобы cisco не поменяла содержимое субопции 9. P.S Код: Субопции:
9 - giaddr (первого релея, вроде) + circuit.id + remote.id 2 - имя VRF на ASR. Что в остальных, неизвестно, не нашел описание на циске. Но в ответе возвращать нужно все пришедшие субопции, чтобы ASR ответил первому релею юникастом. |
Автор: | Amir [ 31 май 2012, 19:15 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
А RADIUS запрос, который приходит от ISG можете показать? |
Автор: | Zar1n [ 31 май 2012, 19:26 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Код: 06-01/00:20:23 INFO [rdsLstnr-p-9-t-9] RadiusListenerWorker - REQUEST: Packet type: Access-Request Identifier: 121 Authenticator: {} Attributes: User-Name=0006fc7516f2b320:000403070002:0800.270e.636a NAS-Port-Id=15/0/2/171 User-Password=123 NAS-IP-Address=192.168.192.1 NAS-Port=0 Service-Type=5 NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 06-01/00:20:23 INFO [rdsLstnr-p-9-t-9] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS: Packet type: Access-Request Identifier: 121 Authenticator: {} Attributes: User-Name=0006fc7516f2b320:000403070002 NAS-Port-Id=15/0/2/171 User-Password=123 NAS-IP-Address=192.168.192.1 NAS-Port=0 Service-Type=5 Calling-Station-Id=0800.270e.636a NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 В радиус запросах, субопции 1 и 2 передаются на своих местах. |
Автор: | Zar1n [ 05 июн 2012, 17:40 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Amir Доброго времени суток. Как обстоят дела с допиливанием ? Хотелось бы поскорее оттестировать и приобрести модуль для продакшена ![]() |
Автор: | Amir [ 06 июн 2012, 19:42 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Выложили обновление. В конфигурации устройства-NAS'а нужно указать: Код: radius.servSearchMode=1 Если вдруг что-то не получится, лучше доступ сразу сделайте.http://bgbilling.ru/v5.2/doc/ch18s13s03s01.html http://bgbilling.ru/v5.2/doc/ch18s13s04s01.html http://bgbilling.ru/v5.2/doc/ch18s13s04s02.html |
Автор: | Zar1n [ 08 июн 2012, 06:19 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Спасибо. Настраиваюсь, тестируем. Сообщу ![]() |
Автор: | Zar1n [ 23 июл 2012, 05:26 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Доброго времени суток. Тестирую дальше. Наткнулся на приведенный ниже экзепшен. Код: Attributes: User-Name=0006fc7516f2b320:000403070002:001a.6bd2.67c6 NAS-Identifier= NAS-Port-Id=15/0/2/171 User-Password=123 NAS-IP-Address=192.168.192.6 NAS-Port=0 Service-Type=5 Acct-Session-Id=01066BE8 NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 radius 07-23/10:17:51 INFO [rdsLstnr-p-9-t-1] ISGProtocolHandler - 000403070002 radius 07-23/10:17:51 INFO [rdsLstnr-p-9-t-1] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS: Packet type: Access-Request Identifier: 64 Authenticator: Attributes: User-Name=0006fc7516f2b320:000403070002 NAS-Identifier= NAS-Port-Id=15/0/2/171 User-Password=123 NAS-IP-Address=192.168.192.6 NAS-Port=0 Service-Type=5 Calling-Station-Id=001a.6bd2.67c6 Acct-Session-Id=01066BE8 NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] RadiusProcessor - Create new radius session. radius 07-23/10:17:51 INFO [rdsLstnr-p-9-t-1] InetNas - Found agentDevice:9 radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] HourlyDataLogger - Create log file... radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] HourlyLogFileUtils - Next log file: /bglogs/access/data/radius/source_7/2012/2012-07/2012-07-23/log_2012-07-23-10.001.bgdl radius 07-23/10:17:51 INFO [rdsLstnr-p-9-t-1] HourlyDataLogEntry - Create dataLog file: /bglogs/access/data/radius/source_7/2012/2012-07/2012-07-23/log_2012-07-23-10.001.bgdl radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] BGDataLog - DataLog file [/bglogs/access/data/radius/source_7/2012/2012-07/2012-07-23/log_2012-07-23-10.001.bgdl] was opened radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] DataLog - Writing TLV finished(3)=[0] radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] DataLog - Writing TLV buffer(4)=[type=chunked, size=524288] radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] DataLog - Writing TLV compression(5)=[type=zlib, level=1, strategy=1] radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] DataLog - Writing TLV distributed(6)=[1] radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] DataLog - Writing TLV streaming(7)=[1] radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] BGDataLog - Header length=51 radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] ZLIBWritableChannel - ZLIBWritableChannel bufferLength=524304 radius 07-23/10:17:51 DEBUG [rdsLstnr-p-9-t-1] ProcessorRequest - Sending to /192.168.192.6:1645 radius 07-23/10:17:51 INFO [rdsLstnr-p-9-t-1] InetRadiusListenerWorker - RESPONSE: Packet type: Access-Reject Identifier: 64 Authenticator: Attributes: Process time auth: 16 radius 07-23/10:17:51 ERROR [rdsLstnr-p-9-t-1] RadiusListenerWorker - 5 java.lang.ArrayIndexOutOfBoundsException: 5 at ru.bitel.bgbilling.modules.inet.api.server.InetUtils.parseInt(InetUtils.java:454) at ru.bitel.bgbilling.modules.inet.runtime.device.AbstractInetDeviceRuntime.getOption82InterfaceId(AbstractInetDeviceRuntime.java:322) at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntime.getOption82InterfaceId(InetDeviceRuntime.java:1) at ru.bitel.bgbilling.modules.inet.radius.InetNas.findServRuntime(InetNas.java:1051) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:434) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:401) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115) at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92) at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:374) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:361) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:361) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Метод поиска сервиса radius.serviceSearchMode=1 Параметры: Код: dhcp.82.interfaceOptionCode dhcp.82.interfacePosition dhcp.82.remoteIdOptionCode dhcp.82.remoteIdPosition dhcp.82.remoteIdLength Не заданы. Используются значения по умолчанию. Все вроде должно парсится. В скрипте пред.обработки для установки значений remote.id и circuit.id используется функция приведенная ниже Код: /** * Установка опций в запрос устройства-агента для последующей обработки * @param request */ protected void setAgentOptions( final RadiusPacket request ) { final Object agentRemoteId = getAttributeValue( request, radiusVendor, agentOptionRemoteIdType, agentOptionRemoteIdPrefix ); if( agentRemoteId != null ) { // logger.info( agentRemoteId ); setAgentOption( request, agentRemoteId, InetRadiusProcessor.AGENT_REMOTE_ID ); } final Object agentCircuitId = getAttributeValue( request, radiusVendor, agentOptionCircuitIdType, agentOptionCircuitIdPrefix ); if( agentCircuitId != null ) { logger.info( agentCircuitId ); setAgentOption( request, agentCircuitId, InetRadiusProcessor.AGENT_CIRCUIT_ID ); } } Версии Код: bill вер. 5.2 сборка 263 от 21.06.2012 18:34:45
bvcom вер. 5.2 сборка 45 от 18.05.2012 15:12:33 card вер. 5.2 сборка 178 от 05.06.2012 16:47:51 cerbercrypt вер. 5.2 сборка 196 от 08.06.2012 13:41:24 dba вер. 5.2 сборка 147 от 13.03.2012 14:03:35 dialup вер. 5.2 сборка 343 от 19.06.2012 11:17:51 email вер. 5.2 сборка 166 от 08.06.2012 13:41:32 inet вер. 5.2 сборка 916 от 21.06.2012 18:34:46 ipn вер. 5.2 сборка 230 от 20.06.2012 14:34:15 mps вер. 5.2 сборка 151 от 31.05.2012 14:53:35 npay вер. 5.2 сборка 182 от 02.06.2012 03:52:05 phone вер. 5.2 сборка 240 от 21.06.2012 19:24:36 reports вер. 5.2 сборка 176 от 18.06.2012 21:51:23 rscm вер. 5.2 сборка 161 от 20.06.2012 17:47:55 ru.bitel.bgbilling.plugins.cashcheck вер. 5.2 сборка 101 от 19.03.2012 12:57:09 ru.bitel.bgbilling.plugins.crm вер. 5.2 сборка 182 от 22.06.2012 13:20:41 ru.bitel.bgbilling.plugins.documents вер. 5.2 сборка 142 от 01.06.2012 16:21:15 ru.bitel.bgbilling.plugins.helpdesk вер. 5.2 сборка 163 от 13.06.2012 11:34:11 trayinfo вер. 5.2 сборка 156 от 17.05.2012 12:21:25 voiceip вер. 5.2 сборка 182 от 19.06.2012 11:17:52 wm вер. 5.2 сборка 169 от 17.05.2012 15:29:27 yamoney вер. 5.2 сборка 37 от 17.05.2012 15:29:27 |
Автор: | Amir [ 23 июл 2012, 12:20 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Может быть где-то в типе устройства или уровнем выше все-таки задана interfaceId.length? |
Автор: | Zar1n [ 23 июл 2012, 13:47 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Перепроверил, не задано. Если dhcp.82.interfacePosition сделать равным 4. Экзепшена нет, но и значение порта равно 0. (что вполне логично, там ведь 00) |
Автор: | Amir [ 23 июл 2012, 15:58 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Не получается повторить. Можете дать доступ? |
Автор: | Zar1n [ 24 июл 2012, 05:26 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Разобрался, проблема была в переменной isg.port.length= Точнее в ее значении по умолчанию. По умолчанию там 4, тоесть порт нужно искать в 3м байте ( от 0). Теперь новая проблема: Родительская сессия получает ацепт, но сервисы реджектятся. Сервисы привязаны в тарифе. Способ привязки такой же, как со значением переменной radius.serviceSearchMode=0 Нужно как-то по другому ? Код: radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] InetRadiusProcessor - [username=LOCAL] Login password error. Код: Packet type: Access-Request
Identifier: 120 Authenticator: {E9 13 E4 16 42 04 CF 08 09 58 0C 33 84 70 9C 00} Attributes: User-Name=0006fc7516f2b320:000403070002:001a.6bd2.67c6 NAS-Identifier=core-lan-asr1k2-1-jigura18-r5 NAS-Port-Id=15/0/2/171 User-Password=123 NAS-IP-Address=192.168.192.6 NAS-Port=0 Service-Type=5 Acct-Session-Id=0112B276 NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] ISGProtocolHandler - 000403070002 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS: Packet type: Access-Request Identifier: 120 Authenticator: {E9 13 E4 16 42 04 CF 08 09 58 0C 33 84 70 9C 00} Attributes: User-Name=0006fc7516f2b320:000403070002 NAS-Identifier=core-lan-asr1k2-1-jigura18-r5 NAS-Port-Id=15/0/2/171 User-Password=123 NAS-IP-Address=192.168.192.6 NAS-Port=0 Service-Type=5 Calling-Station-Id=001a.6bd2.67c6 Acct-Session-Id=0112B276 NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 radius 07-24/10:12:33 DEBUG [rdsLstnr-p-9-t-6] RadiusProcessor - Create new radius session. radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetNas - Found agentDevice:9 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetNas - Search serv on deviceId=9; interfaceId=2 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetRadiusProcessor - [username=0006fc7516f2b320:000403070002] Authenticated as inetServId:7 radius 07-24/10:12:33 DEBUG [rdsLstnr-p-9-t-6] InetRadiusProcessor - MAC-address from request: radius 07-24/10:12:33 DEBUG [rdsLstnr-p-9-t-6] InetAccountingPeriodList - Create: radius 07-24/10:12:33 DEBUG [rdsLstnr-p-9-t-6] InetAccountingPeriodList - AccountingPeriod: 5: 02.07.2012 00:00:00.0 - 31.07.2012 23:59:59.999 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetApplication - inetServ[id=7] balance ok: -5829.57 [-6000.00] radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetApplication - TariffOptionMap: {} radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetRadiusProcessor - Set ip from pool radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetRadiusProcessor - Return code=0 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetDhcpHelperProcessor - Put auth accept 7:9:2:001A.6BD2.67C6 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS: Packet type: Access-Accept Identifier: 120 Authenticator: {} Attributes: Acct-Interim-Interval=1200 Framed-IP-Address=37.200.72.3 Idle-Timeout=600 cisco-avpair=subscriber:accounting-list=INET-ISG cisco-SSG-Account-Info=AINET cisco-SSG-Account-Info=AS_50MB cisco-SSG-Account-Info=ALOCAL Process time auth: 5 radius 07-24/10:12:33 DEBUG [rdsLstnr-p-9-t-6] ProcessorRequest - Sending to /192.168.192.6:1645 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-6] InetRadiusListenerWorker - RESPONSE: Packet type: Access-Accept Identifier: 120 Authenticator: {9F FC 28 EC DC 19 EE EC 28 F2 01 8C 07 C4 AA D1} Attributes: Acct-Interim-Interval=1200 Framed-IP-Address=37.200.72.3 Idle-Timeout=600 cisco-avpair=subscriber:accounting-list=INET-ISG cisco-SSG-Account-Info=AINET cisco-SSG-Account-Info=AS_50MB cisco-SSG-Account-Info=ALOCAL Process time auth: 7 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] RadiusListenerWorker - REQUEST: Packet type: Access-Request Identifier: 121 Authenticator: {63 1A 0F 3D 8C F7 24 CF 7F 61 AB 7A DB 02 03 A0} Attributes: User-Name=LOCAL NAS-Identifier=core-lan-asr1k2-1-jigura18-r5 NAS-Port-Id=15/0/2/171 User-Password=cisco NAS-IP-Address=192.168.192.6 NAS-Port=0 Service-Type=5 Acct-Session-Id=0112B276 NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] ISGProtocolHandler - 000403070002 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS: Packet type: Access-Request Identifier: 121 Authenticator: {63 1A 0F 3D 8C F7 24 CF 7F 61 AB 7A DB 02 03 A0} Attributes: User-Name=LOCAL NAS-Identifier=core-lan-asr1k2-1-jigura18-r5 NAS-Port-Id=15/0/2/171 User-Password=cisco NAS-IP-Address=192.168.192.6 NAS-Port=0 Service-Type=5 Acct-Session-Id=0112B276 NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 radius 07-24/10:12:33 DEBUG [rdsLstnr-p-9-t-7] RadiusProcessor - Create new radius session. radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] InetNas - Found agentDevice:9 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] InetNas - Search serv on deviceId=9; interfaceId=2 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] [b]InetRadiusProcessor - [username=LOCAL] Login password error.[/b] radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] InetRadiusProcessor - Return code=2 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS: Packet type: Access-Reject Identifier: 121 Authenticator: {} Attributes: Reply-Message=2 Process time auth: 3 radius 07-24/10:12:33 DEBUG [rdsLstnr-p-9-t-7] ProcessorRequest - Sending to /192.168.192.6:1645 radius 07-24/10:12:33 INFO [rdsLstnr-p-9-t-7] InetRadiusListenerWorker - RESPONSE: Packet type: Access-Reject Identifier: 121 Authenticator: {0A BA 92 57 50 43 CD E8 1E 61 C6 6C 31 CC 05 65} Attributes: Reply-Message=2 Process time auth: 5 |
Автор: | Amir [ 24 июл 2012, 16:07 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Сейчас, похоже, по порту находит обычный сервис Inet, а не сервис Inet, на котором прописано описание сервиса ISG. Я рекомендую попробовать авторизацию сервисов ISG вынести на отдельный Access сервер. Т.е. создать еще одно устройство Access, добавить туда устройство-cisco, системные сервисы привязать к нему. Если дадите доступ - попробую помочь настроить. Хочется в wiki данный варинт описать, т.к. помоему он более прозрачный. И проблемы с типами поиска исключает. |
Автор: | Zar1n [ 25 июл 2012, 15:47 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Сконфигурировал. Все вроде стало работать. Есть не очень понятная ошибка при активации сервиса редиректа (состояние пользователя отключен), в других случая вроде не замечал. Ошибка возникает на Access радиусе, который авторизирует сервисы. Код: access 07-25/14:49:04 WARN [access-p-7-t-1] SessionCountManager - inetServRuntime:7 is null mq 07-25/14:49:06 ERROR [event-proc-p-2-t-1] Consumer - java.lang.NullPointerException at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.notify(InetConnectionManager.java:277) at ru.bitel.bgbilling.kernel.event.AbstractConsumer.notify(AbstractConsumer.java:275) at ru.bitel.bgbilling.kernel.event.Consumer.notify(Consumer.java:1) at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:112) at ru.bitel.bgbilling.kernel.event.Consumer$EventListenerRunnable.runImpl(Consumer.java:51) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) mq 07-25/14:49:06 INFO [event-proc-p-2-t-1] InetConnectionManager - Remove connection: InetConnection [id=593-592, iface=7:0, sessId=0123FE83, start=25.07.2012 14:45:25, uname=S_40MB, addr=[IpAddress:null]] mq 07-25/14:49:06 INFO [event-proc-p-2-t-1] InetConnectionManager - Remove connection: InetConnection [id=594-592, iface=7:0, sessId=0123FE82, start=25.07.2012 14:45:25, uname=LOCAL, addr=[IpAddress:null]] mq 07-25/14:49:06 INFO [event-proc-p-2-t-1] InetConnectionManager - Add connection: InetConnection [id=595-592, iface=7:0, sessId=012407FD, start=25.07.2012 14:49:06, uname=L4_REDIRECT_WIRE, addr=[IpAddress:null]] access 07-25/14:49:36 WARN [access-p-7-t-1] SessionCountManager - inetServRuntime:7 is null На днях смогу дать доступ. Еще бы хотелось иметь возможность выдавать IP категорию динамичесских пулов, в зависимости от агентского устройства. (кажется об этом речь в соседней теме, не понятно, будет ли распространяться на ISG) |
Автор: | Zar1n [ 27 июл 2012, 06:39 ] |
Заголовок сообщения: | Re: Cisco proprietary option82 |
Еще вопрос. Как быть с аккаунтингом сервисов ? в какую группу и NAS должен приходить аккаунтинг ? Получилась такая схема. Клиент авторизировался основной сессий. Акаунтинг пришел в ту же группу, где он авторизировался. Клиент авторизировал сервисы в группе сервисов (отдельный радиус сервер для этой группы). Если акаунтинг приходит в группу сервисов. Получаем: radius 07-27/10:46:03 DEBUG [rdsLstnr-p-8-t-2] InetRadiusProcessor - Option parentAcctSessionId is set but connection not found with acctSessionId=013DBBC1. Add to start with parent map. |
Автор: | Amir [ 27 июл 2012, 13:31 ] |
Заголовок сообщения: | Re: Cisco ISG и авторизация по агентскому устройству |
Можно сделать, чтобы сервисный аккаунтинг, в отличие от сервисного Access-Request ISG посылал на основной InetAccounting (основную группу)? Тогда все должно работать нормально. |
Автор: | Zar1n [ 31 июл 2012, 05:38 ] |
Заголовок сообщения: | Re: Cisco ISG и авторизация по агентскому устройству |
Amir писал(а): Можно сделать, чтобы сервисный аккаунтинг, в отличие от сервисного Access-Request ISG посылал на основной InetAccounting (основную группу)? Тогда все должно работать нормально. Сделать можно. Так работает. Встречный вопрос. Можно ли допилить до работы с отдельной аккантинг группой/сервером для сервисов? |
Автор: | Amir [ 31 июл 2012, 14:04 ] |
Заголовок сообщения: | Re: Cisco ISG и авторизация по агентскому устройству |
Т.е. чтобы сервисный аккаунтинг приходил на группу, куда приходить сервисный Access-Request? Теоретически можно попробовать, но не просто - т.к. Accounting считает сервисные сессии дочерними к главным, т.е. привязывает их к главным при получении старт пакета, а обсчитывает их почти как обычные сессии, . Да и зачем? В том же Redback вообще нет авторизации сервисов, там все приходит на одну группу. |
Автор: | Zar1n [ 31 июл 2012, 17:07 ] |
Заголовок сообщения: | Re: Cisco ISG и авторизация по агентскому устройству |
Именно так. Получается схема: - Одно Access/Accounting устройство для всех сервисов на коробке. - Нужное количество Access/Accounting устройств для в родительских сессий в зависимости от сегмента или типа услуги. Хотим использовать эту возможность, для терминации в пределах коробки разных сегментов (и услуг), и выдавать динамически адреса из соответствующих IP ресурсов. Тут сразу появляется вопрос. Выдача динамических адресов из разных IP категорий на основе агентского устройства для Cisco ISG будет ? или есть ? И возможно какой-то способ группировки, скажем прописать IP ресурс не в самом агентском устройстве, а в директории выше уровнем. Тогда по большей части описанная выше схема не нужна. |
Автор: | Amir [ 31 июл 2012, 18:22 ] |
Заголовок сообщения: | Re: Cisco ISG и авторизация по агентскому устройству |
Цитата: Тут сразу появляется вопрос. Выдача динамических адресов из разных IP категорий на основе агентского устройства для Cisco ISG будет ? или есть ? И возможно какой-то способ группировки, скажем прописать IP ресурс не в самом агентском устройстве, а в директории выше уровнем. Должна работать, по AgentRemoteId из RADIUS пакета определяться агентское устройство (в агентском устройстве указан его MAC в верхнем регистре, тоже самое, что передается в AgentRemoteId) - а уже для него браться категории. Но в соседней ветке пока удалось настроить, у нас же возможности протестировать - нет.Категории же можно прописать хоть на агентском устройстве, хоть на корневом (Access+Accounting). Можно и между - создать устройство-папку, в ней - агентские, а в конфигурации указать категории IP - тоже должно работать. |
Автор: | Zar1n [ 01 авг 2012, 05:12 ] |
Заголовок сообщения: | Re: Cisco ISG и авторизация по агентскому устройству |
Тестирую. MAC адрес в верхнем регистре. Получаю экзепшен Код: radius 08-01/09:49:51 INFO [rdsLstnr-p-9-t-3] RadiusListenerWorker - REQUEST: Packet type: Access-Request Identifier: 116 Authenticator: {BE CE 92 8A 65 B8 CC 50 40 37 B5 74 AC 23 8B 3D} Attributes: User-Name=0006fc7516f2b320:000403070002:001a.6bd2.67c6 NAS-Identifier=core-lan-asr1k2-1-jigura18-r5 NAS-Port-Id=15/0/2/171 User-Password=123 NAS-IP-Address=192.168.192.6 NAS-Port=0 Service-Type=5 Acct-Session-Id=018332DE NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 radius 08-01/09:49:51 INFO [rdsLstnr-p-9-t-3] InetRadiusProcessor - REQUEST_AFTER_PREPROCESS: Packet type: Access-Request Identifier: 116 Authenticator: {BE CE 92 8A 65 B8 CC 50 40 37 B5 74 AC 23 8B 3D} Attributes: User-Name=0006fc7516f2b320:000403070002 NAS-Identifier=core-lan-asr1k2-1-jigura18-r5 NAS-Port-Id=15/0/2/171 User-Password=123 NAS-IP-Address=192.168.192.6 NAS-Port=0 Service-Type=5 Calling-Station-Id=001a.6bd2.67c6 Acct-Session-Id=018332DE NAS-Port-Type=5 cisco-avpair=circuit-id-tag=000403070002 cisco-avpair=remote-id-tag=0006fc7516f2b320 cisco-avpair=vendor-class-id-tag=MSFT 5.0 cisco-NAS-Port=15/0/2/171 radius 08-01/09:49:51 INFO [rdsLstnr-p-9-t-3] HourlyDataLogEntry - Create dataLog file: /bglogs/access/data/radius/source_7/2012/2012-08/2012-08-01/log_2012-08-01-09.002.bgdl radius 08-01/09:49:51 INFO [rdsLstnr-p-9-t-3] InetRadiusListenerWorker - RESPONSE: Packet type: Access-Reject Identifier: 116 Authenticator: {EC 7F 96 B8 67 1C 68 09 C7 B9 17 28 A0 65 44 7C} Attributes: Process time auth: 10 radius 08-01/09:49:51 ERROR [rdsLstnr-p-9-t-3] RadiusListenerWorker - 5 java.lang.ArrayIndexOutOfBoundsException: 5 at ru.bitel.bgbilling.modules.inet.api.server.InetUtils.parseInt(InetUtils.java:454) at ru.bitel.bgbilling.modules.inet.runtime.device.AbstractInetDeviceRuntime.getOption82InterfaceId(AbstractInetDeviceRuntime.java:322) at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntime.getOption82InterfaceId(InetDeviceRuntime.java:1) at ru.bitel.bgbilling.modules.inet.radius.InetNas.findServRuntime(InetNas.java:1066) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authenticationImpl(InetRadiusProcessor.java:433) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:400) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.authentication(InetRadiusProcessor.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.authentication(RadiusSession.java:115) at ru.bitel.bgbilling.kernel.network.radius.RadiusSession.accessRequest(RadiusSession.java:92) at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequestImpl(RadiusProcessor.java:374) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:360) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.accessRequestImpl(InetRadiusProcessor.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accessRequest(RadiusProcessor.java:361) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:58) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accessRequest(InetRadiusListenerWorker.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:213) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) В нижнем регистре все хорошо. Но: Код: radius 08-01/10:04:47 INFO [rdsLstnr-p-9-t-9] InetNas - Found agentDevice:9 radius 08-01/10:04:47 INFO [rdsLstnr-p-9-t-9] InetNas - Search serv on deviceId=9; interfaceId=2 radius 08-01/10:04:47 INFO [rdsLstnr-p-9-t-9] InetRadiusProcessor - [username=0006fc7516f2b320:000403070002] Authenticated as inetServId:7 radius 08-01/10:04:47 INFO [rdsLstnr-p-9-t-9] InetApplication - inetServ[id=7] balance ok: -5829.57 [-6000.00] radius 08-01/10:04:47 INFO [rdsLstnr-p-9-t-9] InetApplication - TariffOptionMap: {} radius 08-01/10:04:47 ERROR [rdsLstnr-p-9-t-9] InetNas - Not found ip resources inetNas:7 and realm: default! radius 08-01/10:04:47 ERROR [rdsLstnr-p-9-t-9] InetRadiusProcessor - Can't reserve ip address! radius 08-01/10:04:47 INFO [rdsLstnr-p-9-t-9] InetRadiusProcessor - Return code=100 radius 08-01/10:04:47 INFO [rdsLstnr-p-9-t-9] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS: Категорию Код: radius.realm.default.ipCategories=1 не цепляет.Если категорию описать в конфиге сервера доступа (устройство с ID:7 ) то, все работает. Код: radius 08-01/09:50:51 INFO [rdsLstnr-p-9-t-7] InetNas - Found agentDevice:9 radius 08-01/09:50:51 INFO [rdsLstnr-p-9-t-7] InetNas - Search serv on deviceId=9; interfaceId=2 radius 08-01/09:50:51 INFO [rdsLstnr-p-9-t-7] InetRadiusProcessor - [username=0006fc7516f2b320:000403070002] Authenticated as inetServId:7 radius 08-01/09:50:51 INFO [rdsLstnr-p-9-t-7] InetApplication - inetServ[id=7] balance ok: -5829.57 [-6000.00] radius 08-01/09:50:51 INFO [rdsLstnr-p-9-t-7] InetApplication - TariffOptionMap: {} radius 08-01/09:50:51 INFO [rdsLstnr-p-9-t-7] InetRadiusProcessor - Set ip from pool radius 08-01/09:50:51 INFO [rdsLstnr-p-9-t-7] InetRadiusProcessor - Return code=0 radius 08-01/09:50:51 INFO [rdsLstnr-p-9-t-7] InetDhcpHelperProcessor - Put auth accept 7:0006FC7516F2B320:000403070002:001A6BD267C6 radius 08-01/09:50:51 INFO [rdsLstnr-p-9-t-7] InetRadiusProcessor - RESPONSE_BEFORE_POSTPROCESS: Сборка не самая последняя. Код: inet вер. 5.2 сборка 933 от 23.07.2012 14:26:45
|
Автор: | Zar1n [ 06 авг 2012, 16:55 ] |
Заголовок сообщения: | Re: Cisco ISG и авторизация по агентскому устройству |
Amir Отправил данные для доступа в личку. |
Автор: | Amir [ 07 авг 2012, 15:50 ] |
Заголовок сообщения: | Re: Cisco ISG и авторизация по агентскому устройству |
Выложили обновление модуля. |
Автор: | Zar1n [ 08 авг 2012, 04:49 ] |
Заголовок сообщения: | Re: Cisco ISG и авторизация по агентскому устройству |
Amir писал(а): Выложили обновление модуля. Работает. Категория для отключенных пользователей также может находится в конфиге агента ? |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |