如何从位于不同网络的 PXE 服务器启动
05/25/2020
本文内容
本文介绍如何从不同网络的 PXE 服务器启动。
原始产品版本: Configuration Manager
原始 KB 编号: 4471003
PXE 启动过程
通常,客户端计算机根据以下过程使用 PXE 协议从网络启动。 它涉及三方:DHCP 服务器、PXE 服务器和客户端:
客户端计算机广播 DHCP 数据包,该数据包要求 DHCP 和 PXE 服务器的地址。
DHCP 服务器响应,发送广播数据包,告知客户端它是地址服务器。
PXE 服务器响应客户端并报告它是启动服务器。
客户端向 DHCP 服务器发送请求以请求 IP 地址。
DHCP 服务器将 IP 地址发送到客户端。
客户端向 PXE 服务器发送请求,以请求 NBP (网络启动) 。
PXE 服务器响应,发送 NBP 路径。
客户端下载并运行 NBP。
完成此过程后,基本 PXE 启动已完成,但客户端和 PXE 服务器之间将有更多的交互。 它由 NBP 实现控制。 例如,WINDOWS 部署服务 (WDS) NBP 实现将需要自定义启动文件的路径 (pxeboot.com 或 bootmgfw.efi) 。 该实现将下载并运行自定义启动文件。 然后,WINDOWS 映像 (WIM) 文件以及 Windows PE 需要的其他文件将下载。
如果客户端和服务器位于同一网络上,则前面提到的八个步骤通常可以正常工作。 当客户端和服务器位于不同的网络上时,确保客户端无需使用 DHCP 选项即可从网络启动的建议方法是配置路由器。
建议的方法 - IP 帮助程序
路由器必须能够将客户端请求从客户端网络路由到 DHCP 服务器的网络。 一个这样的简单路由器规则是 IP 帮助程序。 帮助程序只是告诉路由器将 DHCP 请求转发到 DIP 服务器的已知 IP 地址。
对于 PXE 请求,只需将路由器配置为将客户端请求转发到 PXE 服务器,就像使用 DHCP 服务器一样。 找到路由器,查找 DHCP IP 帮助程序条目,并添加另一个条目,该条目与第一个条目完全相同,但使用 PXE 服务器的 IP 地址。 有关详细信息,请参阅博客文章 你想要 PXE 启动?请勿使用 DHCP 选项。
此外,您可以为每台 PXE 服务器添加 IP 帮助程序条目。 在负载平衡方案中 (多个 PXE 服务器) ,PXE 服务器可以在组中向上或向下运行,无需执行任何额外配置。 在 Windows (Linux 和路由器 PXE 服务器都共存于) 的不同环境中,不同的 PXE 服务器可以有选择地响应它们识别的客户端。
有问题的方案
若要将 DHCP 服务器配置为响应 PXE 请求,您可以尝试向 DHCP 答复添加 PXE 选项。 它会导致客户端始终下载网络启动文件 (DHCP 回复文件中指定) 运行该文件。
在某些 UEFI 设置方案中存在问题。 在将客户端配置为从网络启动启动后,客户端可能不会尝试从硬盘驱动器启动。 但是网络启动失败,例如,客户端没有任务序列部署。 它对于混合操作系统环境也存在问题。 DHCP 服务器会指示 Linux 计算机下载并运行 Windows 网络启动程序。
因此,在某些情况下,让 DHCP 服务器假名为 PXE 服务器无法如期工作。 真正的 PXE 服务器决定是否响应网络启动文件并提供服务。 在 Configuration Manager 情况下,服务器将仅在有任务序列部署到客户端时做出响应。