在自动安装服务器时,我不明白如何解决先有鸡还是先有蛋的问题。
我有一系列可以通过 PXE 重建的服务器。当一台机器被重建时,它会从一个 Apache 服务器加载它需要的所有设置——包括它在以后使用不同服务时用来验证自己的私有证书。此 Apache 服务器通过其 IP 地址识别客户端,以便为它们提供用于给定服务器的配置或证书,或者拒绝提供它。
但是,客户端的 IP 地址可能会被欺骗。MAC地址也一样,如果在某个时候我也添加了这种验证。
为了安全地获取其配置和私有证书,通过 PXE 引导的机器应该已经有一个证书,它可以在与 Apache 服务器通信时使用它。但是,这看起来不太可能,因为从 PXE 引导的机器要么是全新的,要么会在安装过程中格式化其磁盘。
我错过了什么吗?如何在没有欺骗风险的情况下识别新机器?
我应该使用包含私钥的始终连接的 USB 密钥吗?或者还有其他选择吗?
为此,我们使用工头的bootdisk 插件。我并不是说这是正确或独特的方式,而是我们成功使用的方式。
每次需要(重新)配置主机时,都会生成一个短暂的令牌,并将其保存在与主机耦合的数据库中。这个令牌进入一个带有 ipxe 二进制文件的 iso 文件和一个脚本,只有当它提供正确的令牌作为标识符时,它才会从配置主机下载 kicstart 文件。配置主机后,令牌将被删除。在特定(可调,我的头顶默认为 60 分钟)之后,令牌无效。
这适用于作为 uefi 固件的 bios,不需要 pxe,只需 http(s),因此您可以真正进行互联网部署,只需少量修改(便于在远程位置部署硬件)。