Serveur PXE – Environnement d’exécution de pré-lancement est une architecture client-serveur normalisée qui demande à 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.
Exigences
Dans cet article, vous apprendrez comment installer et configurer un Serveur de démarrage réseau PXE sur CentOS / RHEL 8 avec les référentiels d’installation locaux en miroir fournis par CentOS 8 et RHEL 8 Images ISO.
Pour ça Démarrage réseau PXE mis en place, nous installerons les packages suivants sur le système:
- DNSMASQ – un redirecteur DNS léger qui fournit un DNS et DHCP services avec support pour PXE et un TFTP serveur.
- Syslinux – un chargeur de démarrage Linux qui fournit des chargeurs de démarrage pour le démarrage réseau.
- Serveur TFTP – un simple protocole de transfert de fichiers lockstep 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 de DVD en miroir montée localement – qui agira comme un référentiel d’installation miroir officiel RHEL / CentOS 8 d’où l’installateur sortira ses packages requis.
Étape 1: installer et configurer le serveur DNSMASQ
1. Il est important de vous rappeler que l’une de vos interfaces réseau doit être configuré avec une adresse IP statique à partir de la même plage d’adresses IP réseau qui fournit des services PXE.
Une fois que vous avez configuré une adresse IP statique, mettez à jour vos progiciels système et installez le DNSMASQ démon.
# dnf install dnsmasq
2. Une fois que DNSMASQ installé, vous trouverez son fichier de configuration par défaut sous /etc/dnsmasq.conf
répertoire, qui est explicite mais plus difficile à configurer, en raison de ses explications très commentées.
Tout d’abord, assurez-vous de faire une sauvegarde de ce fichier au cas où vous en auriez besoin pour le réviser plus tard, puis créez un nouveau fichier de configuration à l’aide de 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 /etc/dnsmasq.conf
fichier et modifiez les paramètres de configuration en fonction de vos paramètres réseau.
dnsmasq.conf – Fichier de configuration
interface=enp0s3,lo #bind-interfaces domain=tecmint # DHCP range-leases dhcp-range= enp0s3,192.168.1.3,192.168.1.253,255.255.255.0,1h # PXE dhcp-boot=pxelinux.0,pxeserver,192.168.1.2 # Gateway dhcp-option=3,192.168.1.1 # DNS dhcp-option=6,92.168.1.1, 8.8.8.8 server=8.8.4.4 # Broadcast Address dhcp-option=28,10.0.0.255 # NTP Server dhcp-option=42,0.0.0.0 pxe-prompt="Press F8 for menu.", 60 pxe-service=x86PC, "Install CentOS 8 from network server 192.168.1.2", pxelinux enable-tftp tftp-root=/var/lib/tftpboot
Les instructions de configuration que vous devez modifier sont suivies:
- interface – Une interface réseau du serveur doit écouter et fournir des services.
- interfaces de liaison – Décommentez pour lier l’interface à une carte réseau donnée.
- domaine – Remplacez-le par votre nom de domaine.
- gamme DHCP – Modifiez-le avec la plage IP de votre réseau.
- démarrage dhcp – Remplacez-le par l’adresse IP de votre interface réseau.
- option dhcp = 3 192.168.1.1 – Remplacez-le par votre passerelle réseau.
- option dhcp = 6,92.168.1.1 – Remplacez-le par l’adresse IP de votre serveur DNS.
- serveur = 8.8.4.4 – Ajoutez les adresses IP de vos redirecteurs DNS.
- option dhcp = 28,10.0.0.255 – Remplacez-la par votre adresse IP de diffusion réseau en option.
- option dhcp = 42,0.0.0.0 -Ajouter vos serveurs de temps réseau (l’adresse 0.0.0.0 est pour l’auto-référence).
- invite pxe – Conservez-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.
- enable-tftp – Active le serveur TFTP intégré.
- racine tftp – Ajouter 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: Installez les chargeurs de démarrage SYSLINUX
4. Une fois la configuration principale DNSMASQ terminée, installez le Syslinx PXE package de chargeur de démarrage à l’aide de la commande suivante.
# dnf install syslinux
5. le Syslinx PXE les chargeurs de démarrage sont installés sous /usr/share/syslinux
, vous pouvez le confirmer en exécutant le commande ls comme montré.
# ls /usr/share/syslinux
Étape 3: Installez le serveur TFTP et copiez-le avec les chargeurs de démarrage SYSLINUX
6. Maintenant, installez Serveur TFTP et copiez tous les bootloaders Syslinux depuis /usr/share/syslinux/
à /var/lib/tftpboot
comme montré.
# 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 doit se trouver dans le répertoire décrit dans la racine tftp dans le fichier de configuration DNSMASQ ci-dessus.
Commencez par créer un pxelinux.cfg
répertoire et créez un default
fichier en exécutant les commandes suivantes.
# mkdir /var/lib/tftpboot/pxelinux.cfg # touch /var/lib/tftpboot/pxelinux.cfg/default
8. Maintenant, ouvrez et modifiez PXE default
fichier de configuration avec les options d’installation correctes de la distribution Linux. N’oubliez pas non plus que les chemins définis dans ce fichier doivent être relatifs au /var/lib/tftpboot
annuaire.
# 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 adresses IP pour refléter les référentiels et emplacements de source d’installation réseau en conséquence.
Fichier de configuration par défaut PXE
default menu.c32 prompt 0 timeout 300 ONTIMEOUT local menu title ########## PXE Boot Menu ########## label 1 menu label ^1) Install CentOS 8 x64 with Local Repo kernel centos8/vmlinuz append initrd=centos7/initrd.img method=ftp://192.168.1.2/pub devfs=nomount label 2 menu label ^2) Install CentOS 8 x64 with http://mirror.centos.org Repo kernel centos8/vmlinuz append initrd=centos8/initrd.img method=http://mirror.centos.org/centos/8/BaseOS/x86_64/os/ devfs=nomount ip=dhcp label 3 menu label ^3) Install CentOS 8 x64 with Local Repo using VNC kernel centos8/vmlinuz append initrd=centos8/initrd.img method=ftp://192.168.1.2/pub devfs=nomount inst.vnc inst.vncpassword=password label 4 menu label ^4) Boot from local drive
Dans la configuration ci-dessus, vous pouvez remarquer que le CentOS 8 images de démarrage (noyau et initrd) résident dans un centos7 répertoire relatif à /var/lib/tftpboot
(c’est à dire /var/lib/tftpboot/centos7
) et les référentiels du programme d’installation sont accessibles en utilisant le protocole FTP sur 192.168.1.2/pub
(Adresse IP du serveur PXE).
Également menu label 2
décrit les référentiels miroirs officiels des sources d’installation de CentOS 8 (la connexion Internet est obligatoire sur le système client) et menu label 3
décrit que l’installation du client doit être effectuée via une télécommande VNC (ici, remplacez le mot de passe VNC par un mot de passe fort).
Important: Comme vous le voyez dans la configuration ci-dessus, nous avons utilisé CentOS 8 image à des fins de démonstration, mais vous pouvez également utiliser RHEL 8 images.
Étape 5: Ajouter des images de démarrage CentOS 8 au serveur PXE
9. Ajouter CentOS 8 images vers le serveur PXE, vous devez télécharger l’image ISO du DVD CentOS 8 en utilisant localement commande wget et montez-le.
# wget http://centos.mirrors.estointernet.in/8.2.2004/isos/x86_64/CentOS-8.2.2004-x86_64-dvd1.iso # mount -o loop CentOS-8.2.2004-x86_64-dvd1.iso /mnt
dix. Une fois que vous avez téléchargé CentOS 8, vous devez créer un centos7
répertoire et copiez le noyau de démarrage et les images initrd.
# mkdir /var/lib/tftpboot/centos8 # cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/centos8 # cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/centos8
La raison derrière 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 gâcher toute la structure des répertoires.
Étape 6: Créer la source d’installation de CentOS 8 Local Mirror
11. Il existe une variété de protocoles (HTTP, HTTPS, ou NFS) disponibles pour la configuration des miroirs de source d’installation locale CentOS 8, mais j’ai choisi FTP protocole car il est facile à configurer en utilisant vsftpd serveur.
Installons Vsftpd serveur et copiez tous les DVD CentOS 8 contenu dans le répertoire FTP /var/ftp/pub
comme montré.
# 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 de DNSMASQ et VSFTPD les serveurs.
# 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 pour que les systèmes client atteignent et démarrent à partir du serveur PXE.
# firewall-cmd --add-service=ftp --permanent ## Port 21 # firewall-cmd --add-service=dns --permanent ## Port 53 # firewall-cmd --add-service=dhcp --permanent ## Port 67 # firewall-cmd --add-port=69/udp --permanent ## Port for TFTP # firewall-cmd --add-port=4011/udp --permanent ## Port for ProxyDHCP # firewall-cmd --reload ## Apply rules
14. Pour vérifier l’emplacement réseau de la source d’installation FTP, ouvrez votre navigateur et saisissez l’adresse IP du serveur PXE avec le protocole FTP suivi de /pub
emplacement réseau.
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 Démarrage réseau comme périphérique de démarrage principal depuis le menu du BIOS.
Après le démarrage du système, vous obtiendrez une invite PXE, où vous devrez appuyer sur F8
pour accéder à la présentation, puis appuyez sur la touche Entrée pour passer au menu PXE.
C’est tout pour configurer un serveur PXE minimal sur CentOS / RHEL 8.
.