Preboot Execution Environment: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m ortografia e wlink |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(42 versioni intermedie di 31 utenti non mostrate) | |||
Riga 1:
'''Preboot Execution Environment''' (PXE), ovvero '''ambiente di esecuzione pre-boot''',
Nel 2010 ne venne creata una implementazione ''[[open source]]'' denominata ''iPXE''.
== Caratteristiche ==
=== Funzionamento ===▼
Può essere considerato uno dei modi per caricare il sistema operativo su un calcolatore. Quando è presente la funzionalità PXE, il [[BIOS]] presenta all'utente la possibilità di scegliere, tra i possibili dispositivi da cui caricare il [[sistema operativo]], il boot da rete. Se viene selezionata questa opzione, il firmware PXE utilizza DHCP per configurare un [[indirizzo IP]] sulla [[scheda di rete]] ed individuare un server ("boot server") da cui scaricare via [[Trivial File Transfer Protocol|TFTP]] un file, immagazzinandolo nella memoria RAM. Questo file viene poi eseguito, provvedendo ad avviare un sistema operativo.▼
Nella modalità di funzionamento prevista dallo standard, il server DHCP non fornisce direttamente il boot server, ma agisce da "PXE redirection service", ovvero redirige il client ai '''server PXE''' disponibili. I server PXE sono server DHCP modificati, che utilizzano la porta UDP 4011, e forniscono al client l'indirizzo IP del boot server ed il nome del [[#
PXE utilizza molteplici protocolli di rete:▼
Nella pratica, normalmente il firmware PXE è in grado di ricevere direttamente dal server DHCP i parametri necessari per identificare il boot server e il file da scaricare, ed è quindi possibile configurare un normale server DHCP per fornire i parametri necessari al boot via PXE.▼
=== Protocolli di rete ===
* [[Internet Protocol|IP]]
Riga 12 ⟶ 20:
* [[Trivial File Transfer Protocol|TFTP]]
Inoltre, utilizza concetti come [[GUID]]/[[UUID]] e [[Universal Network Device Interface]] ed estende il firmware del client PXE (il computer che viene avviato via PXE) con
=== Piattaforme supportate ===▼
PXE è stato progettato per essere utilizzabile su molte architetture. La specifica v2.1 definisce identificatori di architettura per 6 tipi di sistemi, compresi IA64 Itanium architecture e Alpha. Tuttavia, la specifica copre completamente solo Intel [[32 bit|32 Bit]] ([[IA-32]]). Intel ha incluso PXE nella [[Extensible Firmware Interface]] per [[IA-64]], creando uno standard [[de facto]] con la sua implementazione.▼
Il boot via PXE viene utilizzato nei seguenti scenari:▼
* installazione via rete di un sistema operativo. Il sistema operativo viene installato in modo tradizionale, ovvero sulla memoria di massa. Questa modalità permette di installare un sistema operativo senza dover acquistare o masterizzare un cd-rom, e funziona anche in assenza delle periferiche spesso usate a questo scopo (lettore [[cd-rom]], memorie [[USB]], possibilmente anche monitor e tastiera)▼
* possibilità di caricare su un calcolatore un sistema operativo diverso da quello normalmente usato, ad esempio per riparare una installazione malfunzionante o per utilizzarlo per funzioni particolari.▼
* [[restore]] completo di un calcolatore da un backup.▼
* network computing, ovvero utilizzo primario di un sistema operativo caricato dalla rete.▼
▲== Funzionamento ==
=== Uso del DHCP ===▼
Il client PXE si identifica come tale verso il server DHCP, inserendo nel pacchetto DHCPDISCOVER, il parametro <kbd>Class Id</kbd> con un valore della forma▼
▲Se viene selezionata questa opzione, il firmware PXE utilizza DHCP per configurare un indirizzo IP sulla scheda di rete ed individuare un server ("boot server") da cui scaricare via TFTP un file, immagazzinandolo nella memoria RAM. Questo file viene poi eseguito, provvedendo ad avviare un sistema operativo.
▲I server PXE sono server DHCP modificati, che utilizzano la porta UDP 4011, e forniscono al client l'indirizzo IP del boot server ed il nome del [[#il Network Bootstrap Program|network bootstrap program]] (NBP) da scaricare.
▲Nella pratica, normalmente il firmware PXE è in grado di ricevere direttamente dal server DHCP i parametri necessari per identificare il boot server e il file da scaricare, ed è quindi possibile configurare un normale server DHCP per fornire i parametri necessari al boot via PXE.
▲== Piattaforme supportate ==
▲PXE è stato progettato per essere utilizzabile su molte architetture. La specifica v2.1 definisce identificatori di architettura per 6 tipi di sistemi, compresi IA64 Itanium architecture e Alpha. Tuttavia, la specifica copre completamente solo Intel 32 Bit ([[IA-32]]). Intel ha incluso PXE nella [[Extensible Firmware Interface]] per [[IA-64]], creando uno standard [[de facto]] con la sua implementazione.
▲==Uso del DHCP==
▲Il client PXE si identifica come tale verso il server DHCP, inserendo nel pacchetto DHCPDISCOVER, il
“PXEClient:Arch:xxxxx:UNDI:yyyzzz”
Riga 44 ⟶ 32:
Se è disponibile a ottenere i parametri di boot direttamente dal server DHCP, richiede i seguenti parametri:
Data
Tag Name Length Meaning Reference
--- ---- ------ ------- ---------
66 Server-Name N TFTP Server Name [RFC2132]
67 Bootfile-Name N Boot File Name [RFC2132]
Il server DHCP decide se inviare i parametri necessari al boot da rete, e quali parametri inviare, sulla base dei dati presenti nella richiesta DHCP. Ad esempio, può essere necessario fornire a calcolatori differenti diversi boot file.
In particolare, il formato dell'opzione <
=== Menù PXE ===
Il protocollo PXE permette inoltre al server DHCP di inviare al client gli elementi per offrire all'utente un menù con diverse opzioni di boot. Questo menù viene implementato dal firmware PXE, e permette di proseguire nel processo di boot con diversi server o file a seconda delle scelte dell'utente.
== Scaricamento del Network Bootstrap Program ==
Dopo aver identificato il boot server da usare ed il nome del file da scaricare, il firmware PXE scaricherà questo file via TFTP, memorizzandolo nella propria [[
=== Multicast ===
Il protocollo PXE prevede la possibilità di far scaricare
==
In pratica, spesso l'NBP è in effetti un [[boot loader]], ovvero un programma che a sua volta scarica via TFTP il kernel del sistema operativo e possibilmente un "initial ramdisk", ovvero l'immagine di un [[File system|filesystem]] che viene copiata in memoria RAM (detta comunemente [[initrd]]).
L'immagine di disco contenuta nell'initrd potrà accedere ad ulteriori componenti attraverso la rete, ad esempio
=== Menù del bootloader ===
Il
== Applicazioni ed utilizzo ==
==Sicurezza==▼
▲Il boot via PXE viene utilizzato nei seguenti scenari:
PXE eredita tutte le debolezze di DHCP, ma ne amplifica la portata, in quanto al protocollo viene demandata non solo l'assegnazione di un indirizzo IP, ma la selezione di un sistema operativo da eseguire, che avrà il controllo completo dell'hardware. ▼
▲* [[installazione (informatica)|installazione]] via rete di un [[sistema operativo
▲* possibilità di caricare su un calcolatore un sistema operativo diverso da quello normalmente usato, ad esempio per riparare una installazione malfunzionante o per utilizzarlo per funzioni particolari.
▲* [[restore]] completo di un calcolatore da un [[backup]].
▲* network computing, ovvero utilizzo primario di un sistema operativo caricato dalla rete.
▲== Sicurezza ==
Se non è garantita la sicurezza fisica del calcolatore, e quindi è possibile che estranei lo colleghino a reti diverse da quella prevista, lasciare abilitata l'opzione di boot via PXE è equivalente a permettere l'avvio da dispositivi rimuovibili: avendo accesso alla console e la possibilità di riavviare il calcolatore un estraneo potrà avviare un sistema operativo di propria scelta, con il quale tra l'altro avrà libero accesso a tutti i dati memorizzati sulla memoria di massa del calcolatore.▼
▲PXE eredita tutte le debolezze di DHCP, ma ne amplifica la portata, in quanto al protocollo viene demandata non solo l'assegnazione di un indirizzo IP, ma la selezione di un sistema operativo da eseguire, che avrà il controllo completo dell'hardware.
▲Se non è garantita la sicurezza fisica del calcolatore, e quindi è possibile che estranei lo colleghino a reti diverse da quella prevista, lasciare abilitata l'opzione di boot via PXE è equivalente a permettere l'avvio da dispositivi
Inoltre, visto che è possibile che su una rete venga installato un server DHCP malevolo, tale server può anche offrire ad eventuali client PXE un sistema operativo malevolo. Per questo motivo, su un calcolatore che dovrebbe eseguire un sistema operativo dalla propria memoria di massa, l'opzione di boot via PXE dovrebbe essere disabilitata.
Riga 81 ⟶ 75:
Un client PXE dovrebbe assicurarsi che l'immagine che avvia venga da una sorgente di fiducia. Il protocollo prevede funzionalità in questo senso.
Se
== Note ==
<references/>
== Voci correlate ==
* [[Boot]]
* [[DHCP]]
* [[Intel]]
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* RFC 4578 - Parametri DHCP usati con PXE
* [irc://irc.freenode.net/pxe #pxe] - Un canale dedicato a PXE su [
* [https://web.archive.org/web/20070607191758/http://dev.brantleyonline.com/wiki/index.php/PXE_Booting_Index PXE wiki] - una wiki dedicata a PXE
* [https://web.archive.org/web/20070530024404/http://vamosproject.org/PXE Vamos project PXE page] - risorse PXE
* [https://web.archive.org/web/20140221222847/http://h18013.www1.hp.com/products/servers/management/rdp/knowledgebase/00000138.html PXE error codes] - un catalogo di codici d'errore PXE
* [http://syslinux.zytor.com/pxe.php pxelinux] - un [[boot loader]] usato per caricare altri sistemi operativi via PXE
* [http://www.sweetnam.eu/index.php/PXE/Kickstart_Rough_Howto PXE Quickstart HowTo] - Quickstart HowTo
* [https://web.archive.org/web/20070515042850/http://home.allegiance.tv/~joem298/ DOS via PXE HowTo] - Simple HowTo for booting DOS (or any other bootable floppy) via PXE using PXELINUX and TFTPD32
{{portale|informatica}}
[[Categoria:Processi di avvio]]▼
▲[[Categoria:Processi di avvio]]
[[Categoria:BIOS]]
|