Я пытаюсь выполнить сетевую установку Ubuntu 12.04 на стоечных серверах Cisco UCS C240, используя Cobbler для обеспечения. Cobbler управляет моим DHCP-сервером (ISC), который настроен на выдачу фиксированных IP-адресов на основе MAC-адреса сервера. Вот соответствующий раздел из /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. Однако, когда установщик достигает той части, где он пытается получить IP-адрес через DHCP, он терпит неудачу. (На этом этапе, если я вручную настрою сеть с тем же IP-адресом / сетевой маской и шлюзом, установка завершится успешно).
Когда я просматриваю / var / log / syslog на узле cobbler, на котором работает DHCP-сервер, я вижу, что сервер предлагает 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-зондирования, чтобы увидеть, есть ли у другой машины в сети уже предложенный IP-адрес. Я думаю, что установщик Ubuntu использует udhcpc из BusyBox, а из глядя на код, похоже, именно это и делает udhcpc.
Однако, когда я использую arping из узла cobbler, я не могу найти в этой сети другие машины с 10.10.0.153. То есть до тех пор, пока не начнется процесс DHCP для установки, после чего я действительно вижу MAC-адрес compute-3, 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
Надеюсь на эту помощь!
Если IP-адрес уже занят в той же подсети, dhcpd отправит ACK с последующим DECLINE.
Убедитесь, что нет хоста, статически настроенного с таким же IP-адресом.