Есть ли способ запретить DHCP-клиенту Windows отправлять этот бесполезный параметр UID с его запросами DHCP?
Дело в том, что у нас есть машины с двойной загрузкой (Windows и Linux). Когда Windows запускается впервые, она получает аренду на основе отправляемого ею UID. Последующие запросы DHCP в Linux получают новую аренду, потому что клиент DHCP там, как и весь остальной мир, за исключением Windows, не отправляет UID. Протокол DHCP позволяет это, и если есть аренда с UID, это предпочтительно, а MAC-адрес даже не рассматривается.
У нашего DHCP-сервера есть опция конфигурации, позволяющая игнорировать UID и обрабатывать запросы только на основе MAC-адреса. Однако это является нарушением протокола DHCP, и поэтому мне было бы трудно изменить это, даже если это, скорее всего, не принесет никакого вреда.
Быстрый поиск в Google не содержал ничего, кроме одного разговора в списке рассылки / форуме, в котором какой-то парень из Microsoft фактически сказал автору темы поиграть с DHCP-сервером или перенастроить клиентов DCHP для отправки того же UID, что и Windows.
Такое поведение окон является конструктивным и соответствует спецификации. Пока DHCP-клиенты Linux не дойдут до спецификации 2131 (прошло всего 15 лет, что ничто во времени * nix) лучше всего настроить DHCP-сервер так, чтобы он игнорировал идентификатор клиента и вместо этого полагался на поле chaddr (по сути, возвращая его к RFC 1541 поведение). Вы не можете удалить поле UID из клиента Windows.
Я не понимаю «болезненной» части (в основном, где именно она причинит боль). Я предполагаю, что UID означает «уникальный идентификатор». MAC-адрес ЯВЛЯЕТСЯ уникальным идентификатором, а дубликат - это то, что вы вряд ли когда-либо увидите. В этом нет ничего плохого.
Это возможно для Windows 8.1 с накопительным пакетом обновления за ноябрь 2014 г. и Windows 10: https://support.microsoft.com/en-us/kb/3004537
Есть ли способ запретить DHCP-клиенту Windows отправлять этот бесполезный параметр UID с его запросами DHCP?
Нет
У нашего DHCP-сервера есть опция конфигурации, позволяющая игнорировать UID и обрабатывать запросы только на основе MAC-адреса. Однако это является нарушением протокола DHCP, и поэтому мне было бы очень трудно изменить это, даже если это, скорее всего, не повредит.
Я бы отнес это правило к категории перехода безлюдной улицы в нескольких метрах от пешеходного перехода.
Если клиент не отправляет UID или сервер игнорирует, на мой взгляд, это не должно иметь значения. Клиент Windows запрашивает IP-адрес и получает его. Как он может определить, на каком основании сервер его выбирает?
Кроме того, поменять один сервер намного проще, чем всех клиентов.