Il server DHCP (Dynamic Host Configuration Protocol [1] ) permette di controllare la configurazione di rete di tutti i computer o dispositivi collegati alla LAN. Quando un computer (o un dispositivo come una stampante, smartphone, etc.) si connette alla rete il DHCP gli assegna automaticamente un indirizzo IP valido e effettua la configurazione di DNS e gateway.
Nota
Nella maggior parte dei casi i dispositivi sono già configurati per utilizzare il protocollo DHCP.
La specifica PXE (Preboot eXecution Environment [3]) consente ad un dispositivo di scaricare da rete il sistema operativo all’avvio da una postazione di rete centralizzata, mediante i protocolli DHCP e TFTP. Vedere Configurazione per l’avvio da rete per un esempio su come configurare un caso simile.
Il server DHCP può essere abilitato su tutte le interfacce green e blue (vedi Rete). NethServer Enterprise sceglierà un indirizzo IP libero all’interno dell”intervallo DHCP configurato nella pagina DHCP > Server DHCP.
L’intervallo DHCP deve appartenere alla rete dell’interfaccia associata. Per esempio, se l’interfaccia green ha IP 192.168.1.1 e maschera di rete 255.255.255.0, allora l’intervallo DHCP può andare da 192.168.1.2 a 192.168.1.254.
Il server DHCP rilascia un indirizzo IP per un periodo di tempo limitato. Se un dispositivo necessita di avere sempre lo stesso IP, è possibile assegnarli un IP Riservato associato all’indirizzo MAC.
Nella pagina Riserva IP sono elencati tutti gli indirizzi IP correntemente assegnati:
Per consentire ai client di avviarsi dalla rete, sono richiesti i seguenti componenti:
TFTP è un protocollo di trasferimento file molto semplice e generalmente utilizzato per il trasferimento automatico di file di configurazione o di boot.
In NethServer Enterprise l’implementazione di TFTP è contenuta nel modulo DHCP ed è abilitata per default. Per consentire l’accesso a un file mediante TFTP è sufficiente mettere il file nella directory /var/lib/tftproot
.
Nota
Per disabilitare TFTP digitare i seguenti comandi in una console di root:
config setprop dhcp tftp-status disabled
signal-event nethserver-dnsmasq-save
Per esempio, ora configuriamo un client per avviarsi da rete con CentOS. In NethServer Enterprise, digitare in una console di root:
yum install syslinux
cp /usr/share/syslinux/{pxelinux.0,menu.c32,memdisk,mboot.c32,chain.c32} /var/lib/tftpboot/
config setprop dnsmasq dhcp-boot pxelinux.0
signal-event nethserver-dnsmasq-save
mkdir /var/lib/tftpboot/pxelinux.cfg
Quindi, creare il file /var/lib/tftpboot/pxelinux.cfg/default
con il seguente contenuto:
default menu.c32
prompt 0
timeout 300
MENU TITLE PXE Menu
LABEL CentOS
kernel CentOS/vmlinuz
append initrd=CentOS/initrd.img
Creare una directory CentOS:
mkdir /var/lib/tftpboot/CentOS
Copiare dentro la directory appena creata i file vmlinuz
e initrd.img
. Questi file sono pubblici e possono essere trovati nella immagine ISO, sotto la directory /images/pxeboot
, oppure scaricati da un mirror di CentOS.
Per finire, avviare il client, selezionando dalla schermata di avvio la modalità «PXE boot» o «boot from network», o simile.
Riferimenti
[1] | Dynamic Host Configuration Protocol (DHCP) http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol |
[2] | Trivial File Transfer Protocol https://en.wikipedia.org/wiki/Tftp |
[3] | Preboot eXecution Environment http://en.wikipedia.org/wiki/Preboot_Execution_Environment |