Configuration du serveur de démarrage réseau PXE sur CentOS 7

Configuration du serveur de démarrage réseau PXE sur CentOS 7
PXE est un protocole utilisé pour démarrer les installateurs du système d'exploitation sur le réseau. Ensuite, vous pouvez l'installer sur votre serveur ou votre poste de travail. Vous n'aurez pas besoin de CD / DVD ou USB pour cela. À l'aide d'un serveur de démarrage PXE, vous pouvez installer un système d'exploitation sur tous les ordinateurs d'un réseau en même temps. Cela vous fera gagner beaucoup de temps.

Dans cet article, je vais vous montrer comment configurer un serveur de démarrage PXE sur CentOS 7 et le configurer pour démarrer Fedora 30 Workstation en direct sur le réseau via PXE. Alors, commençons.

Topologie du réseau:

Ici, je vais configurer un serveur CentOS 7 en tant que serveur de démarrage PXE. Le serveur de démarrage PXE servira les médias d'installation en direct Fedora 30 en direct aux clients PXE. Ensuite, je vais installer Fedora 30 Workstation sur le client PXE sur le réseau. Le serveur de démarrage PXE aura un IP 192 fixe.168.50.1. Le client PXE sera sur le même réseau.

Configuration du réseau:

Vous pouvez utiliser NMTUI pour configurer une IP statique à l'interface réseau sur votre machine CentOS 7. Pour apprendre à le faire, vous pouvez lire un article dédié sur ce sujet à https: // linuxhint.com / setup_static_ip_centos7 /

Ici, j'ai utilisé ENS37 pour configurer le serveur de démarrage PXE. Changez-le en fonction de votre configuration.

Installation et configuration de DHCP et TFTP pour PXE Boot:

Vous devez configurer un DHCP et un serveur TFTP pour PXE Boot. J'utiliserai dnsmasq pour cela.

Tout d'abord, mettez à jour le cache du référentiel de package YUM avec la commande suivante:

$ sudo yum makecache

Maintenant, installez le dnsmasq avec la commande suivante:

$ sudo yum install -y dnsmasq

DNSMASQ doit être installé.

Maintenant, renommez l'original / etc / dnsmasq.confli déposer à / etc / dnsmasq.confli.sauvegarde comme suit:

$ sudo mv -v / etc / dnsmasq.conf / etc / dnsmasq.confli.sauvegarde

Maintenant, créez un vide dnsmasq.confli fichier avec la commande suivante:

$ sudo vi / etc / dnsmasq.confli

Maintenant, saisissez les lignes suivantes dans le fichier:

interface = ENS37
liaison à interfaces
domaine = Linuxhint.local

DHCP-Range = ENS37,192.168.50.100 192.168.50.240 255.255.255.0,8h
dhcp-option = option: routeur, 192.168.50.1
dhcp-option = option: dns-server, 192.168.50.1
dhcp-option = option: dns-server, 8.8.8.8

Activer TFTP
tftp-root = / netboot / tftp
dhcp-boot = pxelinux.0, Linuxhint, 192.168.50.1
PXE-PROMPT = "Appuyez sur F8 pour le démarrage du réseau PXE.", 5
pxe-service = x86pc, "installer le système d'exploitation via PXE", pxelinux

Le fichier de configuration final doit ressembler comme suit. Une fois que vous avez terminé, enregistrez le fichier de configuration.

Maintenant, créez un nouveau répertoire / netboot / tftp pour TFTP comme suit:

$ sudo mkdir -p / netboot / tftp

Maintenant, redémarrez le dnsmasq Service avec la commande suivante:

$ sudo systemctl redémarrer dnsmasq

NOTE: Je définis SELINUX en mode permissif sur ma machine CentOS 7. Parce que, si Selinux est défini sur le mode d'application, DNSMASQ ne démarre pas dans cette configuration. Couvrir SELINUX est hors de l'étendue de cet article.

Maintenant, vérifiez si le service DNSMASQ est en cours d'exécution ou non avec la commande suivante:

$ sudo systemctl status dnsmasq

Comme vous pouvez le voir, le service DNSMASQ fonctionne.

Maintenant, ajoutez le service DNSMASQ au démarrage du système comme suit:

$ sudo systemctl activer dnsmasq

Installation et configuration du chargeur de démarrage PXE:

Maintenant, vous devez installer les fichiers PXE Bootloader et les copier dans le répertoire root TFTP.

Pour installer les fichiers de chargeur de démarrage PXE, exécutez la commande suivante:

$ sudo yum install -y syslinux

Une fois Syslinux installé, copiez le pxelinux.0 et menu.C32 fichiers au / netboot / tftp Répertoire comme suit:

$ sudo cp -v / usr / share / syslinux / pxelinux.0, menu.c32 / netboot / tftp /

Maintenant, créez un répertoire de configuration de chargeur de démarrage PXE / netboot / tftp / pxelinux.CFG / comme suit:

$ sudo mkdir / netboot / tftp / pxelinux.CFG

Maintenant, créez le fichier de configuration par défaut de PXE Bootloader de PXE / netboot / tftp / pxelinux.CFG / par défaut comme suit:

$ sudo touch / netboot / tftp / pxelinux.CFG / par défaut

Le serveur TFTP est désormais en mesure de servir tous les fichiers de chargeur de démarrage requis sur le réseau.

Installation du serveur Web Apache:

Fedora 30 Workstation utilise Dracut comme fournisseur d'options de ligne de commande du noyau. Il prend en charge le démarrage PXE sur HTTP. Donc, je vais utiliser le serveur Web Apache 2 pour servir les fichiers Fedora 30 Workstation sur le réseau.

Pour installer le serveur Web Apache 2, exécutez la commande suivante:

$ sudo yum install -y httpd

Apache 2 doit être installé.

Maintenant, faites un lien symbolique / netboot / www de la / var / www / html Répertoire pour une gestion plus facile du serveur de démarrage PXE comme suit:

$ sudo ln -s / var / www / html / netboot / www

Le lien symbolique doit être créé.

$ ls -l / netboot /

Maintenant, commencez le httpd Service comme suit:

$ sudo systemctl start httpd

Maintenant, vérifiez si le httpd Le service fonctionne comme suit:

$ sudo systemctl status httpd

Comme vous pouvez le voir, le httpd Le service s'exécute correctement.

Maintenant, ajoutez le httpd Service au démarrage du système avec la commande suivante:

$ sudo systemctl activer httpd

Préparation du poste de travail Fedora 30 pour PXE Boot:

Maintenant, téléchargez l'image ISO Fedora 30 Workstation Live avec la commande suivante:

$ wget https: // télécharger.fedoraproject.org / pub / fedora / linux / releases / 30 / workstation /
x86_64 / iso / fedoraworkstation-live-x86_64-30-1.2.ISO

Il faudra un certain temps pour que le téléchargement termine.

Maintenant, montez l'image ISO en direct Fedora 30 en direct sur le / mnt Répertoire comme suit:

$ sudo Mount -o Loop FedoraworkStation-Live-X86_64-30-1.2.ISO / MNT

Maintenant, créez des répertoires dédiés pour Fedora 30 Workstation / netboot / www / fedora30 / et / netboot / tftp / fedora30 / comme suit:

$ sudo mkdir -v / netboot / tftp, www / fedora30

Maintenant, copiez le contenu du fichier ISO dans le / netboot / www / fedora30 / Répertoire comme suit:

$ sudo cp -rfv / mnt / * / netboot / www / fedora30 /

Le contenu du fichier ISO de la station de travail Fedora 30 doit être copié.

Maintenant, copiez le initrd.IMG et vmlinuz Fichiers de Fedora 30 Workstation au / netboot / tftp / fedora30 / Répertoire comme suit:

$ sudo cp -v / netboot / www / fedora30 / images / pxeboot / initrd.IMG, VMLINUZ
/ netboot / tftp / fedora30 /

Maintenant, vous pouvez décalé l'image ISO de la station de travail Fedora 30 et la supprimer si vous le souhaitez.

$ sudo umount / mnt
$ rm fedora-workstation-live-x86_64-30-1.2.ISO

Ajout d'une entrée de démarrage PXE pour Fedora 30 Workstation:

Maintenant, vous devez ajouter une entrée de démarrage pour la station de travail Fedora 30 sur le / netboot / tftp / pxelinux.CFG / par défaut déposer.

Ouvrez le fichier de configuration du menu de démarrage PXE / netboot / tftp / pxelinux.CFG / par défaut Pour l'édition comme suit:

$ sudo vi / netboot / tftp / pxelinux.CFG / par défaut

Maintenant, ajoutez les lignes suivantes au fichier.

menu par défaut.C32
étiqueter l'installation_fedora30
Étiquette de menu ^ Installer Fedora 30 Offre de travail
Menu par défaut
noyau fedora30 / vmlinuz
ajouter initrd = fedora30 / initrd.IMG ROOT = Live: http: // 192.168.50.1 / Fedora30 /
Liveos / squashfs.IMG Plymouth.Activer = 1 rd.en direct.Image Rd.luks = 0 rd.md = 0
rd.dm = 0 rd.en direct.RAM = 1

Le fichier de configuration final doit ressembler comme suit. Une fois que vous avez terminé, enregistrez le fichier.

Ajout de règles de pare-feu:

Maintenant, vous devez ouvrir des ports à partir de votre pare-feu pour que le serveur de démarrage PXE fonctionne.

Autorisez le service DHCP comme suit:

$ sudo Firewall-Cmd --zone = public --add-Service = DHCP - Permanent

Autorisez le service HTTP comme suit:

$ sudo Firewall-cmd --zone = public --add-service = http --permanent

Autorisez le service TFTP comme suit:

$ sudo Firewall-cmd --zone = public --add-service = TFTP - Permanent

Autorisez le port UDP 4011 et 69 comme suit:

$ sudo Firewall-Cmd --zone = public --add-port = 4011 / udp --permanent
$ sudo Firewall-cmd --zone = public --add-port = 69 / udp --permanent

Maintenant, rechargez le pare-feu comme suit:

$ sudo Firewall-CMD - Reload

Installation du poste de travail Fedora 30 via PXE:

Maintenant, sur le client PXE où vous souhaitez installer Ubuntu 18.04 LTS sur le réseau via PXE, accédez au BIOS et sélectionnez le démarrage réseau.

Lorsque vous voyez le message suivant, appuyez sur sur votre clavier.

Maintenant, sélectionnez Installez le système d'exploitation via PXE et presser .

Vous n'aurez qu'une seule option. Alors, appuyez juste .

Fedora 30 Workstation Installer en direct devrait démarrer.

Maintenant, vous pouvez l'installer sur votre machine client comme d'habitude.

C'est donc ainsi que vous configurez le serveur de démarrage PXE sur CentOS 7. Merci d'avoir lu cet article.