我正在尝试在Cisco UCS C240机架式服务器上进行Ubuntu 12.04的网络安装,使用Cobbler进行配置. Cobbler正在管理我的DHCP服务器(ISC),它配置为根据服务器的MAC地址分发固定的IP地址.这是cobbler自动生成的/etc/dhcp/dhcpd.conf中的相关部分:
group {
host generic4 {
hardware ethernet 2a:2c:b2:b4:f7:1a;
fixed-address 10.10.0.153;
option host-name "compute-3";
option subnet-mask 255.255.255.0;
option routers 10.30.0.1;
filename "/pxelinux.0";
next-server 10.10.0.131;
}
}
机器(compute-3)能够成功进行PXE引导并启动Ubuntu安装过程.但是,当安装程序到达尝试通过DHCP获取IP地址的部分时,它将失败. (此时,如果我使用相同的IP地址/网络掩码和网关手动配置网络,则安装成功完成).
当我在运行DHCP服务器的cobbler节点上检查/ var / log / syslog时,我看到服务器提供了一个IP地址,但客户拒绝了它:
Mar 11 21:51:03 compute-1 dhcpd: DHCPDISCOVER from 2a:2c:b2:b4:f7:1a via eth2
Mar 11 21:51:03 compute-1 dhcpd: DHCPOFFER on 10.10.0.153 to 2a:2c:b2:b4:f7:1a via eth2
Mar 11 21:51:03 compute-1 dhcpd: DHCPREQUEST for 10.10.0.153 (10.10.0.131) from 2a:2c:b2:b4:f7:1a via eth2
Mar 11 21:51:03 compute-1 dhcpd: DHCPACK on 10.10.0.153 to 2a:2c:b2:b4:f7:1a via eth2
Mar 11 21:51:03 compute-1 dhcpd: DHCPDECLINE of 10.10.0.153 from 2a:2c:b2:b4:f7:1a via eth2: not found
根据我的阅读,客户端将在执行ARP探测后发送DHCPDECLINE,以查看网络上的另一台计算机是否已具有提供的IP地址.我认为Ubuntu的安装程序使用来自BusyBox的udhcpc,而从looking at the code开始,这似乎是udhcpc所做的.
但是,当我从cobbler节点使用arping时,我找不到该网络上有10.10.0.153的任何其他机器.也就是说,直到DHCP进程开始安装,之后我确实看到compute-3的MAC地址2a:2c:b2:b4:f7:1a与该IP地址相关联.
# arping 10.10.0.153
ARPING 10.10.0.153
60 bytes from 2a:2c:b2:b4:f7:1a (10.10.0.153): index=0 time=118.017 usec
60 bytes from 2a:2c:b2:b4:f7:1a (10.10.0.153): index=1 time=74.148 usec
60 bytes from 2a:2c:b2:b4:f7:1a (10.10.0.153): index=2 time=48.876 usec
可能导致此行为的可能失败模式有哪些?为什么客户会认为其他人拥有该IP地址?或者,为什么它可能会拒绝地址呢?