guest_user@Enrico204_site:/$ _  
.: Home :: Blog :: Chi sono :: Attività :: HowTo :: Appunti vari :: Software :: Files :.

Network Boot

Indice:
  1. Installare un server TFTP
  2. Installare un server DHCP

Molte volte capita, in luoghi "affollati" (installfest, ecc.) di necessitare un qualche sistema per avviare da rete un PC (per installare o per avviare un sistema). In questo howto vedremo come configurare una macchina debian per fare questo lavoro.

Installare un server TFTP

Se non abbiamo installato già un server TFTP, è il caso di farlo:

$ apt-get install tftpd-hpa

TFTP è un protocollo molto simile all'ftp, ma molto più "snello" (non c'à autenticazone, ecc.), ottimo per caricare solo un kernel.

Ora, per far partire il demone tftpd, ci tocca modificare il file di configurazione /etc/default/tftpd-hpa , modificando la variabile RUN_DAEMON a "yes". E quindi avviamo il servizio:

$ /etc/init.d/tftpd-hpa start

Ora andiamo in /var/lib/tftpboot/ e creiamo la directory pxelinux.cfg

$ mkdir pxelinux.cfg

E quindi creiamo un file chiamato "default" contenente:

DISPLAY boot.txt

DEFAULT primaetichetta

LABEL primaetichetta
        kernel linux
        append vga=normal initrd=initrd.gz  --

PROMPT 1
TIMEOUT 0

Questo file contiene le stringhe accettate per l'avvio (come fosse il menu di lilo), con la differenza che non scrive da solo il menu, ma dobbiamo dirgli di usare boot.txt, dove possiamo scrivere un testo descrittivo per indicare all'utente cosa è disponibile.

A questo punto abbiamo bisogno di "pxelinux.0", un "kernel" che non fa altro che prendere quel file di configurazione e farci scegliere il kernel vero da avviare.

$ wget http://ftp.uk.debian.org/debian/dists/etch/main/installer-i386/current/images/netboot/debian-installer/i386/pxelinux.0

(il file lo si può trovare anche nella sezione "Files")

Installare un server DHCP

Ora ci occorre qualcuno che dica al client dove trovare il file, e con quale indirizzo il client risponde. Tale protocollo è il DHCP.

Installiamo il demone dhcp3:

$ apt-get install dhcp3-server

Una volta installato, modifichiamo il file di configurazione /etc/dhcp3/dhcpd.conf . Qui di seguito una configurazione di esempio "minima":

option domain-name-servers 62.31.64.39, 62.31.112.39;
default-lease-time 86400;
max-lease-time 604800;
authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.70 192.168.1.100;
        filename "pxelinux.0";
        next-server 192.168.1.50;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.1.255;
        option routers 192.168.1.1;
}

Se si desidera, si possono anche specificare file diversi per diversi host: in questo modo alcuni PC possono direttamente avviarsi con un kernel, oppure si può evitare di mettere la direttiva "filename" nella sezione principale, inserendola solo in determinati host, in modo che solo quelli possano fare l'avvio da rete. Ecco un esempio di sezione "host-based" (più che altro, MAC based) da poter aggiungere:

host pcavviatodarete {
        hardware ethernet 00:00:00:00:00:00;
        filename "pxelinux.0";
}
Tutte le "trascrizioni" sono le mie "esperienze" che ho acquisito facendo di tutto nel tempo libero.

I contenuti di questo sito sono stati prodotti da me, e possono essere ridistribuite sotto licenza Creative Commons BY-NC-ND 3.
In qualsiasi caso gradirei essere contattato...

La grafica è liberamente ispirata a soft-land.org.

Enrico Bassetti - Contattami

Valid XHTML 1.0 Transitional :: Creative Commons License
Attribuzione - Non Commerciale - No opere derivate 3.0 Generico