LINUX.ORG.RU
ФорумAdmin

PXE загрузка и DHCP сервер не праписывая отдельно каждый host?????


0

0

Хочу сделать аналог symantec ghost c возможностью закачки имиджей по сети, для этого использую технологию бездисковых терминалов(root нa nfs) + partimage утилиту с http://www.partimage.org/.
То есть на сервере подняты dhcpd, tftp, и nfs. Терминал может грузиться с дискеты используя loadlin.sys из пакета syslinux,
а так-же с PXE сетевой карты используя pxelinux из того-же пакета syslinux.
Всё это уже работает, но есть один очень не удобный момент,
если я хочу грузиться с дискеты, то ip адреса выдаються из спула
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.200 192.168.1.254;
}
корневая файловая система монтируеться и всё работает.
но если хочу грузиться с сетевой карты, то мне приходиться прописывать каждый host отдельно в /etc/dhcpd.conf,без этого машина не грузиться, как только пропишу её MAC-адрес, то всё работает,
это всё очень не удобно(совсем мне не подходит, необходимо закачивать имиджи на постоянно меняющиеся компьютеры).
в документации с PXELINUX написано, что это необходимо делать,
# Group the PXE bootable hosts together
group {
# PXE-specific configuration directives...
option dhcp-class-identifier "PXEClient";
next-server pxe_boot_server_address;
# You need an entry like this for every host
# unless you're using dynamic addresses
host hostname {
hardware ethernet ethernet_address;
fixed-address hostname;
}
}
но можеть быть есть какойто выход, чтоб при загрузки через PXE не надо было вписывать каждый host отдельно.
Было бы очень замечательно, приноситься новый компьютер на набивку,
вы ему ставите загрузка по LAN и всё, а так приходиться грузиться с дискеты, конечно можно сделать загрузку с CD-ROMа, но для полноты картины хотелось бы и через LAN.
Может у кого-то есть какие мысли?

anonymous

    ++++ HOW TO CONFIGURE PXELINUX ++++

PXELINUX operates in many ways like SYSLINUX.  If you are not familiar
with SYSLINUX, read syslinux.doc first, since this documentation only
explains the differences.

On the TFTP server, create the directory "/tftpboot", and copy the
following files to it:

        pxelinux.0              - from the SYSLINUX distribution

        any kernel or initrd images you want to boot

Finally, create the directory "/tftpboot/pxelinux.cfg".  The
configuration file (equivalent of syslinux.cfg -- see syslinux.doc for
the options here) will live in this directory.  Because more than one
system may be booted from the same server, the configuration file name
depends on the IP address of the booting machine.  PXELINUX will
search for its config file on the boot server in the following way:

  First, it will search for the config file using its own IP address
  in upper case hexadecimal, e.g. 192.0.2.91 -> C000025B
  (you can use the included progam "gethostip" to compute the
  hexadecimal IP address for any host.)

  If that file is not found, it will remove one hex digit and try
  again.  Ultimately, it will try looking for a file named "default"
  (in lower case).

  As an example, for 192.0.2.91, it will try C000025B, C000025,
  C00002, C0000, C000, C00, C0, C, and default, in that order.

(See also the section on special DHCP options.)

It should be noted that all filename references are relative to the
directory pxelinux.0 lives in (usually /tftpboot).  PXELINUX
generally requires that filenames (including any relative path) are 63
characters or shorter in length.


У меня сделано так:

[office-server]/home/snork# grep tftp /etc/inetd.conf 
tftp           dgram   udp     wait    root  /usr/sbin/in.tftpd -s /opt/tftp

[office-server]/home/snork# ls -laR /opt/tftp/
/opt/tftp/:
итого 1274
drwxr-xr-x    3 root     root          144 2003-11-04 14:05 .
drwxr-xr-x    4 root     root           96 2003-12-08 14:49 ..
-rw-r--r--    2 root     root        11168 2003-06-11 12:56 pxelinux.0
drwxr-xr-x    2 root     root           72 2003-11-06 17:05 pxelinux.cfg
-rw-r--r--    1 root     root      1289553 2003-11-04 13:24 vmlinuz-zlat1

/opt/tftp/pxelinux.cfg:
итого 5
drwxr-xr-x    2 root     root           72 2003-11-06 17:05 .
drwxr-xr-x    3 root     root          144 2003-11-04 14:05 ..
-rw-r--r--    1 root     root          107 2003-11-06 17:05 C

[office-server]/home/snork# cat /opt/tftp/pxelinux.cfg/C
DEFAULT vmlinuz-zlat1
IAPPEND 1
APPEND root=/dev/nfs nfsroot=192.168.0.1:/mnt/wsroot/default/root ip=dhcp


PS. не вижу анонимусов.

Zulu ★★☆☆
()
Ответ на: комментарий от Zulu

У меня проблема появляеться немного раньше, чем в приведённом выше примере.То есть проблема между PXE загрузчик<-->DHCPD сервер.
У меня PXE загрузчик сетевой карты, при включении компьютера не получает IP адрес, из выделенного спула,
если её MAC адрес не прописан в /etc/dhcpd.conf.
Хотя если я гружу ядро с дискеты, то ядро получает IP адрес от dhcpd сервера.
Приведите пожайлуста пример вашего /etc/dhcpd.conf файла.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.