我在企业环境中工作。我们有许多地点,每个地点都有许多子网,到处都有 Linux 和 Windows。DHCP 服务器位于中心位置(或者说,我们有 2 个 DHCP 服务器,每个服务器处理一半范围的 IP)。
现在我想为所有位置的全面恢复做好准备。因此,基本上我希望 DHCP 服务器保持原位,但我希望查询多个 PXE 服务器。我可以看到我可以为 PXE 服务器添加 n 个不同的 IP 帮助地址。因此我应该能够向所有服务器发送 DHCP 请求。
在许多情况下,我假设我会启动本地 PXE 服务器,并让所有子网使用其预分配的 IP 地址作为 IP 助手之一。但在该服务器运行之前,我希望该位置使用中央 PXE 服务器。
但是,如何配置 PXE 服务器以不分发 IP 地址,而只分发 bootp 服务器和文件名?我假设 PXE 服务器将同时运行 DHCP 和 TFTP,并且我希望 PXE DHCP 服务器仅发送选项 66+67。
很难找到这个过程的解释。据说 PXE 启动设备在获得 IP 后会继续发送 DHCP Discover 数据包。但是我如何识别仅需要用 66+67 回答的数据包?我该如何配置它?
最后,我希望 Linux 和 Windows PXE 服务器都集中在一起。因此,如果一个平台受到影响,它可以从另一个平台进行 PXE 启动。
答案1
您应该让当前的 DHCP 基础架构仅添加代理 DHCP 服务器。当 PXE 客户端发送 DHCPDISCOVERY 广播数据包时,它将同时到达 DHCP 服务器和代理 DHCP 服务器。DHCP 服务器将提供通常的 IP 地址和 DHCP 选项。代理 DHCP 将提供 TFTP 服务器 IP 和 NBP(网络启动程序)的名称(如果客户端不是 PXE 设备,代理 DHCP 将保持静默)。两个服务器将分别发送一个 DHCPOFFER,PXE 客户端将发送 2 个相应的 DHCPREQUEST,并将接收 2 个相应的 DHCPACK。PXE 客户端将汇总收到的信息,设置 TCP/IP 堆栈(ip 地址/dns/默认网关等)和 PXE 信息(TFTP 服务器 IP 和 NBP 名称),然后它将继续执行启动顺序,通过 TFTP 连接 NBP 并从中启动。
不要使用选项 66+67;最好使用 DHCP 字段“文件”和“下一个服务器”只有 proxyDHCP 使用端口 4011;有关更多详细信息,请阅读 PXE 标准,