我已经为这事挣扎了一段时间了。我有几台从网络启动的测试机器,它们从DHCP服务器接收引导数据,这告诉他们谁是引导服务器,他们将在哪里启动文件等等。然而,我需要在同一个子网中添加第二个PXE服务器(创建另一个Vlan现在不是一个选项)。
我在某个地方读到,我可能能够根据某些机器的MAC地址(这种方式选择从哪个服务器启动的计算机)来发送某些参数,但是我无法找到如何做到这一点,谁知道怎么做呢?这是我的解决办法,但我找不到答案。
我的DHCP是windows server 2003。
我有两个服务器运行自定义风格的Linux服务器作为TFTP服务器。有些机器使用数据从服务器1启动,而其他机器必须能够从服务器2启动。
Thx
编辑:我已经选择了答案,但如果有人关心的话,我没有按建议使用链式加载,而是编写了一个gPXE脚本,并在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发布于 2011-06-28 17:21:43
我们在Linux服务器上使用ISC dhcpd3,而不是服务器2003。但是我们确实有两种不同的网络引导环境。PXELinux用于Linux安装,2010用于Windows。
因此,例如,由于我们从DHCP服务器获得TFTP,所以我们的Linux客户端有类似的条目
host linux-host {hardware ethernet 00:01:02:03:04:05;
fixed-address A.B.C.D; filename "pxelinux.0";}Windows客户端有类似的条目
host windows-host {hardware ethernet 00:06:07:08:09:10;
fixed-address A.B.C.E; use-host-decl-names on;
next-server A.B.C.F; option tftp-server-name "A.B.C.F";
option bootfile-name "boot\\x86\\wdsnbp.com";}这是Chopper3上面描述的设置(我认为)。就我个人而言,我永远不会回到Windows服务器。我们有一个Python脚本,它可以在几秒钟内重新生成我们的DHCP配置,这样我们就可以根据需要在引导类型之间切换。
发布于 2011-06-28 17:01:55
您需要的是基于客户端MAC设置BOOTP/DHCP选项66和67的能力。虽然您可以使用默认的Windows服务在全局范围内设置这些选项,但即使使用保留,也没有选择的选项。
在其他DHCP服务器中,我也不知道这种能力,所以另一种可能是在现有的DHCP服务器上设置MAC到IP (因此您知道您的机器在使用什么IP),并使用选项66和67将相同的引导主机和文件分发给每台计算机,但是在发出这些引导文件的机器上,它是否基于源IP分发了不同的文件?
https://serverfault.com/questions/284942
复制相似问题