BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: DHCP always broadcast
СообщениеДобавлено: 08 июн 2012, 06:53 
Не в сети

Зарегистрирован: 11 май 2010, 17:57
Сообщения: 93
Карма: 0
Хотелось бы иметь возможность, выставить бродкаст флаг во всех отправляемых дхцп пакетах принудительно.

Аналог опции always-broadcast в isc-dhcp.

- Клиент (Windows XP) отправляет запрос без броадкаст флага, через релей агент (Cisco)
- Сервер отвечает без броадкаст флага, через релей агент клиенту.
- На клиента прилетает offer юникастом, и как следствие игнорируется.

P.S

Код:
 To work around some clients that cannot accept IP unicast datagrams
   before the TCP/IP software is configured as discussed in the previous
   paragraph, DHCP uses the 'flags' field [21].  The leftmost bit is
   defined as the BROADCAST (B) flag.  The semantics of this flag are
   discussed in section 4.1 of this document.  The remaining bits of the
   flags field are reserved for future use.  They MUST be set to zero by
   clients and ignored by servers and relay agents.  Figure 2 gives the
   format of the 'flags' field


http://tools.ietf.org/html/rfc2131#page-8


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DHCP always broadcast
СообщениеДобавлено: 08 июн 2012, 13:03 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
так проблема в клиенте . По стандарту он должен ставить этот флаг , а он не ставит , значит хочет получать unicast-ом .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DHCP always broadcast
СообщениеДобавлено: 08 июн 2012, 13:10 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Можете попробовать в классе - обработчике процессора протокола добавить
Код:
   @Override
   public void postprocessDhcpRequest( DhcpPacket request, DhcpPacket response )
      throws Exception
   {
      response.flags |= DhcpPacket.FLAG_BROADCAST;
   }
, скомпилировать и нажать Перечитать конфигурацию на серверах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DHCP always broadcast
СообщениеДобавлено: 08 июн 2012, 13:14 
Не в сети

Зарегистрирован: 11 май 2010, 17:57
Сообщения: 93
Карма: 0
stark, проблема в винде, разные билды, разные SP, клиентов не заставишь пере устанавливать винду до посинения. На 7ке такой проблемы нет, на висте есть решение в реестре )) когда использовали L2 релей на длинке, флаг ставил коммутатор :) костыль, но работало.

Amir, спасибо, попробую завтра.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DHCP always broadcast
СообщениеДобавлено: 08 июн 2012, 14:22 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
У нас, похоже, неправильная константа была FLAG_BROADCAST, было 0x4000, нужно (short)(0x8000 & 0xffff).
Выложили обновление, добавили параметр конфига dhcp.alwaysBroadcast=1, т.е. можно сделать без изменения класса обработчика процессора протокола.
Только не уверены, что это поможет. Проблема только с RENEW запросами? У некоторых так и работает, т.к. на RENEW отвечать не обязательно - просто дожидаемся стадии REBIND, когда уже шлюется броадкастом.
В ipn когда-то устанавливали dhcp.serverIdentifier=0.0.0.0, тогда RENEW шлется также броадкастом, вроде бы работало, но недавно при таком параметре на какой-то системе вылез глюк, что система периодически теряет IP-адрес на секунду-две.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DHCP always broadcast
СообщениеДобавлено: 14 июн 2012, 06:26 
Не в сети

Зарегистрирован: 11 май 2010, 17:57
Сообщения: 93
Карма: 0
Amir писал(а):
Можете попробовать в классе - обработчике процессора протокола добавить
Код:
   @Override
   public void postprocessDhcpRequest( DhcpPacket request, DhcpPacket response )
      throws Exception
   {
      response.flags |= DhcpPacket.FLAG_BROADCAST;
   }
, скомпилировать и нажать Перечитать конфигурацию на серверах.



Возможно будет полезно. При попытке манипулировать респонсом. Получаем.


Код:
dhcp 06-14/11:17:57 ERROR [dhcpLstnr-p-11-t-10] InetAbstractDhcpProcessor -
java.lang.NullPointerException
   at ru.bitel.bgbilling.modules.inet.dyn.device.cisco.ISGProtocolHandler.postprocessDhcpRequest(ISGProtocolHandler.java:382)
   at ru.bitel.bgbilling.modules.inet.dhcp.InetAbstractDhcpProcessor.processRequest(InetAbstractDhcpProcessor.java:68)
   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)


Такое ощущение, что в response нечего нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DHCP always broadcast
СообщениеДобавлено: 14 июн 2012, 13:11 
Не в сети
Разработчик
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: DHCP always broadcast
СообщениеДобавлено: 22 июн 2012, 13:04 
Не в сети

Зарегистрирован: 11 май 2010, 17:57
Сообщения: 93
Карма: 0
Работает. Усе окей


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

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


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

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