Упрощенно, принцип работы dhcp-клиентов заключается широковещательной рассылке запроса типа "ну пода-а-а-йте ктонибудь айпишник на пропитание мне такому-то с таким-то MAC-адресом..." и последующей обработкой ответа сервера типа "держи айпишник, убогий ...". dhcp-клиент по умолчанию обрабатывает первый пришедший ответ и поднимает у себя полученный адрес. А теперь представьте: в ethernet-сети имеется несколько dhcp-серверов, при этом один правильный - поднятый админом сети, другие - поднятые злоумышленниками, хулиганами и прочей маргинальной публикой. Вопрос - от какого сервера предлагаемый ip-адрес придет клиенту быстрее? Ответ зависит только от расположения светил и кармы клиента. В результате один злоумышленник в сети просто фактом своего наличия может потенциально заблокировать всю ее работу.
Задача - обеспечить настройку клиентских компьютеров на автоматическое получение сетевых параметров только с определенного dhcp-сервера (по его IP или MAC). Решение задачи на уровне сетевых устройств (коммутаторов, маршрутизаторов) не очень интересны, ибо потребуют как минимум замены рабочих непрограммируемых свитчей на их более дорогие программируемые аналоги. Поэтому интересны именно программные решения для клиентских систем на linux и windows.
Есть идеи, предложения?