我正在尝试设置一个 PXE 启动服务器,以便使用 pxelinux.0 轻松部署 CloneZilla 映像。我在服务器上运行了一个 tftp-hpa 服务器,我用客户端对其进行了测试,它运行良好。我们使用 FortiNet 路由器作为 DHCP 服务器,因此我添加了以下内容:
set option1 66 '3139322e3136382e302e313533'
set option2 67 '7078656c696e75782e30'
这将转换为 192.168.0.153(选项 66)和 pxelinux.0(选项 67)。我转储了 DHCP 提供数据包进行检查,这似乎是正确的。但是,当我尝试在 PXE 上启动一个空的 VMware 工作站 VM 进行检查时,它确实收到了选项,但它向 DHCP 服务器(192.168.0.1)请求文件 pxelinux.0,完全忽略了选项 66。这是否是正常行为?我见过提到选项 43 和 60,但我知道它仅用于 Microsoft 环境。也许我应该将这些选项设置为某个值,以便使用选项 66?
答案1
找到了一种让它工作的方法。看起来选项 66 实际上并没有被任何人使用,而是使用了协议的下一个服务器部分。不幸的是,我无法在我的 Fortinet 固件版本上更改它,它会自动设置为自己的地址,所以我添加了一个策略来将进入 Fortinet 端口 69(tftp)的流量重定向到实际的 TFTP 服务器,它工作得很好。这不是一个很好的解决方案,但至少它是有效的。