Server PXE – Preboot eXecution Environment è un’architettura client-server standardizzata che indica a un sistema client di avviare, eseguire o installare più sistemi operativi Linux utilizzando un’interfaccia di rete con capacità PXE sulla tua infrastruttura di rete.
- Requisiti
- Passo 1: Installare e configurare il server DNSMASQ
- Passo 2: Installare i bootloader SYSLINUX
- Step 3: Installa TFTP-Server e copialo con i bootloader SYSLINUX
- Step 4: Impostare il file di configurazione del server PXE
- Passo 5: Aggiungere immagini di avvio CentOS 8 al server PXE
- Passo 6: Creare CentOS 8 sorgente di installazione locale mirror
- Passo 7: Configura i client per avviare dalla rete
Requisiti
-
- Installazione di CentOS 8 Minimal Server
- Installazione di RHEL 8 Minimal Server
- Configurare un indirizzo IP statico in RHEL/CentOS 8
In questo articolo, imparerai come installare e configurare un server di avvio di rete PXE su CentOS/RHEL 8 con i repository di installazione locali speculari forniti dalle immagini ISO di CentOS 8 e RHEL 8.
Per questa configurazione PXE Network Boot, installeremo i seguenti pacchetti sul sistema:
- DNSMASQ – un leggero DNS forwarder che fornisce un servizio DNS e DHCP con supporto per PXE e un server TFTP.
- Syslinux – un boot loader Linux che fornisce boot loader per l’avvio in rete.
- TFTP Server – un semplice protocollo di trasferimento di file lockstep che crea immagini avviabili disponibili per essere scaricate tramite una rete.
- VSFTPD Server – un protocollo di trasferimento file sicuro che ospiterà l’immagine DVD speculare montata localmente – che agirà come un repository di installazione speculare ufficiale di RHEL/CentOS 8 da dove il programma di installazione prenderà i pacchetti richiesti.
Passo 1: Installare e configurare il server DNSMASQ
1. È importante ricordarti che una delle tue interfacce di rete deve essere configurata con un indirizzo IP statico dallo stesso intervallo IP di rete che fornisce i servizi PXE.
Una volta che hai configurato un indirizzo IP statico, aggiorna i tuoi pacchetti software di sistema e installa il demone DNSMASQ.
# dnf install dnsmasq
2. Una volta installato DNSMASQ, troverete il suo file di configurazione predefinito nella directory /etc/dnsmasq.conf
, che è autoesplicativo ma più difficile da configurare, a causa delle sue spiegazioni altamente commentate.
Prima di tutto, assicurati di fare un backup di questo file nel caso in cui tu possa averne bisogno per rivederlo più tardi e poi, crea un nuovo file di configurazione usando il tuo editor preferito come mostrato.
# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup# nano /etc/dnsmasq.conf
3. Ora, copia e incolla le seguenti configurazioni sul file /etc/dnsmasq.conf
e cambia i parametri di configurazione secondo le tue impostazioni di rete.
Le dichiarazioni di configurazione che devi cambiare sono le seguenti:
- interface – Un’interfaccia di rete del server dovrebbe ascoltare e fornire servizi.
- bind-interfaces – Decommenta per legare l’interfaccia a una data scheda di rete.
- domain – Sostituiscilo con il tuo nome di dominio.
- dhcp-range – Cambialo con il tuo intervallo IP di rete.
- dhcp-boot – Sostituiscilo con l’indirizzo IP della tua interfaccia di rete.
- dhcp-option=3,192.168.1.1 – Sostituiscilo con il tuo gateway di rete.
- dhcp-option=6,92.168.1.1 – Sostituitelo con l’IP del vostro server DNS.
- server=8.8.4.4 – Aggiungete gli indirizzi IP dei vostri DNS forwarders.
- dhcp-option=28,10.0.0.255 – Sostituitelo con il vostro indirizzo IP di rete broadcast opzionalmente.
- dhcp-option=42,0.0.0.0 – Aggiungete i vostri time server di rete (l’indirizzo 0.0.0.0 è per auto referenza).
- pxe-prompt – Mantienilo come predefinito.
- pxe=service – Usa x86PC per architetture a 32-bit/64-bit e aggiungi un prompt di descrizione del menu sotto le virgolette della stringa.
- enable-tftp – Abilita il server TFTP integrato.
- tftp-root – Aggiungi la posizione dei file di avvio di rete /var/lib/tftpboot.
Per altre opzioni avanzate riguardanti i file di configurazione leggete pure il manuale di dnsmasq.
Passo 2: Installare i bootloader SYSLINUX
4. Dopo aver fatto la configurazione principale di DNSMASQ, installare il pacchetto bootloader PXE di Syslinx utilizzando il seguente comando.
# dnf install syslinux
5. I bootloader PXE di Syslinx sono installati sotto /usr/share/syslinux
, puoi confermarlo eseguendo il comando ls come mostrato.
# ls /usr/share/syslinux
Step 3: Installa TFTP-Server e copialo con i bootloader SYSLINUX
6. Ora, installare TFTP-Server e copiare tutti i bootloader Syslinux da /usr/share/syslinux/
a /var/lib/tftpboot
come mostrato.
# dnf install tftp-server# cp -r /usr/share/syslinux/* /var/lib/tftpboot
Step 4: Impostare il file di configurazione del server PXE
7. Per impostazione predefinita, il server PXE legge la sua configurazione da un insieme di file specifici che si trovano in pxelinux.cfg
, che devono essere trovati nella directory descritta nell’impostazione tftp-root dal file di configurazione DNSMASQ di cui sopra.
Prima, creare una directory pxelinux.cfg
e creare un file default
dando i seguenti comandi.
# mkdir /var/lib/tftpboot/pxelinux.cfg# touch /var/lib/tftpboot/pxelinux.cfg/default
8. Ora aprire e modificare il file di configurazione PXE default
con le opzioni di installazione della distribuzione Linux corretta. Inoltre, assicurati di ricordare che i percorsi impostati in questo file devono essere relativi alla directory /var/lib/tftpboot
.
# nano /var/lib/tftpboot/pxelinux.cfg/default
Il seguente è un file di configurazione di esempio che puoi usare, ma assicurati di cambiare le immagini di installazione, i protocolli e gli IP per riflettere i tuoi repository di origine dell’installazione di rete e le posizioni di conseguenza.
Nella configurazione precedente, si può notare che le immagini di avvio CentOS 8 (kernel e initrd) risiedono in una directory centos7 relativa a /var/lib/tftpboot
(i.e /var/lib/tftpboot/centos7
) e i repository dell’installatore sono accessibili utilizzando il protocollo FTP su 192.168.1.2/pub
(indirizzo IP del server PXE).
Inoltre, il menu label 2
descrive i repository mirror delle fonti ufficiali di installazione di CentOS 8 (la connessione internet è necessaria sul sistema client) e menu label 3
descrive che l’installazione client dovrebbe essere fatta tramite un VNC remoto (qui sostituire la password VNC con una password forte).
Importante: come vedete nella configurazione di cui sopra, abbiamo usato l’immagine CentOS 8 a scopo dimostrativo, ma potete anche usare le immagini RHEL 8.
Passo 5: Aggiungere immagini di avvio CentOS 8 al server PXE
9. Per aggiungere le immagini di CentOS 8 al server PXE, è necessario scaricare localmente l’immagine ISO di CentOS 8 DVD usando il comando wget e montarla.
10. Una volta scaricato CentOS 8, è necessario creare una directory centos7
e copiare le immagini avviabili di kernel e initrd.
La ragione dietro a questo approccio è che in seguito è possibile avere directory separate per ogni nuova distribuzione Linux sotto /var/lib/tftpboot
senza incasinare l’intera struttura delle directory.
Passo 6: Creare CentOS 8 sorgente di installazione locale mirror
11. Ci sono una varietà di protocolli (HTTP, HTTPS, o NFS) che sono disponibili per la creazione di mirror locali di installazione di CentOS 8, ma ho scelto il protocollo FTP perché è facile da impostare utilizzando il server vsftpd.
Installiamo il server Vsftpd e copiamo tutto il contenuto del DVD CentOS 8 nella directory FTP /var/ftp/pub
come mostrato.
# dnf install vsftpd# cp -r /mnt/* /var/ftp/pub/ # chmod -R 755 /var/ftp/pub
12. Ora che tutta la configurazione del server PXE è completata, è possibile avviare, abilitare e verificare lo stato dei server DNSMASQ e VSFTPD.
# systemctl start dnsmasq# systemctl status dnsmasq# systemctl start vsftpd# systemctl status vsftpd# systemctl enable dnsmasq# systemctl enable vsftpd
13. Successivamente, è necessario aprire le porte sul firewall in modo che i sistemi client possano raggiungere e avviare dal server PXE.
14. Per verificare la posizione di rete della sorgente di installazione FTP, apri il tuo browser e digita l’indirizzo IP del server PXE con il protocollo FTP seguito dalla posizione di rete /pub
.
ftp://192.168.1.2/pub
Passo 7: Configura i client per avviare dalla rete
15. Ora configura i sistemi client per avviare e installare CentOS 8 sui loro sistemi configurando Network Boot come dispositivo di avvio principale dal menu BIOS.
Dopo l’avvio del sistema, otterrai un prompt PXE, dove è necessario premere il tasto F8
per entrare nella presentazione e poi premere il tasto Enter per procedere in avanti al menu PXE.
Questo è tutto per impostare un server PXE minimo su CentOS/RHEL 8.