Installare più distribuzioni Linux utilizzando l’avvio di rete PXE su RHEL/CentOS 8

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

    • 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
Installare DNSMASQ su CentOS

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.

dnsmasq.conf – File di configurazione
Configura DNSMASQ su CentOS

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
Installare Syslinux in CentOS

5. I bootloader PXE di Syslinx sono installati sotto /usr/share/syslinux, puoi confermarlo eseguendo il comando ls come mostrato.

# ls /usr/share/syslinux
Verifica i boot loader di 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
Installare TFTP-Server in CentOS

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.

File di configurazione predefinito PXE
File di configurazione predefinito PXE

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
Verifica la directory FTP

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.

Menu del server di avvio PXE
Installa CentOS 8 dal server PXE

Questo è tutto per impostare un server PXE minimo su CentOS/RHEL 8.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.