BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: serverIdentifier
СообщениеДобавлено: 24 ноя 2014, 17:36 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
Добрый день!

Подскажите пожалуйста, не могу разобраться, как-то правильно работать с DHCP опцией serverIdentifier?

Схема: SE100 в режиме DHCP прокси, авторизация IPOE. Необходимо выдавать клиентам "серые" и "белые" IP адреса в зависимости от настроек категории в сервисе привязанном к договору. И при этом в зависимости от пула, как я понимаю, нужно правильно выставлять опцию serverIdentifier, и также смотреть что идет в Relay IP и в SRC IP UDP пакета.


Работаем на 5.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: serverIdentifier
СообщениеДобавлено: 24 ноя 2014, 20:10 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
serverIdentifier вроде бы предназначен только для идентификации клиентом DHCP-сервера.
Т.е. клиент шлет DISCOVER - несколько DHCP-серверов шлют ему OFFER.
Клиент выбирает одного и шлет REQUEST с serverIdentifier выбранного DHCP-сервера (этот REQUEST может прийти к обоим DHCP-серверам, а обработать его должен только сервер с указанным serverIdentifier).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: serverIdentifier
СообщениеДобавлено: 25 ноя 2014, 13:54 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
Спасибо большое за разъяснение. Я видимо не до конца понял логику работы. Где-то читал что serverIdentifier важен при RENEW state из которого некоторые DHCP-клиенты берут целевой IP-адрес DHCP-сервера для запроса на продление лизинга, который шлют юникастом. Вследствии при схеме с релеем (а в случае CLIPS на SE100 еще и проксирование DHCP запроса имеется) могут возникать проблемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: serverIdentifier
СообщениеДобавлено: 25 ноя 2014, 15:29 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Да, для этого по RFC serverIdentifier тоже используется.
Причем у наших клиентов по разному, видимо зависит от коммутаторов и схемы: у кого-то вроде бы RENEW вообще игнорируется, у кого-то как-то обрабатывается так, что до биллинга доходит с option82, у кого-то как-будто преобразуется в RELAY-запрос от коммутатора/циски/SE, у кого-то RENEW запросы обрабатывает биллинг.
Т.е., например, у кого-то вроде бы нормально работало только при serverIdentifier=0.0.0.0, у кого-то - только при serverIdentifier=адрес InetAccess.

У SE вроде есть режим, когда он сам делает leaseTime маленьким, обрабатывая частые RENEW сам (чтобы была возможность побыстрее отнять адрес при сбросе сессии), т.е. вышестоящему DHCP-серверу запросы приходят реже, чем на самом деле идет от клиента.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: serverIdentifier
СообщениеДобавлено: 25 ноя 2014, 17:39 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
Вот у меня как раз такая ситуация сейчас - SE100 взял на себя ответ клиенту и продлил ему адрес (юникастом), а вот на InetAccess DHCP Helper CLIPS он не послал ничего. В результате InetDhcpHelperProcessor - Remove connection remove делает.

Пока не нашел как в SE100 этим манипулировать. А как билингу правильно указать, что там SE100 хлопочет за него в части продления лиз?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: serverIdentifier
СообщениеДобавлено: 25 ноя 2014, 17:43 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В случае с InetDhcpHelperProcessor - DHCP там как-бы вспомогательный. RADIUS-сессия есть - отвечает на запросы по DHCP (выдавая тот адрес, что в сессии), нет - не отвечает.
Т.е. вроде как в этом случае биллингу все рано, приходил DHCP-пакет или нет. Сессию он ведет по RADIUS.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: serverIdentifier
СообщениеДобавлено: 25 ноя 2014, 18:32 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
Сорри, ошибся, проблема оказалась не в этом.

SE100 присылает Аккаунтинг-СТОП пакет с формулировкой

Код:
  Session-Error-Msg=DHCP IP-host mismatch
  Session-Error-Code=196


Собственно проблема где-то в DHCP диалоге. Внимательно еще раз посмотрел на дамп и понял, что сам DHCP клиент по какой-то причине видимо игнорирует DHCP ACK от SE100, поскольку пытается запросить адрес до последнего и в финале дает широковещательно новый запрос на выдачу адреса, после чего SE100 ему говорит NACK и оправляет на биллинг Аккаунтинг-СТОП по установленной сессии.

Пример DHCP ACK который игнорирует клиент. Сам клиент это DLINK DIR-615.

Код:

  TIME: 2014-11-25 14:20:36.581
    IP: 10.1.0.1 (0:30:12:17:f:4c) > 10.1.0.95 (d8:fe:e3:c8:cd:f2)
    OP: 2 (BOOTPREPLY)
 HTYPE: 1 (Ethernet)
  HLEN: 6
  HOPS: 1
   XID: 29b47563
  SECS: 0
 FLAGS: 0
CIADDR: 10.1.0.95
YIADDR: 10.1.0.95
SIADDR: 0.0.0.0
GIADDR: 0.0.0.0
CHADDR: d8:fe:e3:c8:cd:f2:00:00:00:00:00:00:00:00:00:00
 SNAME: .
 FNAME: .
OPTION:  53 (  1) DHCP message type         5 (DHCPACK)
OPTION:  54 (  4) Server identifier         10.1.0.1
OPTION:  51 (  4) IP address leasetime      900 (15m)
OPTION:   1 (  4) Subnet mask               255.255.252.0
OPTION:   3 (  4) Routers                   10.1.0.1
OPTION:   6 (  8) DNS server                1.1.1.1,2.2.2.2



Последний раз редактировалось alf_from_melmok 25 ноя 2014, 19:47, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: serverIdentifier
СообщениеДобавлено: 25 ноя 2014, 18:38 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А OFFER на который роутер послал REQUEST ничем не отличается от ACK?
Биллинг здесь участвует? Если да, что в его логах c DHCP диалогом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: serverIdentifier
СообщениеДобавлено: 25 ноя 2014, 21:56 
Не в сети

Зарегистрирован: 14 мар 2010, 03:38
Сообщения: 171
Откуда: Москва
Карма: 0
Отличались они тем, что не было ServerIdentifier, как только DHCP Helper стал отдавать ServerIdentifier=0.0.0.0, то продление аренды заработало корректно. Не заметил как в процессе отладки у меня в конфиге ServerIdentifier оказался закомментирован.


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

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


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

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


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

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