Я работаю над домашним проектом и пытаюсь понять, с чего мне начать, чтобы достичь следующих функциональных возможностей:
У меня есть загрузочный диск PXE, который будет выполнять тесты на прожиг, мой тест на запись устанавливает флаг на сервере PXE / DHCP.
Если клиент загружается и у него нет флага, я хочу предложить свой загрузочный диск PXE.
Если у клиента есть флаг, я хочу просто пропустить загрузку pxe.
Я могу сделать это через конфигурацию pxe, но для целых подсетей. как мне управлять этим для каждого MAC?
Изменить: я полагаю, стоит упомянуть, что я могу сделать это через Linux или Windows Server 2008, и это действительно сводится к тому, что проще реализовать это. Я, вероятно, предпочел бы написать интерфейс для управления настройками DHCP в .net, чем java или что-то в этом роде, но я полагаю, что dhcpd.conf будет более простым.
Посмотрите, как это делает Форман. Вы устанавливаете для каждой машины PXE-загрузку, и у вас есть файл pxelinux.cfg по умолчанию с очень низким TTL. В этой конфигурации по умолчанию есть одна запись, localboot.
Если вы хотите переключить машину на PXE, загружающую что-то еще, вы создаете для нее файл конфигурации (на основе MAC или IP). При следующей загрузке он извлекает наиболее конкретный файл конфигурации и загружается нормально. Все остальные машины получают значение по умолчанию, которое ничего не делает.
Я делаю это в своем меню iPXE, которое вы можете увидеть на https://gist.github.com/robinsmidsrod/2234639 .
Он имитирует то же поведение, что и PXELinux, но bust немного более гибкий в подходе к нему, поскольку вы можете назвать настраиваемый загрузочный файл для одного клиента в соответствии с их MAC, именем хоста, UUID или типом сетевого адаптера.
С помощью сценариев оболочки вы можете легко создавать эти файлы конфигурации для клиентов по запросу.