Serveur PXE – Preboot eXecution Environment est une architecture client-serveur standardisée qui indique à un système client de démarrer, d’exécuter ou d’installer plusieurs systèmes d’exploitation Linux à l’aide d’une interface réseau compatible PXE sur votre infrastructure réseau.
- Requêtes
- Étape 1 : Installer et configurer le serveur DNSMASQ
- Étape 2 : Installer les chargeurs de démarrage SYSLINUX
- Étape 3 : Installer le TFTP-Server et le copier avec les chargeurs de démarrage SYSLINUX
- Étape 4 : Configurer le fichier de configuration du serveur PXE
- Etape 5 : Ajouter les images de démarrage CentOS 8 au serveur PXE
- Étape 6 : Créer la source d’installation miroir locale de CentOS 8
- Étape 7 : Configurer les clients pour démarrer à partir du réseau
Requêtes
-
- Installation du serveur minimal CentOS 8
- Installation du serveur minimal RHEL 8
- Configurer une adresse IP statique dans RHEL/CentOS 8
Dans cet article, vous apprendrez à installer et à configurer un serveur d’amorçage réseau PXE sur CentOS/RHEL 8 avec des référentiels d’installation locaux en miroir fournis par les images ISO de CentOS 8 et RHEL 8.
Pour cette configuration de démarrage réseau PXE, nous installerons les paquets suivants sur le système :
- DNSMASQ – un transitaire DNS léger qui fournit un DNS et des services DHCP avec un support pour PXE et un serveur TFTP.
- Syslinux – un chargeur d’amorçage Linux qui fournit des chargeurs d’amorçage pour le démarrage en réseau.
- Serveur TFTP – un protocole de transfert de fichiers simple à verrouillage qui crée des images amorçables disponibles pour être téléchargées via un réseau.
- Serveur VSFTPD – un protocole de transfert de fichiers sécurisé qui hébergera l’image DVD miroir montée localement – qui agira comme un référentiel d’installation miroir officiel de RHEL/CentOS 8 à partir duquel l’installateur prendra ses paquets requis.
Étape 1 : Installer et configurer le serveur DNSMASQ
1. Il est important de vous rappeler qu’une de vos interfaces réseau doit être configurée avec une adresse IP statique provenant de la même plage d’IP réseau qui fournit les services PXE.
Une fois que vous avez configuré une adresse IP statique, mettez à jour les paquets de votre logiciel système et installez le démon DNSMASQ.
# dnf install dnsmasq
2. Une fois DNSMASQ installé, vous trouverez son fichier de configuration par défaut sous le répertoire /etc/dnsmasq.conf
, qui est auto-explicatif mais plus difficile à configurer, en raison de ses explications très commentées.
D’abord, assurez-vous de prendre une sauvegarde de ce fichier au cas où vous en auriez besoin pour le revoir plus tard et ensuite, créez un nouveau fichier de configuration en utilisant votre éditeur préféré comme indiqué.
# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup# nano /etc/dnsmasq.conf
3. Maintenant, copiez et collez les configurations suivantes sur le fichier /etc/dnsmasq.conf
et modifiez les paramètres de configuration en fonction de vos paramètres réseau.
Les déclarations de configuration que vous devez modifier sont les suivantes:
- interface – Une interface réseau du serveur doit écouter et fournir des services.
- bind-interfaces – Décommenter pour lier l’interface à une carte réseau donnée.
- domain – Remplacez-le par votre nom de domaine.
- dhcp-range – Remplacez-le par votre plage IP réseau.
- dhcp-boot – Remplacez-le par l’adresse IP de votre interface réseau.
- dhcp-option=3,192.168.1.1 – Remplacez-le par votre passerelle réseau.
- dhcp-option=6,92.168.1.1 – Remplacez-la par l’adresse IP de votre serveur DNS.
- server=8.8.4.4 – Ajoutez les adresses IP de vos redirecteurs DNS.
- dhcp-option=28,10.0.0.255 – Remplacez-la par l’adresse IP de diffusion de votre réseau, en option.
- dhcp-option=42,0.0.0.0 – Ajoutez vos serveurs de temps réseau (l’adresse 0.0.0.0 est pour l’auto-référence).
- pxe-prompt – Gardez-le par défaut.
- pxe=service – Utilisez x86PC pour les architectures 32 bits/64 bits et ajoutez une invite de description de menu sous des guillemets de chaîne.
- enable-tftp – Active le serveur TFTP intégré.
- tftp-root – Ajoutez l’emplacement des fichiers de démarrage réseau /var/lib/tftpboot.
Pour d’autres options avancées concernant les fichiers de configuration, n’hésitez pas à lire le manuel dnsmasq.
Étape 2 : Installer les chargeurs de démarrage SYSLINUX
4. Après la configuration principale de DNSMASQ faite, installez le paquet de chargeur de démarrage Syslinx PXE en utilisant la commande suivante.
# dnf install syslinux
5. Les chargeurs de démarrage PXE Syslinx sont installés sous /usr/share/syslinux
, vous pouvez le confirmer en exécutant la commande ls comme indiqué.
# ls /usr/share/syslinux
Étape 3 : Installer le TFTP-Server et le copier avec les chargeurs de démarrage SYSLINUX
6. Maintenant, installez TFTP-Server et copiez tous les chargeurs de démarrage Syslinux de /usr/share/syslinux/
à /var/lib/tftpboot
comme indiqué.
# dnf install tftp-server# cp -r /usr/share/syslinux/* /var/lib/tftpboot
Étape 4 : Configurer le fichier de configuration du serveur PXE
7. Par défaut, le serveur PXE lit sa configuration à partir d’un ensemble de fichiers spécifiques trouvés dans pxelinux.cfg
, qui doivent se trouver dans le répertoire décrit dans le paramètre tftp-root du fichier de configuration DNSMASQ ci-dessus.
Premièrement, créez un répertoire pxelinux.cfg
et créez un fichier default
en émettant les commandes suivantes.
# mkdir /var/lib/tftpboot/pxelinux.cfg# touch /var/lib/tftpboot/pxelinux.cfg/default
8. Maintenant, ouvrez et éditez le fichier de configuration PXE default
avec les options d’installation de la distribution Linux correcte. En outre, n’oubliez pas que les chemins définis dans ce fichier doivent être relatifs au répertoire /var/lib/tftpboot
.
# nano /var/lib/tftpboot/pxelinux.cfg/default
Ce qui suit est un exemple de fichier de configuration que vous pouvez utiliser, mais assurez-vous de modifier les images d’installation, les protocoles et les IP pour refléter les dépôts et les emplacements sources de votre installation réseau en conséquence.
Dans la configuration ci-dessus, vous pouvez remarquer que les images de démarrage CentOS 8 (noyau et initrd) résident dans un répertoire centos7 relatif à /var/lib/tftpboot
(i.e /var/lib/tftpboot/centos7
) et les dépôts d’installation sont accessibles en utilisant le protocole FTP sur 192.168.1.2/pub
(adresse IP du serveur PXE).
De plus, le menu label 2
décrit les dépôts miroirs officiels des sources d’installation de CentOS 8 (une connexion internet est nécessaire sur le système client) et le menu label 3
décrit que l’installation du client doit se faire via un VNC distant (ici remplacer le mot de passe VNC par un mot de passe fort).
Important : Comme vous le voyez dans la configuration ci-dessus, nous avons utilisé l’image CentOS 8 à des fins de démonstration, mais vous pouvez également utiliser les images RHEL 8.
Etape 5 : Ajouter les images de démarrage CentOS 8 au serveur PXE
9. Pour ajouter les images CentOS 8 au serveur PXE, vous devez télécharger l’image ISO DVD CentOS 8 localement en utilisant la commande wget et la monter.
10. Une fois que vous avez téléchargé CentOS 8, vous devez créer un répertoire centos7
et copier les images bootables du noyau et de l’initrd.
La raison derrière le fait d’avoir cette approche est que, plus tard, vous pouvez avoir des répertoires séparés pour chaque nouvelle distribution Linux sous /var/lib/tftpboot
sans perturber la structure entière des répertoires.
Étape 6 : Créer la source d’installation miroir locale de CentOS 8
11. Il existe une variété de protocoles (HTTP, HTTPS, ou NFS) qui sont disponibles pour configurer les miroirs de source d’installation locale de CentOS 8, mais j’ai choisi le protocole FTP parce qu’il est facile à configurer en utilisant le serveur vsftpd.
Installons le serveur Vsftpd et copions tout le contenu du DVD CentOS 8 dans le répertoire FTP /var/ftp/pub
comme indiqué.
# dnf install vsftpd# cp -r /mnt/* /var/ftp/pub/ # chmod -R 755 /var/ftp/pub
12. Maintenant que toute la configuration du serveur PXE est terminée, vous pouvez démarrer, activer et vérifier l’état des serveurs DNSMASQ et VSFTPD.
# systemctl start dnsmasq# systemctl status dnsmasq# systemctl start vsftpd# systemctl status vsftpd# systemctl enable dnsmasq# systemctl enable vsftpd
13. Ensuite, vous devez ouvrir les ports sur votre pare-feu afin que les systèmes clients puissent atteindre et démarrer à partir du serveur PXE.
14. Pour vérifier l’emplacement réseau de la source d’installation FTP, ouvrez votre navigateur et tapez l’adresse IP du serveur PXE avec le protocole FTP suivi de l’emplacement réseau /pub
.
ftp://192.168.1.2/pub
Étape 7 : Configurer les clients pour démarrer à partir du réseau
15. Configurez maintenant les systèmes clients pour démarrer et installer CentOS 8 sur leurs systèmes en configurant Network Boot comme périphérique de démarrage principal à partir du menu BIOS.
Après le démarrage du système, vous obtiendrez une invite PXE, où vous devez appuyer sur la touche F8
pour entrer dans la présentation et ensuite appuyer sur la touche Entrée pour avancer vers le menu PXE.
C’est tout pour configurer un serveur PXE minimal sur CentOS/RHEL 8.