Installation/Configuration des services DHCP/PXE
Un article de Mille-Xterm.
Cliquer sur le lien suivant pour obtenir de l'information sur le démarrage à l'aide d'un serveur DHCP/PXE
Sommaire |
Installation et configuration des services pour l'utilisation de PXE
Afin d'utiliser le protocole de démarrage PXE, vous devez installer et configurer trois services essentiels :
- DHCP (Dynamic host configuration protocol) - Assure la configuration automatique des paramètres TCP/IP des terminaux.
- TFTP (Trivial File Transfert Protocol) - Protocole de transfert de fichiers simplifié utilisé pour envoyer les fichiers de démarrage.
- PXELINUX - Gestionnaire de démarrage qui permet de sélectionner les images de démarrage.
Le démarrage par PXE s'effectue en plusieurs étapes :
- Après le chargement du BIOS, le protocole PXE commence à s'exécuter
- À cette étape la version de PXE qui est utilisée s'affiche à l'écran.
- Recherche d'une adresse IP sur un serveur DHCP
- Vous devriez voir « DHCP.......... » s'afficher à l'écran, cela signifie que PXE est activé sur le poste.
- Réception de l'adresse IP et des informations réseau assignées au poste par le serveur DHCP
- Vous pouvez voir à l'écran plusieurs informations incluant l'adresse IP assignée au poste
- Téléchargement du gestionnaire de démarrage via TFTP
- Sélection de l'image de démarrage
- La sélection peut être effectuée automatiquement ou manuellement
- Téléchargement des fichiers de démarrage à l'aide du protocole TFTP.
- Téléchargement du vmlinuz et initrd ou du fichier image
- Exécution des fichiers de démarrage
Installation et configuration du service DHCP
Lorsque le terminal est configuré pour démarrer avec le réseau, au moment de son démarrage, une demande est envoyée au serveur DHCP afin d'obtenir une adresse IP qui permettra au terminal de s'identifier au réseau.
Pour installer le service DHCP, vous pouvez utiliser la commande suivante :
- urpmi dhcp-server
Vous pouvez ensuite configurer le service DHCP pour qu'il puisse allouer une séquence d'adresses IP destinée aux terminaux. Vous pouvez définir la séquence désirée dans le fichier dhcp.conf qui se trouve généralement sous : /etc/dhcp.conf
Exemple d'un fichier dhcp.conf :
ddns-update-style none;
default-lease-time 7200;
max-lease-time 10800;
filename "X86PC/linux/linux.0";
next-server 192.168.0.1;
subnet 192.168.0.0 netmask 255.255.255.0{
range 192.168.0.10 192.168.0.20;
}
Description des variables
ddns-update-style - Mise-à-jour dynamique du DNS default-lease-time - Durée de vie par défaut allouée aux adresses IP (temps en secondes) max-lease-time - Durée de vie maximale allouée aux adresses IP (temps en secondes) filename - Chemin relatif qui permet d'accéder à l'exécutable du gestionnaire de connexions ( comparable à grub).Certaines versions de pxe utilise un nom de fichier différent (pxelinux.0, linux.0, etc) next-server - Contient l'adresse IP du serveur tftp subnet - Définition de l'adresse réseau netmask - Définition du masque de sous-réseau range - Séquence d'adresses IP pouvant être allouée aux clients
Pour que les modifications soient prises en compte,il faut redémarrer le serveur DHCP. Pour ce faire, vous pouvez utiliser la commande suivante :
service dhcpd restart
Note : À ce niveau, si un terminal tente de démarrer via le réseau, il devrait obtenir une adresse IP et afficher un le message PXE-E32: TFTP open timeout
Installation et configuration du service TFTP
Une fois l'addresse IP obtenue, le terminal attend de recevoir les fichiers nécessaires pour son démarrage. La sélection des fichiers de démarrage est assignée au poste via le gestionnaire de démarrage(Boot Manager). Le gestionnaire de démarrage est transmis au terminal par le protocole TFTP. TFTP est une version simplifiée de FTP qui permet de transférér des fichiers. Il s'agit d'un service géré par le service xinetd (extented internet services daemon). Pour installer le service TFTP, vous pouvez utiliser la commande suivante :
- urpmi tftp-server
Normalement, la configuration par défaut de tftp-server est fonctionnel. Vous pouvez toutefois la modifier en éditant le fichier /etc/xinetd.d/tftp
Installation et configuration du gestionnaire de démarrage pxelinux
Une fois le service TFTP installé, le terminal est maintenant apte à recevoir les fichiers nécessaires pour son démarrage. Ces fichiers sont en fait un système d'exploitation minimal qui permet l'initialisation des terminaux jusqu'à la prise en charge du serveur de démarrage. Le mini système envoyé par PXE est composé de deux fichiers : Initrd et Vmlinuz
- Vous pouvez installer le service PXELINUX à l'aide de la commande :
urpmi pxelinux
Installation des images de démarrage
- L'initrd est un fichier gzipper qui contient un petit système de fichier permettant de charger des modules au noyau et qui permet aux terminaux de s'initialiser.
- Vmlinuz est le noyau compressé de GNU/Linux
Vous devez copier les images de démarrage (initrd et vmlinuz) sous le répertoire tftpboot. La version de Mandriva utilise le répertoire /var/lib/tftpboot/X86PC/linux/ pour emmagasiner ces images.
- Si vous n'avez pas d'image de démarrage (initrd et vmlinuz), vous pouvez en créer à l'aide de la procédure suivante
- Si vos images ont été générées sur un serveur de démarrage qui se trouve sur la même machine que le serveur PXE, vous pouvez les copier à l'aide de la commande :
cp /opt/xtermroot/updates/current/* /var/lib/tftpboot/X86PC/linux/
Note : Si le serveur PXE était installé lors de génération de l'initrd et du vmlinuz, les fichiers devraient avoir été copiés lors de leur génération. - Si vos images ont été générées sur un serveur de démarrage qui se trouve sur une machine distante, vous pouvez les copier en exécutant la commande suivante sur le serveur de démarrage :
scp /opt/xtermroot/updates/current/vmlinuz /opt/xtermroot/updates/current/initrd root@ADRESSEE_SERVEUR_PXE:/var/lib/tftpboot/X86PC/linux/
Configuration du gestionnaire de démarrage
La configuration du gestionnaire de démarrage se fait dans le fichier /var/lib/tftpboot/X86PC/linux/pxelinux.cfg/default
PROMPT 1 DEFAULT terminal TIMEOUT 5 label local LOCALBOOT 0 label terminal KERNEL images/vmlinuz APPEND init=/linuxrc rw root=/dev/ram0 initrd=initrd nfsroot=ADRESSE_SERVEUR_DÉMARRAGE:/opt/xtermroot vga=788
Donc, c'est le fichier pxelinux.0 qui va gérer le Boot par le réseau. Ce fichier se retrouve généralement dans la distribution de Syslinux sous: /usr/lib/syslinux/pxelinux.0
Il faut copier ce fichier dans le répertoire racine de TFTP qui se trouve généralement dans:
/tftpboot ou /tftpboot/PXEClient
Ne pas oublier de redémarrer le service DHCP après chaque modification dans le fichier de configuration: service dhcpd restart

