forum.bitel.ru http://forum.bitel.ru/ |
|
Ошибка при выдаче ip-адреса DHCP с опцией 82 http://forum.bitel.ru/viewtopic.php?f=44&t=11384 |
Страница 1 из 1 |
Автор: | NikName2016 [ 26 фев 2016, 20:31 ] |
Заголовок сообщения: | Ошибка при выдаче ip-адреса DHCP с опцией 82 |
Пытаюсь настроить выдачу ip-адреса по DCHP с опцией 82. Коммутатор: ELTEX MES1124M При попытке получить адрес по DHCP получается следующая ошибка: 02-26/17:27:08 INFO [dhcpLstnr-p-7-t-7] AbstractInetDhcpProcessor2 - REQUEST: Message type: BOOT_REQUEST Dhcp message type: DHCP Discover{1} htype: 1, hlen: 6, hops: 1 xid: -1730927868, secs: 7424, flags: -32768 Client IP: 0.0.0.0 Your IP: 0.0.0.0 Server IP: 0.0.0.0 Relay IP: 192.168.21.55 Client MAC: {002454B5EFE9} {116}={01} {61}={01002454B5EFE9} Requested IP Address{50}=169.254.24.187 Host name{12}={support_samsung} {60}={4D53465420352E30} Parameter request list{55}={1, 15, 3, 6, 44, 46, 47, 31, 33, -7, 43} {43}={DC00} Agent information{82}= sub{1}={000408070107} sub{2}={0006A8F94B78ED80} 02-26/17:27:08 INFO [dhcpLstnr-p-7-t-7] InetDhcpDevice - Search serv on deviceId: 4; 1; interfaceId: 7 02-26/17:27:08 INFO [dhcpLstnr-p-7-t-7] InetDhcpProcessor2 - InetServ found: ContractId: 24; status: 0; servId: 6 п≤пҐя┌п╣я─пҐп╣я┌ (п≤пҐя┌п╣я─я└п╣п╧я│ 7) Options [] TariffModuleTreeSet [1:26.02.2016-Б─і; ] Device state: 1; optionSet: 02-26/17:27:08 INFO [dhcpLstnr-p-7-t-7] InetApplication - TariffOptionMap: {} 02-26/17:27:08 ERROR [dhcpLstnr-p-7-t-7] InetDhcpProcessor2 - java.lang.NullPointerException at ru.bitel.bgbilling.modules.inet.tariff.server.InetTariffUtils.serviceSet(InetTariffUtils.java:33) at ru.bitel.bgbilling.modules.inet.tariff.server.ServiceSetTariffTreeNode.executeImpl(ServiceSetTariffTreeNode.java:22) at ru.bitel.bgbilling.modules.inet.tariff.server.ServiceSetTariffTreeNode.executeImpl(ServiceSetTariffTreeNode.java:7) at ru.bitel.bgbilling.kernel.tariff.tree.server.DefaultTariffTreeNode.executeImpl(DefaultTariffTreeNode.java:25) at ru.bitel.bgbilling.kernel.tariff.tree.server.TariffTreeNode.execute(TariffTreeNode.java:112) at ru.bitel.bgbilling.kernel.tariff.tree.server.TariffTreeNodeHolder.execute(TariffTreeNodeHolder.java:34) at ru.bitel.bgbilling.kernel.tariff.tree.server.TariffTreeNode.executeChildren(TariffTreeNode.java:101) at ru.bitel.bgbilling.kernel.tariff.tree.server.TariffTreeNode.execute(TariffTreeNode.java:116) at ru.bitel.bgbilling.kernel.tariff.tree.server.TariffTreeNodeHolder.execute(TariffTreeNodeHolder.java:34) at ru.bitel.bgbilling.kernel.tariff.tree.server.TariffModuleTree.execute(TariffModuleTree.java:83) at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.tarifficate(InetApplication.java:395) at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.authorization(InetApplication.java:926) at ru.bitel.bgbilling.modules.inet.runtime.InetApplication.authorization(InetApplication.java:851) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processOption82RequestRaw0(InetDhcpProcessor2.java:690) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processOption82RequestRaw(InetDhcpProcessor2.java:273) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processOption82RequestImpl(InetDhcpProcessor2.java:117) at ru.bitel.bgbilling.modules.inet.dhcp.AbstractInetDhcpProcessor2.processOption82Request(AbstractInetDhcpProcessor2.java:352) at ru.bitel.bgbilling.modules.inet.dhcp.AbstractInetDhcpProcessor2.processRequest(AbstractInetDhcpProcessor2.java:184) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processRequest(InetDhcpProcessor2.java:61) at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:90) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46) Прошу подсказать, в чем может быть проблема. |
Автор: | Amir [ 26 фев 2016, 21:06 ] |
Заголовок сообщения: | Re: Ошибка при выдаче ip-адреса DHCP с опцией 82 |
В тарифе в ветке Установка услуги ничего не выбрано. |
Автор: | Amir [ 26 фев 2016, 23:31 ] |
Заголовок сообщения: | Re: Ошибка при выдаче ip-адреса DHCP с опцией 82 |
После изменения тарифа на ветке Интернет нужно нажимать правой кнопкой - Оповестить об изменениях. И установка услуги у Вас вроде как-то отдельно - должна быть внутри веток "Тип трафика". Можно вырезать-вставить. |
Автор: | NikName2016 [ 26 фев 2016, 23:59 ] | ||
Заголовок сообщения: | Re: Ошибка при выдаче ip-адреса DHCP с опцией 82 | ||
Выполнил ваши рекомендации (см. скриншот) Текст ошибки изменился: 02-26/20:53:50 INFO [dhcpLstnr-p-7-t-1] AbstractInetDhcpProcessor2 - REQUEST: Message type: BOOT_REQUEST Dhcp message type: DHCP Discover{1} htype: 1, hlen: 6, hops: 1 xid: -1203555036, secs: 1024, flags: 0 Client IP: 0.0.0.0 Your IP: 0.0.0.0 Server IP: 0.0.0.0 Relay IP: 192.168.21.55 Client MAC: {002454B5EFE9} {116}={01} {61}={01002454B5EFE9} Requested IP Address{50}=169.254.24.187 Host name{12}={support_samsung} {60}={4D53465420352E30} Parameter request list{55}={1, 15, 3, 6, 44, 46, 47, 31, 33, -7, 43} {43}={DC00} Agent information{82}= sub{1}={000408070109} sub{2}={0006A8F94B78ED80} 02-26/20:53:50 ERROR [dhcpLstnr-p-7-t-1] AbstractInetDeviceRuntime - Error while parsing ifaceId from DHCP-request. Check dhcp.option82.interfaceId... and dhcp.option82.removeHeader parameters. 02-26/20:53:50 ERROR [dhcpLstnr-p-7-t-1] InetDhcpProcessor2 - 7 java.lang.ArrayIndexOutOfBoundsException: 7 at ru.bitel.bgbilling.modules.inet.api.server.InetUtils.parseInt(InetUtils.java:573) at ru.bitel.bgbilling.modules.inet.runtime.device.AbstractInetDeviceRuntime.getOption82InterfaceId(AbstractInetDeviceRuntime.java:331) at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntime.getOption82InterfaceId(InetDeviceRuntime.java:45) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpDevice.findServRuntime(InetDhcpDevice.java:410) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processOption82RequestRaw(InetDhcpProcessor2.java:246) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processOption82RequestImpl(InetDhcpProcessor2.java:117) at ru.bitel.bgbilling.modules.inet.dhcp.AbstractInetDhcpProcessor2.processOption82Request(AbstractInetDhcpProcessor2.java:352) at ru.bitel.bgbilling.modules.inet.dhcp.AbstractInetDhcpProcessor2.processRequest(AbstractInetDhcpProcessor2.java:184) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processRequest(InetDhcpProcessor2.java:61) at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:90) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46) Странно, что теперь указана ошибка на параметры DHCP опции 82, я не менял данные настройки: # Параметры для извлечения из пакета agentRemoteId # вид значения в опции agentRemoteId: 0 (по умолчанию) - байты, 1 - строка dhcp.option82.agentRemoteId.type=0 # Удаление заголовка, при необходимости, 0 - не удалять, 2 - 2 удалить байта (тип+длина) из значения DHCP-опции. # При удалении поля position для agentRemoteId, vlanId, interfaceId нужно уменьшить на тоже кол-во байт #dhcp.option82.removeHeader=0 dhcp.option82.removeHeader=0 # Параметры для извлечения из пакета agentRemoteId # вид значения в опции agentRemoteId: 0 (по умолчанию) - байты, 1 - строка #dhcp.option82.agentRemoteId.type=0 # код субопции 82, содержащей идентификатор коммутатора клиента, позиция и длина последовательности идентификатора dhcp.option82.agentRemoteId.code=2 dhcp.option82.agentRemoteId.position=4 dhcp.option82.agentRemoteId.length=6 # код субопции 82, содержащей VLAN, позиция и длина в субопции #dhcp.82.vlanOptionCode=1 #dhcp.option82.vlanId.position=3 #dhcp.option82.vlanId.length=2 # код субопции 82, содержащей интерфейс, позиция и длина в субопции dhcp.option82.interfaceId.code=1 dhcp.option82.interfaceId.position=7 dhcp.option82.interfaceId.length=1
|
Автор: | Amir [ 27 фев 2016, 01:45 ] |
Заголовок сообщения: | Re: Ошибка при выдаче ip-адреса DHCP с опцией 82 |
В субопции приходит только 6 байт: sub{1}={000408070109} Т.е. нужно position=5, если порт=9 или position=4, если порт=1 # код субопции 82, содержащей интерфейс, позиция и длина в субопции dhcp.option82.interfaceId.code=1 dhcp.option82.interfaceId.position=5 dhcp.option82.interfaceId.length=1 |
Автор: | NikName2016 [ 01 мар 2016, 17:04 ] |
Заголовок сообщения: | Re: Ошибка при выдаче ip-адреса DHCP с опцией 82 |
Спасибо, помогло следующее: # код субопции 82, содержащей интерфейс, позиция и длина в субопции dhcp.option82.interfaceId.code=1 dhcp.option82.interfaceId.position=5 dhcp.option82.interfaceId.length=1 и еще вот это: # Удаление заголовка, при необходимости, 0 - не удалять, 2 - 2 удалить байта (тип+длина) из значения DHCP-опции. # При удалении поля position для agentRemoteId, vlanId, interfaceId нужно уменьшить на тоже кол-во байт #dhcp.option82.removeHeader=0 dhcp.option82.removeHeader=2 Но ip-адрес по-прежнему не получается: 03-01/14:02:30 INFO [dhcpLstnr-p-7-t-7] AbstractInetDhcpProcessor2 - REQUEST: Message type: BOOT_REQUEST Dhcp message type: DHCP Discover{1} htype: 1, hlen: 6, hops: 1 xid: 1489681191, secs: 3072, flags: -32768 Client IP: 0.0.0.0 Your IP: 0.0.0.0 Server IP: 0.0.0.0 Relay IP: 192.168.21.55 Client MAC: {002454B5EFE9} {116}={01} {61}={01002454B5EFE9} Requested IP Address{50}=169.254.24.187 Host name{12}={support_samsung} {60}={4D53465420352E30} Parameter request list{55}={1, 15, 3, 6, 44, 46, 47, 31, 33, -7, 43} {43}={DC00} Agent information{82}= sub{1}={000408070109} sub{2}={0006A8F94B78ED80} 03-01/14:02:30 INFO [dhcpLstnr-p-7-t-7] InetDhcpDevice - Search serv on deviceId: 4; 1; interfaceId: 9 03-01/14:02:30 INFO [dhcpLstnr-p-7-t-7] InetDhcpProcessor2 - InetServ found: ContractId: 9; status: 0; servId: 1 п≤пҐя┌п╣я─пҐп╣я┌ (п≤пҐя┌п╣я─я└п╣п╧я│ 9) Options [] TariffModuleTreeSet [1:26.02.2016-Б─і; ] Device state: 1; optionSet:1 03-01/14:02:30 INFO [dhcpLstnr-p-7-t-7] InetApplication - TariffOptionMap: {} 03-01/14:02:30 INFO [dhcpLstnr-p-7-t-7] InetApplication - inetServ[id=1] balance ok: 93.22 [0] 03-01/14:02:30 INFO [dhcpLstnr-p-7-t-7] InetApplication - OptionSet: [1] 03-01/14:02:30 INFO [dhcpLstnr-p-7-t-7] InetDhcpProcessor2 - IP not found in service. Searching in device... 03-01/14:02:30 INFO [dhcpLstnr-p-7-t-7] InetDhcpProcessor2 - Free IP-address not found |
Автор: | NikName2016 [ 03 мар 2016, 00:22 ] |
Заголовок сообщения: | Re: Ошибка при выдаче ip-адреса DHCP с опцией 82 |
Все еще есть проблема с получением ip-адреса по DHCP с опцией 82. Выдается следующая ошибка: 03-02/21:13:32 INFO [dhcpLstnr-p-7-t-6] AbstractInetDhcpProcessor2 - REQUEST: Message type: BOOT_REQUEST Dhcp message type: DHCP Request{3} htype: 1, hlen: 6, hops: 1 xid: -1293982744, secs: 0, flags: 0 Client IP: 0.0.0.0 Your IP: 0.0.0.0 Server IP: 0.0.0.0 Relay IP: 192.168.21.55 Client MAC: {002454B5EFE9} {61}={01002454B5EFE9} Requested IP Address{50}=10.15.8.116 Server Identifier{54}={00000000} Host name{12}={support_samsung} {81}={000000737570706F72745F73616D73756E672E} {60}={4D53465420352E30} Parameter request list{55}={1, 15, 3, 6, 44, 46, 47, 31, 33, -7, 43} {43}={DC0100} Agent information{82}= sub{1}={000408070109} sub{2}={0006A8F94B78ED80} 03-02/21:13:32 INFO [dhcpLstnr-p-7-t-6] InetDhcpDevice - Search serv on deviceId: 4; 1; interfaceId: 9 03-02/21:13:32 INFO [dhcpLstnr-p-7-t-6] InetDhcpProcessor2 - InetServ found: ContractId: 9; status: 0; servId: 1 п≤пҐя┌п╣я─пҐп╣я┌ (п≤пҐя┌п╣я─я└п╣п╧я│ 9) Options [1:01.03.2016-31.03.2016; ] TariffModuleTreeSet [1:26.02.2016-Б─і; ] Device state: 1; optionSet:1 03-02/21:13:32 INFO [dhcpLstnr-p-7-t-6] InetDhcpProcessor2 - Starting connection: InetConnection [id=0-0, iface=4:9, sessId=b2df63e8, start=02.03.2016 21:13:32, uname=null, addr=10.15.8.116] 03-02/21:13:36 ERROR [dhcpLstnr-p-7-t-6] InetDhcpProcessor2 - Timeout exceed! ru.bitel.bgbilling.common.BGException: Timeout exceed! at ru.bitel.bgbilling.modules.inet.access.InetConnectionManager.accountingStart(InetConnectionManager.java:617) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processOption82RequestRaw0(InetDhcpProcessor2.java:1034) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processOption82RequestRaw(InetDhcpProcessor2.java:273) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processOption82RequestImpl(InetDhcpProcessor2.java:117) at ru.bitel.bgbilling.modules.inet.dhcp.AbstractInetDhcpProcessor2.processOption82Request(AbstractInetDhcpProcessor2.java:352) at ru.bitel.bgbilling.modules.inet.dhcp.AbstractInetDhcpProcessor2.processRequest(AbstractInetDhcpProcessor2.java:184) at ru.bitel.bgbilling.modules.inet.dhcp.InetDhcpProcessor2.processRequest(InetDhcpProcessor2.java:61) at ru.bitel.bgbilling.kernel.network.dhcp.DhcpListenerWorker.runImpl(DhcpListenerWorker.java:90) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46) То есть мы видим, что ip-адрес из пула вроде бы получается, но потом происходит следующее: 03-02/21:13:32 INFO [dhcpLstnr-p-7-t-6] InetDhcpProcessor2 - Starting connection: InetConnection [id=0-0, iface=4:9, sessId=b2df63e8, start=02.03.2016 21:13:32, uname=null, addr=10.15.8.116] 03-02/21:13:36 ERROR [dhcpLstnr-p-7-t-6] InetDhcpProcessor2 - Timeout exceed! Прошу подсказать, что это за Timeout и как исправить ситуацию? |
Автор: | Amir [ 03 мар 2016, 15:46 ] |
Заголовок сообщения: | Re: Ошибка при выдаче ip-адреса DHCP с опцией 82 |
Либо не запущен InetAccounting, либо у него или у InetAccess прописан не правильный rootDeviceId в inet-accounting.xml (inet-access.xml). Также в конфигурации модуля должен быть правильно указан ID ТИПА корневого устройства (Access+Accounting) в параметре accounting.deviceTypeIds= |
Автор: | NikName2016 [ 03 мар 2016, 16:34 ] |
Заголовок сообщения: | Re: Ошибка при выдаче ip-адреса DHCP с опцией 82 |
Спасибо, проблема решена: надо было в файл inet-access.xml прописать параметр: Код: <param name="accounting.deviceTypeIds" value="12"/> Странно, что он по умолчанию там отсутствует, если необходим для работы Access+Accounting. |
Автор: | Amir [ 03 мар 2016, 16:55 ] |
Заголовок сообщения: | Re: Ошибка при выдаче ip-адреса DHCP с опцией 82 |
Этот параметр (accounting.deviceTypeIds) желательно указывать сейчас в конфиге модуля, в не в inet-access.xml |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |