有条件地向客户端提供PXE引导

我正在研究一个宠物项目,并且试图找出我应该从哪里开始实现以下function:

我有一个PXE启动ROM,将做烧机testing,我的刻录testing在PXE / DHCP服务器上设置一个标志。

如果一个客户端正在启动,并没有该标志,我想提供我的PXE启动ROM。

如果客户端有标志,我想跳过pxe启动。

我可以通过pxe config来做到这一点 – 但是对于整个子网来说。 我如何pipe理这个MAC?

编辑:我想这是值得一提的,我可以做到这一点通过Linux或Windows Server 2008,它真的归结为哪一个更容易的时间来实现这一点。 我可能会更喜欢用.net而不是java来编写用于pipe理DHCP设置的界面,但我想dhcpd.conf会更直接。

看看Foreman是如何做到这一点的。 您将每台计算机都设置为PXE启动,并且具有TTL非常低的“默认”pxelinux.cfg。 这个默认configuration有一个条目,localboot。

当你想把一台机器切换到PXE启动的时候,你可以为它创build一个configuration文件(基于MAC或IP)。 下一次启动时,它将取出最具体的configuration文件并引导正常。 所有其他机器都会得到默认的一个,它什么都不做。

我在iPXE菜单中执行此操作,您可以在https://gist.github.com/robinsmidsrod/2234639上查看。

它可以模拟与PXELinux相同的行为,因为您可以根据自己的MAC,主机名,UUID或networking适配器types为单个客户端命名自定义引导文件,因此胸围在处理方式上会更加灵活。

使用一些shell脚本,您可以轻松地为客户端创build这些configuration文件。