Я установил новый сервер Cobbler и настроил его как сервер DHCP / TFTP. Я настроил /etc/dhcp/dhcpd.conf так:
[root@centolel ~]# cat /etc/dhcp/dhcpd.conf
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
option boot-server code 66 = string;
option option-66 code 66 = text;
option pxe-system-type code 93 = unsigned integer 16;
authorative;
subnet 10.13.0.0 netmask 255.255.255.0 {
option routers 10.13.0.138;
option domain-name-servers 10.13.0.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 10.13.0.20 10.13.0.150;
default-lease-time 3600;
max-lease-time 3600;
next-server 10.13.0.1;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
if option pxe-system-type = 00:02 {
filename "ia64/elilo.efi";
} else if option pxe-system-type = 00:06 {
filename "grub/grub-x86.efi";
} else if option pxe-system-type = 00:07 {
filename "grub/grub-x86_64.efi";
} else {
filename "pxelinux.0";
}
}
}
Я создал новую виртуальную машину и настроил ее для загрузки по сети.
Идея состоит в том, что cobbler (dhcp) предложит IP-адрес вновь созданной виртуальной машине и выполнит установку CentOS 6.
Когда я перезагружаю только что созданную виртуальную машину, я вижу следующие строки:
gPXE 0.9.7 -- Open Source Boot Firmware....
net0: 52:54:00:41:a7:91 on PCI00:03.0 (open)
[Link:up, TX:0 TXE:0 RX:0 RXE:0]
Waiting for link-up on net0... ok
DHCP (net0 52:54:00:41:a7:91)... ok
net0: 10.13.0.19/255.255.255.0 gw 10.13.0.138
No filename or root path specified
No more network devices
Booting from Hard Disk...
Boot failed: not a bootable disk
.
.
.
Как вы можете видеть, он получает IP, который не входит в диапазон "dynamic-bootp" ... 10.13.0.19, тогда как диапазон начинается с 10.13.0.20.
Глядя на /var/log/messages
сервера Cobbler сразу после перезагрузки виртуальной машины я вижу следующее:
Jun 29 18:52:07 localhost dhcpd: DHCPDISCOVER from 52:54:00:41:a7:91 via br0
Jun 29 18:52:08 localhost dhcpd: DHCPOFFER on 10.13.0.101 to 52:54:00:41:a7:91 via br0
Jun 29 18:52:08 localhost dhcpd: DHCPDISCOVER from 52:54:00:41:a7:91 via br0
Jun 29 18:52:08 localhost dhcpd: DHCPOFFER on 10.13.0.101 to 52:54:00:41:a7:91 via br0
Jun 29 18:52:10 localhost dhcpd: DHCPREQUEST for 10.13.0.19 (10.13.0.138) from 52:54:00:41:a7:91 via br0: unknown lease 10.13.0.19.
Jun 29 18:52:13 localhost kernel: br0: port 2(vnet0) entering forwarding state
Содержание /var/lib/tftpboot
:
[root@centolel ~]# ll /var/lib/tftpboot/
total 332
drwxr-xr-x 3 root root 4096 2015-06-29 18:38 boot
drwxr-xr-x 2 root root 4096 2015-06-22 21:08 etc
drwxr-xr-x 2 root root 4096 2015-06-29 18:38 grub
drwxr-xr-x 4 root root 4096 2015-06-29 18:38 images
drwxr-xr-x 2 root root 4096 2015-06-22 21:08 images2
-rw-r--r--. 2 root root 24988 2014-04-15 17:36 memdisk
-rw-r--r-- 2 root root 54964 2015-06-14 14:25 menu.c32
drwxr-xr-x 2 root root 4096 2015-06-22 21:08 ppc
-rw-r--r-- 2 root root 16794 2015-06-14 14:25 pxelinux.0
drwxr-xr-x 2 root root 4096 2015-06-29 18:43 pxelinux.cfg
drwxr-xr-x 2 root root 4096 2015-06-29 18:38 s390x
-rw-r--r-- 2 root root 198236 2015-06-14 14:25 yaboot
Запуск команды cobbler sync
завершается сообщением «ЗАДАЧА ВЫПОЛНЕНА !!».
Поэтому мне интересно, почему сервер специально запрашивает этот адрес, который не является частью диапазона, и мне также интересно, почему он не может найти изображения ... какие-либо идеи?
В вашей сети может быть другой конкурирующий DHCP-сервер. Выполнение захвата трафика с помощью Wireshark может помочь вам определить эту проблему.
Кстати
range dynamic-bootp 10.13.0.20 10.13.0.150;
option routers 10.13.0.138;
IP-адрес маршрутизатора находится в пределах диапазона назначения; не хорошо.