![从 PXE 网络启动](https://linux22.com/image/506658/%E4%BB%8E%20PXE%20%E7%BD%91%E7%BB%9C%E5%90%AF%E5%8A%A8.png)
我需要使用网络启动服务器。但是,DHCP 服务器指向了错误的启动映像文件名和服务器。我无法更改 DHCP 服务器本身,因为它由另一个部门控制。我只需要为 PC 指定一个初始启动的 IP。有没有办法不通过 DHCP 服务器来做到这一点?英特尔启动代理中有设置吗?还是在 Debian 内部?谢谢。
答案1
不,您需要与运行 DHCP 服务器的人员交谈,或者将目标主机放在网络的某个部分(例如,不同的 VLAN)上,该部分看不到该 DHCP 服务器,然后设置您自己的 DHCP 服务器。
请注意,如果您设置自己的 DHCP 服务器,即使是 heavyd 提到的 proxyDHCP,也应该小心,因为很容易开始为不应该提供的客户端提供 DHCP,这会让您的网络管理员非常恼火……
答案2
您可以使用代理 DHCP提供 PXE 启动信息,而无需接触 DHCP 服务器管理 IP 地址。有一个很好的文章在 Ubuntu 上描述了如何配置域名系统执行代理 DHCP。由于您提到了 Debian,因此您需要使用测试存储库(v2.48 或更高版本)以获取 ProxyDHCP 功能。
文章注释:
“真正的” PXE 客户端确实支持代理 DHCP 规范,最近的(> 2009 年 5 月) gPXE 客户端也是如此。但较旧的 etherboot 客户端可能无法从代理 DHCP 服务器获取其启动信息,因此对于这些客户端,需要正常的 DHCP 服务器(正常 DHCP 模式下的 dhcp3-server 或 dnsmasq)。
所以,YMMV。此外,如果您管理 IP 地址的 DHCP 服务器已经响应 PXE 启动信息,则标准没有定义如果收到多个响应时应该发生什么。
答案3
如果当前 DHCP 已经提供启动信息,则无法阻止客户端获取该信息。您可以使用代理 DHCP 提供替代启动信息,并添加 mac 过滤器,仅将该信息提供给所需的启动 PC,而不会干扰网络。但启动站仍将收到 2 个完全有效的启动信息。尚未定义客户端可能采用哪一个并最终从中启动。如前所述,您唯一安全的做法是以某种方式“网络”隔离启动客户端。