Questo articoletto è il primo di una serie per poter configurare un insieme di macchine diskless per effettuare boot via rete e caricamento della partizione di sistema tramite NFS. Lo divido perchè so bene già che mi ci vorrebbe troppo per scriverlo tutto insieme e finirei per rinunciare del tutto :P
Qui copro la parte di configurazione del server DHCP che comunica ai client che è possibile effettuare il boot da rete, e TFTP che si occupa di sparare via UDP il kernel da avviare. Funziona con qualsiasi distribuzione linux, io la uso con una debian lenny con XFCE e kernel 386 che boota praticamente ovunque, per effettuare le installazioni di ubuntu e debian (netinst) senza usare CD-ROM ed infine per sysrescuecd.
Cominciamo con l'installare il server tftpd:# apt-get install tftpd-hpa
Configuriamo il server tftp# nano -w /etc/default/tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
Scarichiamo il binaro pxelinux e configuriamo il file di default (è possibile discriminare più file di configurazione pxelinux in base al mac address della scheda di rete che sta tentando di effettuare il boot da rete)# cd /var/lib/tftpboot
# wget http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/pxelinux.0
# mkdir pxelinux.cfg
# nano -w pxelinux.cfg/default
DISPLAY boot.txt
DEFAULT debian-install
LABEL debian-install
kernel debian-installer/i386/linux
append vga=normal initrd=debian-installer/i386/initrd.gz locale=it --
PROMPT 1
TIMEOUT 100
Ora basta buttare in /var/lib/tftpboot tutto il contenuto di http://ftp.debian.org/debian/dists/etch/main/installer-i386/current/imag... e il gioco è fatto.
Rimane da configurare DHCP.
Ho provato sia con il classico dhcp3-server (apt-get install) dove basta aggiungere una direttiva nella definizione di un range:# nano -w /etc/dhcp3/dhcpd.conf
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.51 192.168.1.89;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
filename "pxelinux.0"; ## che è quello nella root del server tftp
next-server 192.168.1.10; ## ip server tftp, qui è diverso dal server dhcp
}
che con dnsmasq (apt-get install):# nano -w /etc/dnsmasq.conf
dhcp-boot=pxelinux.0,192.168.1.10,192.168.1.10
Add new comment