Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: DHCP (Define vendor classes).
Показать сообщение отдельно

Старожил


Сообщения: 401
Благодарности: 43

Профиль | Отправить PM | Цитировать


да без резервирования вроде не обойтись.(

для пояснения немного вспомним как работает ДХСП. я не буду подробно обьяснять и рассматривать все возможные варианты развития событиий, всё это можно прочитать в инете, а возьму самый простой.

1 - клиент dhcpdiscovery(органиченно широковещательно) ищет сервер в сети. в этом пакете он передаёт список опций клиента. опция номер 55 перечень запрашиваемых опций. опция номер 77 - пользовательский класс. опция 60 класс производителя.
2 - сервер dhcpoffer(ограниченно широковещательно) сервер отвечаеть клиенту предложением.
3 - клиент dhcpreqvest(ограниченно широковещательно) клиент согласен с предложением просит подтверждения
4 - сервер dhcpack(ограниченно широковещательно) серверу нет причин отказать.
...
5 - клиент dhcpreqvest(серверу) по истечении времени аренды обращаеться к серверу за продлением.
6 - сервер dhcpack(клиенту) серверу нет причин отказать.

анализ пакета dhcpdiscovery показывает что переопределяються\дополняються опции. т.е. любое значение в поле опций пакета ДХСП. в то время как адрес устройствам передаёться не в опциях а в спец. поле ДХСП пакета. изменить\переопределить его с помощью опций невозможно.

вендор класс это опция номер 60. я так понял это производитель программы клиента ДХСП решает быть ей или нет. и соответственно она меняеться в зависимости от операционки(класс разработчика клиента) а не от производителя железа. например клиент ДХСП в голой FreeBSD не передаёт вендор класс в пакете(хотя опция такая всё же есть, только её нужно явно задать. и явно присвоить ей значение). вероятность того что маршрутизатор передаёт эту опцию ещё меньше.( ну а про юзер класс который присваеваеться вручную для маршрутизатора вообще молчу. к сожалению проверить немогу - маршрутизатора нет. но это уже не важно.)

вообщем не получаеться задавать\переопределять получаемые хостом ИП адреса с помощью вендор\юзер классов.(

з.ы. в результате эксперемента было обнаруженно следующие:
1 - FreeBSD клиент передаёт пакет продления аренды(5), на канальном уровне, не серверу у которого он её получил а ограниченно широковещательно, в отличии от MS клиента который пакет продления аренды(5) посылает, на канальном уровне, серверу. на что MS сервер не реагирует.) и соответственно не продлевает аренду пакетом (6).
2 - после истечения времени аренды FreeBSD всё ещё продолжает использовать полученный адрес. я так понял что у неё ввремя аренды отличаеться от предложенного сервером времени.
3 - команда ipconfig /showclassid <имя интерфейса> показывает допустимые классы пользователя определённые на ДХСП сервере(я думал что она должна показывать класс закреплённый за интерфейсом.). а класс закреплённый за интерфейсом она почемуто не показывает.
4 - команда ipconfig /setclassid <имя интерфейса> <имя класса> присваевает интерфейсу любое имя класса. т.е. без проверки есть ли такой на сервере. так на будущее. который передаёться в опции 77 пакета(1).
5 - команда ipconfig /setclassid <имя интерфейса> <без пробела нет ничего> сбрасывает присвоенный класс. опция 77 впредь отсутствует в пакетах(1).

з.з.ы я в никсах новичёк, возможно что то сделал не так(клиента ДХСП не настраевал вообще, просто включил и всё. но обратите внимание что настроек клиента в винде ещё меньше.)) ). если что поправьте.

з.з.з.ы слушай minion, а зачем такая необходимость? изложи задачу. возможно она решаеться ещё кокимто образом? ведь если маршрутизатор получит ИП из другой сети он не может взаимодействовать с хостами этой сети. и чтоже это за маршрутизатор такой, если им нельзя воспользоваться.

*работа ДХСП сервера описана в RFC номер 1541

-------
правильно сформулированный вопрос уже содержит половину ответа.)


Отправлено: 19:33, 18-05-2008 | #12

Название темы: DHCP (Define vendor classes).