我试图在Cisco UCS C240机架式服务器上使用Cobbler进行Ubuntu 12.04的networking安装。 Cobbler正在pipe理我的DHCP服务器(ISC),它被configuration为根据服务器的MAC地址分发固定的IP地址。 下面是一个来自/etc/dhcp/dhcpd.conf的相关部分,cobbler自动生成:
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地址/networking掩码和网关手动configurationnetworking,则安装会成功完成)。
当我在运行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
从我所读到的,客户端将发送一个DHCPDECLINE后,做一个ARP探测器,看看是否有另一台机器上的networking已经提供的IP地址。 我认为Ubuntu的安装程序使用BusyBox中的udhcpc,并从代码中看出,这似乎是udhcpc所做的。
但是,当我从cobbler节点使用arping时,我无法find该networking上具有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地址? 或者,为什么它可能会拒绝地址?
我在Google中发现了一个类似的问题: http : //www.linuxquestions.org/questions/linux-networking-3/dhcpdecline-of-ipaddress-from-mac-via-interface-not-found-838369/
您的路由器选项有错误:它不在同一个子网中,因此无法被发现。
option routers 10.10.0.1而不是option routers 10.30.0.1
希望这个帮助!