我知道运行 PXE 服务器的典型设置是 DHCP+TFTP+HTTP/FTP/NFS... 服务器的组合,但我的设置必须只是 DHCP+HTTP,所以我的 dhcpd.conf 有以下几行:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.5 192.168.1.10;
option subnet-mask 255.255.255.0;
...
filename "http://192.168.1.1/pxelinux.0";
}
我使用 iPXE (http://www.ipxe.org) - 可以从 HTTP 服务器获取 pxelinux.0 - 来启动我的客户端。他们会看到一个 pxelinux 菜单,其中有一个运行 Ubuntu 安装程序的选项。它的“APPEND”行如下:
APPEND url=http://192.168.1.1/mountpointisoubuntu/preseed/ubuntu-server.seed
安装过程中一切似乎都很顺利,直到我收到一条错误消息:
The installer failed to process preconfiguration file from http://192.168.1.1/pxelinux.0
我读过Debian 安装指南第 B.2.5 章如果 dhcpd.conf 中有一个 HTTP URL,安装程序会假定它是预置文件的 URL。
我以为附加“url”预置参数会覆盖此行为,但事实并非如此!我该怎么做才能告诉安装程序忘记使用 dhcpd.conf 中的 url 作为预置文件的 url?
答案1
我可以看到两个选项:
- 更改该
APPEND
行,使其使用静态 IP 设置,而不是出去寻找 DHCP。这样它就永远不会看到 DHCPfilename
。 更改您的 DHCP 服务器配置,使其
filename
仅处理来自非 Debian 安装程序的请求。安装指南中给出的示例可以轻松调整:# your normal settings if substring (option vendor-class-identifier, 0, 3) != "d-i" { filename "http://192.168.1.1/pxelinux.0"; }