我在 Ubuntu 9.10 上安装了 ISC DHCP 服务器。我已成功启动 PXE 客户端、获取 DHCP 地址并加载 initrd.gz 文件。但当 Debian 安装程序启动并尝试获取 DHCP 服务器时,我遇到了一个模糊的问题
客户端发送 DHCP 请求,我确认是相同的 MAC 地址。但我收到 DHCP DECLINE(客户端拒绝该地址)。它提供池中的所有地址,然后出现 DHCP NAK(不再有免费租约)
我尝试使用选项 no-ping 和选项 one-client-one-lease,但没有帮助。
如果我将客户端设置为使用固定地址,则上述问题就不会出现,安装将顺利进行
您能给我一些关于 DHCP 服务器配置的提示吗?
我的 dhcpd.conf 如下所示
{
ddns-update-style none;
option domain-name "hadoop-myorg.org";
option domain-name-servers 192.168.3.5;
default-lease-time 600;
max-lease-time 7200;
group {
filename "pxelinux.0";
next-server 192.168.13.184;
host hadoop1 { hardware ethernet 90:e6:ba:d5:53:f8; }
}
subnet 192.168.13.0 netmask 255.255.255.0 {
option routers 10.0.0.254;
pool {
option domain-name-servers 192.168.3.5;
max-lease-time 3000;
range 192.168.13.55 192.168.13.65;
deny unknown-clients;
}
}
}
答案1
您使用的 syslinux 是哪个版本 (syslinux 提供您的 pxelinux.0 文件)?如果不是最新版本,请尝试升级。
你在 pxelinux.cfg 文件中使用了 IPAPPEND 1 吗?这会告诉 pxelinux明确地传递安装程序的 IP 地址和网关。
我发现您的配置的一个问题是您的路由器值超出了 DHCP 子网。这可能不会像您希望的那样工作,并且很可能是安装程序拒绝它的原因。“选项路由器”的值应该是您的网关。对于最常见的网络设置,该值应该是 192.168.13.1
答案2
仔细查看ifconfig
DHCP 服务器上的。确保广播和网络掩码正确。
答案3
拒绝地址的原因似乎是客户端问题。是否已正确配置以使用 DHCP 地址。尝试手动运行 dhclient。
答案4
我在 Ubuntu 9.10 上使用 isc-dhcpd 时也遇到了同样的问题。最终我升级了操作系统,并随附了新的 isc-dhcpd-server 软件包。
这里可能多一点信息会有帮助,但在我看来这似乎是客户端的问题。在 pxe 启动中,执行不佳的 tftp 客户端有时会发生类似的事情,但我认为您还没有到达 pxe 部分,对吗?
如果您可以访问它,请尝试在客户端上运行 gpxe。它现在安装在许多 BIOS 系统中。此外,dhclient 和 wireshark 可用于排除 dns 故障。老式的方法是尝试在具有不同 dhcp 实现的不同子网上运行它,例如 Junipers 甚至 MS Windows。此外,请确保您的子网上一次只运行一个 dhcp 服务器,否则可能会造成混乱。