多个 PXE 服务器同一个子网

Ter*_*iux 4 dhcp windows-server-2003 dhcp-server pxe-boot

我已经为此苦苦挣扎了一段时间。我有几台从网络启动的测试机器,它们从 DHCP 服务器接收启动数据,这告诉他们谁是启动服务器,他们将启动的文件在哪里等。但是,我需要添加第二个 PXE 服务器在同一个子网中(创建另一个 Vlan 现在不是一个选项)。

我在某处读到我可以根据它们的 MAC 地址将某些参数发送到某些机器(这种方式选择从哪个服务器启动哪些计算机)但是我找不到如何做到这一点,有人知道怎么做吗?这将是我的解决方案,但我找不到答案。

我的 DHCP 是 Windows Server 2003

我有 2 台服务器运行自定义风格的 Linux 服务器作为 TFTP 服务器。有些机器使用数据从服务器 1 引导,而其他机器必须能够从服务器 2 引导。

谢谢

编辑:我已经选择了答案,但如果有人关心,我没有按照建议使用链式加载,而是编写了一个 gPXE 脚本并将其与 ISO 映像一起刻录到 CD 中,我从中启动,执行脚本并且 PC 是重定向到脚本中所述的服务器,这是我使用的脚本。

#!gpxe
dhcp net0
set filename pxelinux.0
set next-server 10.225.83.125   #Server your pointing to
set 210:string http://10.225.83.125/fogimg/  #if http the exact http address
imgfetch pxelinux.0       #name of the img file to fetch
imgload pxelinux.0        #name of the img file to load
boot pxelinux.0           #name of the img file to boot from
Run Code Online (Sandbox Code Playgroud)

Mic*_*man 5

如果您使用gPXE ,这是可能的。您将所有主机配置为使用 gPXE 启动,然后使用用 PHP 或类似脚本编写的服务器脚本来提供给定 MAC 地址参数的适当映像:

chain http://${next-server}/boot.php?mac=${net0/mac}
Run Code Online (Sandbox Code Playgroud)

这里给出的例子。

您不必将 gPXE 刻录到您的 NIC 中(尽管这当然是一个有效的选择):链式加载效果很好。

最后,描述 Win2k3 DHCP 上 gPXE 客户端配置的页面在这里