Server PXE · 3 min read · Sep 14, 2025

Impostare un server di installazione PXE per più distribuzioni Linux con Ubuntu Edgy Eft

Impostare un server di installazione PXE per più distribuzioni Linux con Ubuntu Edgy Eft

Versione 1.0
Autore: Falko Timme

Questo tutorial mostra come impostare un server di installazione PXE (abbreviazione di p reboot e x ecution e nvironment) con Ubuntu 6.10 (Edgy Eft). Un server di installazione PXE consente ai computer client di avviarsi e installare una distribuzione Linux tramite la rete, senza la necessità di masterizzare immagini iso di Linux su un CD/DVD, immagini di floppy avviabili, ecc. Questo è utile se i tuoi computer client non hanno unità CD o floppy, o se desideri configurare più computer contemporaneamente (ad esempio, in una grande azienda), o semplicemente perché vuoi risparmiare i soldi per i CD/DVD. In questo articolo mostro come configurare un server PXE che ti consente di avviare più distribuzioni: Ubuntu Edgy/Dapper, Debian Etch/Sarge, Fedora Core 6, CentOS 4.4, OpenSuSE 10.2 e Mandriva 2007.

Voglio dire prima di tutto che questo non è l’unico modo per impostare un sistema del genere. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo che scelgo. Non rilascio alcuna garanzia che questo funzionerà per te!

1 Nota preliminare

È importante avere una connessione internet decente perché i tuoi computer client scaricheranno tutti i pacchetti necessari dai repository su internet (ho testato questo su una connessione ADSL2+ a 16MBit che sembra essere abbastanza veloce. ;-)). È possibile memorizzare tutti i pacchetti sul server PXE in modo da non aver bisogno di una connessione internet (solo la connessione LAN al server PXE), ma in tal caso avrai bisogno di molto spazio di archiviazione sul server PXE (ricorda, servirà più distribuzioni), quindi non ne parlo qui.

E la cosa più importante è che i tuoi computer client supportino l’avvio tramite rete. Dovresti controllare il BIOS di ogni computer per questa opzione.

Sul nostro sistema che dovrebbe fungere da server PXE dovresti aver già impostato un sistema server Ubuntu 6.10 di base, ad esempio come mostrato nelle pagine 1 - 3 di questo tutorial: https://www.howtoforge.com/perfect_setup_ubuntu_6.10

Preferisco eseguire tutti i passaggi qui come utente root. Quindi, se non hai già creato un login root, dovresti farlo ora:

sudo passwd root

Dopo, accedi come root:

su

Se desideri lavorare come utente normale invece di root, ricorda di mettere sudo davanti a tutti i comandi mostrati in questo tutorial. Quindi, quando eseguo

apt-get update

dovresti eseguire

sudo apt-get update

invece, ecc.

2 Installa tutti i pacchetti necessari

Per prima cosa aggiorniamo il nostro database dei pacchetti eseguendo

apt-get update

Dobbiamo installare i pacchetti netkit-inetd, tftpd-hpa, dhcp3-server e lftp, quindi eseguiamo

apt-get install netkit-inetd tftpd-hpa dhcp3-server lftp    

Dopo, esegui

netstat -uap

e controlla se vedi qualcosa del genere:

root@server1:~# netstat -uap
Connessioni Internet attive (server e stabilite)
Proto Recv-Q Send-Q Indirizzo locale Indirizzo estero Stato PID/Nome programma
udp 0 0 *:tftp

Se non vedi la riga tftp, apri /etc/inetd.conf e assicurati di trovare quanto segue:

vi /etc/inetd.conf

| [...] #:BOOT: Il servizio Tftp è fornito principalmente per l'avvio. La maggior parte dei siti # lo esegue solo su macchine che fungono da "server di avvio." tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot [...] |

Poi riavvia inetd:

/etc/init.d/inetd restart

3 Configura il server DHCP

Abbiamo bisogno di un server DHCP nella nostra rete locale. Se non c’è un server DHCP nella tua rete locale, configura e utilizza quello sul tuo futuro server PXE. Modifica semplicemente /etc/dhcp3/dhcpd.conf:

cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_orig
cat /dev/null > /etc/dhcp3/dhcpd.conf

vi /etc/dhcp3/dhcpd.conf

| option domain-name-servers 145.253.2.75, 193.174.32.18; times di affitto predefiniti 86400; tempo massimo di affitto 604800; autoritativo; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; filename "pxelinux.0"; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |

Questo assegnerà dinamicamente indirizzi IP dall’intervallo 192.168.0.10 a 192.168.0.49 ai tuoi computer client; il gateway è 192.168.0.1. Naturalmente, devi adattare questa configurazione al tuo ambiente!

È importante che tu abbia la riga

filename "pxelinux.0";

nella tua configurazione!

Poi riavvia il tuo server DHCP:

/etc/init.d/dhcp3-server restart 

Se hai già un server DHCP nella tua rete, devi modificare la sua configurazione. Supponiamo che tu abbia qualcosa del genere

| subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; } |

nella configurazione. Devi aggiungere

filename “pxelinux.0”;
next-server 192.168.0.100;

ad essa (dove 192.168.0.100 è l’indirizzo IP del nostro server PXE Ubuntu) in modo che appaia così:

| subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.10 192.168.0.49; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; filename "pxelinux.0"; next-server 192.168.0.100; } |

Poi riavvia il tuo server DHCP.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.