BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 12 май 2024, 02:24

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




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: BGDHCP Opt.82 Продление адренды адреса
СообщениеДобавлено: 16 фев 2011, 11:14 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Биллинг 5.1 DHCP сборка 138

На свиче D-Link настроен dhcp_relay, всё работает, клиент получает адрес.
Далее начинается следующее - клиент начинает напрямую юникастом
просить продление аренды у сервера и получает отлуп

Код:
DEBUG  16.02.2011 06:44:14,652 pool-1-thread-7 processing request
DEBUG  16.02.2011 06:44:14,652 pool-1-thread-7 OP_BOOT_REQUEST
DEBUG  16.02.2011 06:44:14,652 pool-1-thread-7 agent information is not found
DEBUG  16.02.2011 06:44:14,652 pool-1-thread-7 trying to renew ip


и так до тех пор, пока адренда не истечет, клиент отваливатся и начинается
повторная процедура получения адреса бродкаст+релэй с самого начала.

Имхо ситуация не очень. Можно как-то исправить ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2011, 20:13 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
а зачем клиент и сервер находятся в одной сети ..relay он на то и relay чтобы в другую сеть пересылать ..Почему у вас тогда сразу клиент напрямую с dhcp не работает?
Он получается туда и туда шлет с самого начала , а BGDHCP расчитан только на запроcы от relay, и продление аренды тоже через relay должно идти


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2011, 21:07 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Первичное получение адреса при включении компа идет через relay, D-Link перехватывает широковещательный пакет пользователя, подставляет Opt82 и шлет на DHCP-Server, который пользователю изначально недоступен, т.к. стоит в другом сегменте

Юзер - L2(DES-3028) - L3(DGS-3627) - BGDHCP

Вот конфиг 3028 на эту тему
Код:
enable dhcp_relay
config dhcp_relay hops 4 time 5
config dhcp_relay option_82 state enable
config dhcp_relay option_82 check enable
config dhcp_relay option_82 policy replace
config dhcp_relay option_82 remote_id default
config dhcp_relay add ipif System X.X.X.X


Эта процедура отрабатывается корректно, вот лог

Код:
DEBUG  15.02.2011 22:28:04,659 pool-1-thread-1 processing request
DEBUG  15.02.2011 22:28:04,659 pool-1-thread-1 OP_BOOT_REQUEST
DEBUG  15.02.2011 22:28:04,659 pool-1-thread-1 agent information  found!
DEBUG  15.02.2011 22:28:04,659 pool-1-thread-1 DHCP_REQUEST or  DHCP_DISCOVER
DEBUG  15.02.2011 22:28:04,659 pool-1-thread-1 request.giaddr =172.16.1.105
DEBUG  15.02.2011 22:28:04,659 pool-1-thread-1 gateId = 1
DEBUG  15.02.2011 22:28:04,660 pool-1-thread-1 port=2
DEBUG  15.02.2011 22:28:04,660 pool-1-thread-1 ip = х.х.х.х
DEBUG  15.02.2011 22:28:04,660 pool-1-thread-1 DHCP_DISCOVER


BGDHCP выдает юзеру адрес, днс, информацию про себя (IP-адрес)
Дальше, когда время аренды подходит к концу, юзер начинает просить продление, НО!
он уже шлет пакет не бродкастом, а юникастом, и напрямую на BGDHCP (это tcpdump показал)
поэтому DES-3028 уже эти пакеты не ловит и не ставит туда Opt82, ну и соответственно
раз в пакете нет инфы про агента, то BGDHCP их отфутболивает.

Код:
DEBUG  16.02.2011 06:44:14,652 pool-1-thread-7 processing request
DEBUG  16.02.2011 06:44:14,652 pool-1-thread-7 OP_BOOT_REQUEST
DEBUG  16.02.2011 06:44:14,652 pool-1-thread-7 agent information is not found
DEBUG  16.02.2011 06:44:14,652 pool-1-thread-7 trying to renew ip


Как быть в этой ситуации и кто что с этим делает ?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 фев 2011, 12:22 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
по rfc 2131

Цитата:
4.4.4 Use of broadcast and unicast


The DHCP client broadcasts DHCPDISCOVER, DHCPREQUEST and DHCPINFORM
messages, unless the client knows the address of a DHCP server. The
client unicasts DHCPRELEASE messages to the server. Because the
client is declining the use of the IP address supplied by the server,
the client broadcasts DHCPDECLINE messages.

When the DHCP client knows the address of a DHCP server, in either
INIT or REBOOTING state, the client may use that address in the
DHCPDISCOVER or DHCPREQUEST rather than the IP broadcast address.
The client may also use unicast to send DHCPINFORM messages to a
known DHCP server. If the client receives no response to DHCP
messages sent to the IP address of a known DHCP server, the DHCP
client reverts to using the IP broadcast address.


Получается , что если клиент знает адрес сервера , то он шлет unicast-ом..Вопрос - откуда он знает ? можете показать содержимое всех dhcp-пакетов(DHCPOFFER, DHCPACK и т.п) , которые получает клиент от relay-агента(переверте может он что-то еще напрямую от сервера получает, т.е вообще все пакеты DHCP, которые он получает ) ? Возможно там relay-агент что-то дополнительно заполняет, siaddr например .. Клиент должен думать, что relay - это есть сервер. Надо понять откуда он узнает про сервер


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 фев 2011, 12:46 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Пакеты половлю, посмотрю. По поводу того, что клиент должен думать что релэй - это сервер и что релэй должен говорить про себя что он и есть DHCP-сервер есть сомнения такого плана: Релэй(DES-3028) шлёт запросы на DHCP-сервер со своего ipif System, который находится в управляющем вилане и имеет внутреннюю(серую) адресацию, доступ клиенту в который может быть просто напросто закрыт - это раз, а во вторых принцип работы релея - это ведь перехват широковещательных DHCP-запросов или я ошибаюсь ?

Настройки релея приводил, настройки BGDHCP стандартные

Код:
processor.class=bitel.billing.server.ext.dhcp.DHCPRelayProcessor

admin.port=1868

dhcp.thread.count=10

dhcp.data.save.delay=3600
dhcp.data.save.period=3600

dhcp.server.identifier=IP-интерфейса-сервера

тут описание параметров сети net.1 : маска, шлюз и днс.



Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 фев 2011, 16:39 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Поймал пакеты первичные на клиенте - там есть

Relay agent IP address: 172.16.1.105 (172.16.1.105)
а также
Option: (t=54,l=4) DHCP Server Identifier = Х.Х.Х.Х

т.е. есть инфа и про сам DHCP-сервер, поэтому клиент посылает запросы продления аренды напрямую на сервер


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 фев 2011, 17:40 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
barguzin2 писал(а):
Поймал пакеты первичные на клиенте - там есть

Relay agent IP address: 172.16.1.105 (172.16.1.105)
а также
Option: (t=54,l=4) DHCP Server Identifier = Х.Х.Х.Х

т.е. есть инфа и про сам DHCP_IPN-сервер, поэтому клиент посылает запросы продления аренды напрямую на сервер


Да , это BGDHCP_IPN заполняет этот адрес .. Причем его можно переопределить с помощью опции dhcp.server.identifier
в конфиге ...Попробуйте поставить
Код:
dhcp.server.identifier=0.0.0.0


в конфиге DHCP_IPN


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2011, 06:25 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ЕМНИМС клиенту отдается в качестве IP адреса DHCP сервера IP адрес свича

Код:
enable dhcp_local_relay

пробывали?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2011, 10:51 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
Пробовал dhcp.server.identifier=0.0.0.0
Клиент тогда запрос продления шлет бродкастом, его уже свич ловит и отправляет серверу - вроде всё работает, спасибо.

enable dhcp_local_relay - это не пойдёт, DHCP то в другом сегменте, отделенным L3-свичем


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 фев 2011, 20:47 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
barguzin2 писал(а):
enable dhcp_local_relay - это не пойдёт, DHCP то в другом сегменте, отделенным L3-свичем

эта опция отвечает за то чтобы даже в юникаст пакеты вставлять Option 82, заодно не дает DHCP запросам плодится и размножаться


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 фев 2011, 13:12 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
barguzin2 писал(а):
Пробовал dhcp.server.identifier=0.0.0.0
Клиент тогда запрос продления шлет бродкастом, его уже свич ловит и отправляет серверу - вроде всё работает, спасибо.

enable dhcp_local_relay - это не пойдёт, DHCP то в другом сегменте, отделенным L3-свичем


сделаем по умолчанию там 0.0.0.0..Сейчас там пытается выдать адрес того интерфейса , где поднят dhcp - это вообще уберем ..Так как можно обойти это ограничения , то обновления для текущих версий делать не будем, в следующем уберем .


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 фев 2011, 15:09 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
snark писал(а):
barguzin2 писал(а):
enable dhcp_local_relay - это не пойдёт, DHCP то в другом сегменте, отделенным L3-свичем

эта опция отвечает за то чтобы даже в юникаст пакеты вставлять Option 82, заодно не дает DHCP запросам плодится и размножаться


Разве? dhcp_local_relay, насколько знаю, использутется тогда, когда dhcp стоит в одном сегменте с клинетом. в этом случае switch просто вставляет Opt82 и пихает пакет дальше также бродкастом. Тем более в настройках этой опции нет упоминания про адреса dhcp-серверов.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 фев 2011, 15:40 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ее включение (никакой настройки, просто включение) - самое первое что ТП длинка рекомендует делать когда DHCP запросы начинают плодится и размножаться ;)


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

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


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

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


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

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