Configuration d'un «serveur de démarrage réseau PXE» pour plusieurs installations de distribution Linux dans RHEL / CENTOS 7

Configuration d'un «serveur de démarrage réseau PXE» pour plusieurs installations de distribution Linux dans RHEL / CENTOS 7

Serveur PXE - Environnement d'exécution de pré-point - Demande à un ordinateur client de démarrer, d'exécuter ou d'installer un système d'exploitation directement une interface réseau, en éliminant la nécessité de brûler un CD / DVD ou d'utiliser un support physique, ou peut faciliter le travail d'installation des distributions Linux sur votre Infrastructure réseau sur plusieurs machines en même temps.

Définition du démarrage réseau PXE dans RHEL / CENTOS 7

Exigences

  1. Centos 7 Procédure d'installation minimale
  2. RHEL 7 Procédure d'installation minimale
  3. Configurer l'adresse IP statique dans RHEL / CENTOS 7
  4. Supprimer les services indésirables dans RHEL / CENTOS 7
  5. Installez le serveur NTP pour définir le temps système correct dans RHEL / CENTOS 7

Cet article expliquera comment vous pouvez installer et configurer un Serveur PXE sur Rhel/ /Centos 7 X64 bits avec des référentiels d'installation locaux en miroir, sources fournies par l'image ISO DVD CentOS 7, avec l'aide de Dnsmasq Serveur.

Qui fournit DNS et Dhcp prestations de service, Syslinux Package qui fournit des chargeurs de démarrage pour le démarrage réseau, Serveur TFTP, ce qui rend les images de démarrage disponibles à télécharger via le réseau en utilisant Protocole de transfert de fichiers trivial (Tftp) et Vsftpd Serveur qui hébergera l'image DVD en miroir en miroir local - qui agira comme un référentiel d'installation de miroir RHEL / CENTOS 7 officiel d'où l'installateur extrait ses packages requis.

Étape 1: Installez et configurez le serveur DNSMASQ

1. Pas besoin de vous rappeler que c'est absolument exigeant que l'une de votre interface de carte réseau, au cas où votre serveur pose plus de NICS, doit être configuré avec une adresse IP statique à partir de la même gamme IP qui appartient au segment réseau qui fournira des services PXE.

Ainsi, après avoir configuré votre adresse IP statique, mis à jour votre système et effectué d'autres paramètres initiaux, utilisez la commande suivante pour installer Dnsmasq démon.

# yum install dnsmasq 
Installer le package DNSMASQ

2. DNSMASQ Fichier de configuration par défaut principale situé dans /etc Le répertoire est explicite mais a l'intention d'être assez difficile à modifier, à faire à ses explications hautement commentées.

Assurez-vous d'abord de sauvegarder ce fichier au cas où vous auriez besoin de le revoir plus tard et, ensuite, créez un nouveau fichier de configuration vierge en utilisant votre éditeur de texte préféré en publiant les commandes suivantes.

# mv / etc / dnsmasq.conf / etc / dnsmasq.confli.Sauvegarde # nano / etc / dnsmasq.confli 

3. Maintenant, copiez et collez les configurations suivantes sur dnsmasq.confli fichier et assurer que vous modifiez les instructions expliquées ci-dessous pour correspondre à vos paramètres réseau en conséquence.

Interface = ENO1677736, LO # Domaine de liaisons-interfaces = CentOS7.LAN # DHCP Range-Lases DHCP-Range = ENO1677736.192.168.1.3 192.168.1.253 255.255.255.0,1h # pxe dhcp-boot = pxelinux.0, PxeServer, 192.168.1.20 # Gateway DHCP-option = 3 192.168.1.1 # dns dhcp-option = 6,92.168.1.1, 8.8.8.8 serveur = 8.8.4.4 # Adresse de diffusion DHCP-option = 28,10.0.0.255 # NTP Server dhcp-option = 42,0.0.0.0 PXE-PROMPT = "Appuyez sur F8 pour le menu.", 60 pxe-service = x86pc," Installez Centos 7 à partir du serveur réseau 192.168.1.20 ", PxElinux Activer TFTP TFTP-ROOT = / var / lib / tftpboot 
Configuration DNSMASQ

Les déclarations que vous devez modifier suit:

  1. interface - Interfaces que le serveur doit écouter et fournir des services.
  2. liaison à interfaces - Non-comment pour se lier uniquement à cette interface.
  3. domaine - Remplacez-le par votre nom de domaine.
  4. DHCP - Remplacez-le par la gamme IP définie par votre masque réseau sur ce segment.
  5. Boot DHCP - Remplacez l'instruction IP par votre adresse IP d'interface.
  6. dhcp-option = 3,192.168.1.1 - Remplacez l'adresse IP par votre passerelle de segment réseau.
  7. dhcp-option = 6,92.168.1.1 - Remplacez l'adresse IP par votre IP de serveur DNS - plusieurs IPs DNS peuvent être définis.
  8. serveur = 8.8.4.4 - Mettez vos adresses IPS des transitaires DNS.
  9. Dhcp-option = 28,dix.0.0.255 - Remplacez l'adresse IP par l'adresse de diffusion du réseau -.
  10. dhcp-option = 42,0.0.0.0 - Mettez les serveurs de temps de réseau - éventuellement (0.0.0.0 L'adresse est pour l'auto-référence).
  11. PXE-PROMPPT - Laissez-le par défaut - signifie appuyer sur la touche F8 pour entrer le menu 60 avec des secondes d'attente…
  12. PXE = service - Utilisez x86pc pour les architectures 32 bits / 64 bits et entrez une invite de description du menu sous Citations de chaîne. Les autres types de valeurs peuvent être: PC98, IA64_EFI, Alpha, ARC_X86, Intel_lean_Client, IA32_EFI, BC_EFI, XSCALE_FI et X86-64_EFI.
  13. Activer TFTP - Active le serveur TFTP Back-In.
  14. root TFTP - Use / var / lib / tftpboot - l'emplacement pour tous les fichiers netbooting.

Pour d'autres options avancées concernant le fichier de configuration, n'hésitez pas à lire le manuel DNSMASQ.

Étape 2: Installez les chargeurs de démarrage syslinux

4. Après avoir édité et sauvé Dnsmasq Fichier de configuration principale, allez-y et installez Syslinx Package PXE Bootloader en émettant la commande suivante.

# yum install syslinux 
Installez les chargeurs de démarrage syslinux

5. Les fichiers PXE Bootloaders résident dans / usr / share / syslinux Chemin du système absolu, vous pouvez donc le vérifier en répertoriant ce contenu de chemin. Cette étape est facultative, mais vous devrez peut-être être conscient de ce chemin car à l'étape suivante, nous copierons tout son contenu pour Serveur TFTP chemin.

# ls / usr / share / syslinux 
Fichiers syslinux

Étape 3: Installez le serveur TFTP et remplissez-le avec des chargeurs de démarrage syslinux

6. Maintenant, passons à l'étape suivante et installons Serveur TFTP Et ensuite, copiez tous les fichiers de bootloders fournis par le package syslinux de l'emplacement répertorié ci-dessus à / var / lib / tftpboot Chemin en émettant les commandes suivantes.

# yum install tftp-server # cp -r / usr / share / syslinux / * / var / lib / tftpboot 
Installer le serveur TFTP

Étape 4: Configuration du fichier de configuration du serveur PXE

7. Généralement le Serveur PXE lit sa configuration à partir d'un groupe de fichiers spécifiques (Guidage Fichiers - d'abord, MAC Fichiers - Suivant, Défaut fichier - dernier) hébergé dans un dossier appelé pxelinux.CFG, qui doit être situé dans le répertoire spécifié dans root TFTP Instruction du fichier de configuration principale DNSMASQ.

Créer le répertoire requis pxelinux.CFG et le remplir avec un défaut dossier en émettant les commandes suivantes.

# mkdir / var / lib / tftpboot / pxelinux.CFG # Touch / var / lib / tftpboot / pxelinux.CFG / par défaut 

8. Maintenant, il est temps de modifier Serveur PXE Fichier de configuration avec des options d'installation de distribution Linux valides. Notez également que tous les chemins utilisés dans ce fichier doivent être relatifs au / var / lib / tftpboot annuaire.

Vous trouverez ci-dessous un exemple de fichier de configuration que vous pouvez l'utiliser, mais modifier les images d'installation (fichiers de noyau et initrd), les protocoles (FTP, HTTP, HTTPS, NFS) et IPS pour refléter les référentiels et les chemins de source d'installation réseau en conséquence en conséquence.

# nano / var / lib / tftpboot / pxelinux.CFG / par défaut 

Ajouter l'extrait entier suivant au fichier.

menu par défaut.C32 Invite 0 Timeout 300 Ontimeout Menu local Menu Titre ########## Menu de démarrage Pxe ######### Étiquette 1 Menu Label ^ 1) Installer Centos 7 X64 avec le noyau de répo local Centos7 / VMLINUZ ajouter initrd = centos7 / initrd.Méthode IMG = ftp: // 192.168.1.20 / Pub Devfs = Nomount Label 2 Menu Label ^ 2) Installer Centos 7 x64 avec http: // miroir.centos.Org Repo Kernel CentOS7 / VMLINUZ APPEND INITRD = CENTOS7 / INITRD.Méthode IMG = http: // miroir.centos.org / centos / 7 / os / x86_64 / devfs = nomount ip = étiquette DHCP 3 Menu Label ^ 3) Installez Centos 7 x64 avec Repo local en utilisant le noyau VNC CentOS7 / VMLINUZ APPEND INITRD = CENTOS7 / INITRD.Méthode IMG = ftp: // 192.168.1.20 / Pub Devfs = Nomount Inst.vnc inst.vncpassword = étiquette de mot de passe 4 Étiquette de menu ^ 4) démarrer à partir du lecteur local 
Configurer le serveur PXE

Comme vous pouvez le voir Centos 7 Boot Images (Kernel et Initrd) résident dans un répertoire nommé centos7 relatif à / var / lib / tftpboot (Sur un chemin système absolu, cela signifierait / var / lib / tftpboot / centos7) et les référentiels d'installation peuvent être atteints en utilisant FTP protocole 192.168.1.20 / pub Emplacement du réseau - Dans ce cas, les repos sont hébergés localement car l'adresse IP est la même que l'adresse du serveur PXE).

Aussi menu étiquette 3 Spécifie que l'installation du client doit être effectuée à partir d'un emplacement distant via VNC (Ici, remplacez le mot de passe VNC par un mot de passe fort) au cas où vous installerez sur un client sans tête et le menu étiquette 2 Spécifie comme
Installation Sources d'un miroir Internet officiel de CentOS 7 (cette affaire nécessite une connexion Internet disponible sur le client via DHCP et NAT).

Important: Comme vous le voyez dans la configuration ci-dessus, nous avons utilisé CentOS 7 à des fins de démonstration, mais vous pouvez également définir les images RHEL 7, et suivre des instructions et des configurations entières sont basées uniquement sur CentOS 7, alors soyez prudent tout en choisissant la distribution.

Étape 5: Ajoutez des images de démarrage CentOS 7 au serveur PXE

9. Pour cette étape, les fichiers du noyau et des initrd sont requis. Pour obtenir ces fichiers, vous avez besoin du CENTOS 7 DVD ISO Image. Alors, allez-y et téléchargez l'image DVD CentOS, mettez-la dans votre lecteur DVD et montez l'image sur / mnt Chemin du système en émettant la commande ci-dessous.

La raison de l'utilisation du DVD et non une image CD minimale est le fait que plus tard ce contenu DVD serait utilisé pour créer le
Référentiels d'installation localement pour FTP sources.

# Mount -O LOOP / DEV / CDROM / MNT # LS / MNT 
DVD Mount Centos

Si votre machine n'a pas de lecteur DVD, vous pouvez également télécharger CENTOS 7 DVD ISO en utilisant localement wget ou boucle Utilitaires d'un miroir Centos et montez-le.

# wget http: // miroirs.xservers.RO / CENTOS / 7.0.1406 / ISOS / X86_64 / CentOS-7.0-1406-x86_64-dvd.ISO # Mount -O LOOP / PATH / TO / CENTOS-DVD.ISO / MNT 

dix. Une fois le contenu DVD disponible, créez le centos7 Répertoire et copie Centos 7 Images de noyau bootable et initrd de l'emplacement monté DVD à la structure du dossier CentOS7.

# mkdir / var / lib / tftpboot / centos7 # cp / mnt / images / pxeboot / vmLinUz / var / lib / tftpboot / centos7 # cp / mnt / images / pxeboot / initrd.IMG / VAR / LIB / TFTPBOOT / CENTOS7 
Copier les fichiers de démarrage CentOS

La raison de l'utilisation de cette approche est que, plus tard, vous pouvez créer de nouveaux répertoires distincts dans / var / lib / tftpboot Chemin et ajouter d'autres distributions Linux au menu PXE sans gâcher toute la structure du répertoire.

Étape 6: Créer Centos 7 Source d'installation du miroir local

11. Bien que vous puissiez configurer Miroirs de source d'installation via une variété de protocoles tels que HTTP, HTTPS ou NFS, pour ce guide, j'ai choisi FTP protocole car est très fiable et facile à configurer avec l'aide de vsftpd serveur.

Installez en outre le démon vsftpd, copiez tout le contenu monté DVD sur vsftpd Chemin de serveur par défaut (/ var / ftp / pub) - Cela peut prendre un certain temps en fonction de vos ressources système et ajoutez les autorisations lisibles sur ce chemin en émettant les commandes suivantes.

# yum install vsftpd # cp -r / mnt / * / var / ftp / pub / # chmod -r 755 / var / ftp / pub 
Installer le serveur VSFTPD Copier les fichiers sur le chemin FTP Définir les autorisations sur le chemin FTP

Étape 7: Démarrer et activer les démons à l'échelle du système

12. Maintenant que la configuration du serveur PXE est enfin terminée, commencez Dnsmasq et Vsftpd serveurs, vérifiez leur statut et activez à l'échelle du système, pour démarrer automatiquement après chaque redémarrage du système, en exécutant les commandes ci-dessous.

# systemctl start dnsmasq # statut systemctl status dnsmasq # systemctl start vsftpd # systemctl status vsftpd # systemctl activer dnsmasq # systemctl activer vsftpd 
Démarrer le service DNSMASQ Démarrer le service VSFTPD

Étape 8: ouvrir le pare-feu et tester la source d'installation FTP

13. Pour obtenir une liste de tous les ports qui doivent être ouverts sur votre pare-feu afin que les machines clients puissent atteindre et démarrer à partir de PXE Server, exécutez netstat Commandez et ajoutez les règles de Centos 7 Firewalld en conséquence aux ports d'écoute DNSMASQ et VSFTPD.

# netStat -Tulpn # Firewall-CMD --Add-Service = FTP --permanent ## Port 21 # Firewall-Cmd --Add-Service = DNS --permanent ## Port 53 # Firewall-Cmd --Add-Service = DHCP - Port-Port ## 67 # Firewall-CMD --Add-Port = 69 / UDP - Port ## Port pour TFTP # Firewall-CMD --Add-Port = 4011 / UDP - Port ## Port ProxyDHCP. # pare-feu-CMD - Reload ## Appliquer des règles 
Vérifiez les ports d'écoute Ports ouverts en pare-feu

14. Pour tester le chemin du réseau source d'installation FTP, ouvrez un navigateur localement (Lynx devrait le faire) ou sur un autre ordinateur et tapez l'adresse IP de votre serveur PXE avec
Protocole FTP suivi de /pub Emplacement du réseau sur URL déposé et le résultat doit être tel que présenté dans la capture d'écran ci-dessous.

FTP: // 192.168.1.20 / pub 
Accéder aux fichiers FTP via le navigateur

15. Pour déboguer le serveur PXE pour des erreurs de configuration éventuelles ou d'autres informations et diagnostics en mode live exécutez la commande suivante.

# tailf / var / log / messages 
Vérifiez les journaux PXE pour les erreurs

16. Enfin, la dernière étape requise que vous devez faire est de non-condamner le DVD CentOS 7 et de supprimer le milieu physique.

# umount / mnt 

Étape 9: Configurer les clients pour démarrer à partir du réseau

17. Maintenant, vos clients peuvent démarrer et installer CentOS 7 sur leurs machines en configurant le démarrage réseau en tant que Appareil de démarrage principal à partir de leurs systèmes bios ou en frappant une clé spécifiée pendant Bios Post Opérations telles que spécifiées dans le manuel de la carte mère.

Afin de choisir le démarrage réseau. Une fois que la première invite PXE apparaît, appuyez sur F8 clé pour entrer dans la présentation puis frapper Entrer Clé pour avancer le menu PXE.

Boot réseau PXE PXE Network OS Boot

18. Une fois que vous avez atteint le menu PXE, choisissez votre type d'installation CentOS 7, appuyez sur Entrer clé et continuez avec la procédure d'installation de la même manière que vous pourriez l'installer à partir d'un périphérique de démarrage multimédia local.

Veuillez noter que l'utilisation de la variante 2 à partir de ce menu nécessite une connexion Internet active sur le client cible. Aussi, ci-dessous
Captures d'écran Vous pouvez voir un exemple d'installation à distance d'un client via VNC.

Menu PXE Installation à distance Linux via VNC Installation à distance de CentOS

C'est tout pour la mise en place d'un minimum Serveur PXE sur Centos 7. Sur mon prochain article de cette série, je discuterai d'autres problèmes concernant cette configuration de serveur PXE, telles que la façon de configurer des installations automatisées de Centos 7 en utilisant Lancer un coup d'envoi Fichiers et ajout d'autres distributions Linux au menu PXE - Serveur Ubuntu et Debian 7.