forum.bitel.ru http://forum.bitel.ru/ |
|
Re: Решение с DHCP.82 выдачей динамических адресов http://forum.bitel.ru/viewtopic.php?f=44&t=5309 |
Страница 5 из 7 |
Автор: | Угрюмов Роман [ 16 июл 2013, 14:21 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Со слов нашего сетевого администратора настройки82 на редбэке это одна строка: dhcp relay server 172.16.98.6 зы Сетевой админ говорю: я поднял isc-dhcp-server и с него отвечаю редбэку в этом случае все пучком в вашем случае бгбилинг падает на разборе опций 82 дело в том что у нас релей делает eltex оборудование у него странное преобразование 82ой опции если это поможет можем прислать дампы пакетов dhcp запроса как с eltex так и после redback |
Автор: | Amir [ 16 июл 2013, 14:35 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Пришлите. Биллинг пытается определить коммутатор и порт (к которому подключен абонент) или коммутатор(или релей) и vlan, чтобы найти абонента. Цитата: 07-16/11:04:58 INFO [dhcpLstnr-p-11-t-9] InetAbstractDhcpProcessor - REQUEST: Сначала по Relay IP или IP, с которого пришел запрос, идет поиск устройства relay-агента. Далее по конфигу устройства в Inet идет попытка парсинга agentRemoteId коммутатора, с которого запрос пришел на relay. Обычно он находится в DHCP-опции sub{2}={333230}, обычно там MAC-адрес коммутатора или какой-то строковый идентификатор, который можно указать в коммутаторе. Далее, если агентское устройство найдено, используется оно, иначе - используется устройство-relay и идет попытка разбора по конфигу найденного устройства опции circuitId - sub{1}={3137322E31362E39392E3336313031}, чтобы найти там номер порта или VLAN. По найденному устройству и порту/VLAN идет поиск абонента.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} В данному случае у вас происходит ошибка, т.к. настройки разбора опций в Inet не совпадают с тем, что приходит в DHCP-пакете. У вас будет поиск по порту или VLAN? Какой номер порта/VLAN для данного DHCP-пакета? Какой MAC-адрес у коммутатора, к которому подключен абонент? |
Автор: | Угрюмов Роман [ 16 июл 2013, 16:36 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Спасибо прорвались через один слой колючей проволоки, теперь такая ситуация: Сообщение об ошибке: Код: 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 |
Автор: | Amir [ 16 июл 2013, 17:07 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
У вас, судя по всему, в 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 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
строку 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
|
Автор: | Amir [ 18 июл 2013, 15:30 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
В каком устройстве у вас прописано Цитата: dhcp.option82.agentRemoteId.code=2 ? Должно быть в устройстве-релее, т.е. том, от кого пришел запрос на InetAccess.
dhcp.option82.agentRemoteId.type=1 dhcp.option82.agentRemoteId.position=0 dhcp.option82.agentRemoteId.length=0 |
Автор: | Magistr [ 19 июл 2013, 15:05 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
В какую сторону копать если 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 |
Автор: | Amir [ 19 июл 2013, 15:19 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Цитата: В какую сторону копать если 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 ); } } } } |
Автор: | Magistr [ 19 июл 2013, 15:25 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Amir писал(а): Цитата: В какую сторону копать если sub{1}={000400280101} а потом в ответе sub{1}={00280101} У вас, похоже, стоит поиск сервиса по логину, который сделали в самом начале и который устарел - заменили прямым поиском по порту или VLAN. И ISGProtocolHandler, который для старого поиска по логину делает так:Ага, а актуально как делать ? парсить весь топик или можно подождать обновления на вики ? А то по статье оттуда делал ( |
Автор: | Amir [ 19 июл 2013, 15:41 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Код: # Поиск устройства по 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 |
Автор: | Magistr [ 19 июл 2013, 15:55 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
ок, спасибо а настройки NAS как поменять ? ибо он то по паролю пытается авторизовываться |
Автор: | Amir [ 19 июл 2013, 15:56 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Код: radius.password.verification=0
|
Автор: | Magistr [ 19 июл 2013, 16:02 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
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 |
Автор: | Amir [ 19 июл 2013, 16:11 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
О настройках железек мы ничего сказать не можем, т.к. не умеем Если вы не про Username=LOCAL_L4R User-Password=123 (загрузку параметров сервисов ISG). |
Автор: | Magistr [ 19 июл 2013, 16:16 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Amir писал(а): О настройках железек мы ничего сказать не можем, т.к. не умеем Если вы не про Username=LOCAL_L4R User-Password=123 (загрузку параметров сервисов ISG). Именно про это, теперь как я понял это ненадо использовать ? |
Автор: | Amir [ 19 июл 2013, 16:39 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Нужно либо, чтобы ISG грузил параметры у себя, не запрашивая у биллинга. Либо просто настроить обычную авторизацию по логину в биллинге. Для этого нужно запускать еще один BGInetAccess. Создаем опции Inet ISG-5MBPS(2), ISG-10MBPS(3), ISG-LOCAL(4) Создаем типы устройства Access ISG Service и ISG Service, добавляем устройства: Код: -- Access+Accounting (уже было) Устройство ISG Service - тоже самое, что и ISG, т.е. IP-адрес, идентификатор, секрет - идентичны, изменен конфиг. Если в конфиге ISG были названия сервисов ISG:---- ISG (уже было) -- Access ISG Service ---- ISG Service Код: 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 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Господа! Мне кажется я уже близок к победе! Встретилось затруднение: Код: 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 |
Автор: | Magistr [ 25 июл 2013, 13:06 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Смотри что в радиус логе делает put |
Автор: | Угрюмов Роман [ 25 июл 2013, 13:12 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Magistr писал(а): Смотри что в радиус логе делает put А по подробнее put это что и где его смотреть. В радиус логе все вроде нормально, Accept прошел Какой код у Agent-Circuit-Id ? что бы его в функции request.setStringAttribute( -1, XXX, agentCircuitId); можно было в препроцессинге подменить, может в этом дело? |
Автор: | Magistr [ 25 июл 2013, 15:10 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
там что-то типа Auth put 30:3137322E31362E39392E33363A313031 должно быть |
Автор: | Угрюмов Роман [ 25 июл 2013, 15:22 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Magistr писал(а): там что-то типа Auth put 30:3137322E31362E39392E33363A313031 должно быть в радиус логе ничего подобного нет |
Автор: | Amir [ 25 июл 2013, 15:28 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Значит в inet-access.xml указан InetRadiusProcessor вместо InetRadiusHelperProcessor. Put auth accept должен писать InetConnectionKeyMap перед отправкой Accept-пакета. |
Автор: | Угрюмов Роман [ 25 июл 2013, 16:13 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
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 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Господа, ну как заставить DHCP адрес выделить. Скоро будем уже пользователей подключать, а я все голову сломал. Пока выкрутились тем, что dhcp запросы админ пустил на сторонний dhcp-сервер, но это как-то некрасиво |
Автор: | Amir [ 30 июл 2013, 18:59 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Цитата: Значит в inet-access.xml указан InetRadiusProcessor вместо InetRadiusHelperProcessor. Тут обманул, InetRadiusProcessor можно было оставить, должен быть InetDhcpHelperProcessor вместо InetDhcpProcessor.Put auth accept должен писать InetConnectionKeyMap перед отправкой Accept-пакета. Я не могу так сказать настройки, не видя общей картины (у всех разные железки/коммутаторы и схемы) - я уже просил у вас доступ. |
Автор: | lan31 [ 06 дек 2013, 11:38 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Как сделать так чтобы ип адрес выдавался ПК абонента при статусе договора закрыт? Необходимо чтобы абонент имел возможность заходить в статистику билинга при статусе договора закрыт. Код: 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. |
Автор: | Amir [ 06 дек 2013, 18:17 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Цитата: При превышении числа одновременных сессий сервиса над установленным в свойстве сервиса генерируется ошибка авторизации. В этом случае штатно DISCOVER-запросы будут игнорироваться, а на все REQUEST-запросы будет высылаться ответ DHCP_NAK. Для предотвращения нагрузки на DHCP-сервер постоянной обработкой запросов возможно определение пула фиктивных адресов, выдаваемых при ошибках авторизации. Пул определяется переменной конфигурации устройства dhcp.disable.ipCategories=<cat_codes>, где <cat_codes> - id коды категорий ресурсов IP адресов через запятую. Например: http://bgbilling.ru/v6.0/doc/ch18s13s04s01.htmldhcp.disable.ipCategories=3,4 Если хотите выдавать адрес также, как если бы статус был открыт: Код: dhcp.disable.mode=1
|
Автор: | [S] [ 14 фев 2014, 05:42 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
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 |
Автор: | trilka [ 26 дек 2014, 18:47 ] |
Заголовок сообщения: | Re: Решение с DHCP.82 выдачей динамических адресов |
Здравствуйте. DHCP сервером является сервер биллинга? На маршрутизаторе нужно указывать ip биллинга в качестве релея? |
Автор: | Amir [ 26 дек 2014, 20:55 ] |
Заголовок сообщения: | Re: Re: Решение с DHCP.82 выдачей динамических адресов |
Не сервер биллинга, а приложение BGInetAccess, которое запускается отдельно, вместе с BGInetAccounting. http://bgbilling.ru/v6.1/doc/ch17s13s01.html |
Страница 5 из 7 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |