Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

PXE

  • Objet : PXE
  • Niveau requis :
  • Commentaires : Environnement d'exécution préalable au boot
    • Création par smolski le 27/05/2010
    • Testé par …. le ….
  • Commentaires sur le forum : C'est ici1)

EN COURS DE RÉDACTION - NON TESTÉ

Définition de PXE :

Pre-boot eXecution Environment. Environnement d'exécution préalable au boot.

Préalable

L'environnement PXE permet de démarrer un ordinateur en récupérant une image d'un système d'exploitation qui se trouve sur un serveur.

  • Cela permet de démarrer un système sur une machine sans disque dur, ni de lecteur de CD/DVD ni de port USB.
  • Un serveur de boot PXE permet aussi d'installer un système dans un parc informatique par le réseau.

Serveur de boot PXE

Le serveur de boot est composé de trois parties:

  • Le serveur DHCP qui envoie une adresse IP dynamique au client.
  • Le serveur TFTP qui envoie les premiers fichiers de démarrage (gestionnaire d'amorçage et noyau) au client
  • Le serveur HTTP qui envoie les systèmes de fichiers racine (ce n'est plus obligatoirement http)

Ces trois serveurs fonctionnent sur une seule machine ou peuvent être repartis sur plusieurs machines.

Le processus de boot PXE

PC client = PC à démarrer par le réseau

Voici les étapes importantes du processus :

  1. Quand l'ordinateur PC client essaie de démarrer avec PXE, il commence par envoyer une demande d'adresse IP sur le réseau (DHCP request).
  2. Le serveur DHCP lui répond en lui envoyant une adresse IP dynamique disponible avec d'autres informations (serveur DNS, route par défaut) ainsi que l'adresse du serveur TFTP nécessaire pour la suite.
  3. Le PC client reçoit l'offre d'adresse DHCP et l'accepte. Il se connecte alors au serveur TFTP et charge les premiers fichiers de démarrage par TFTP.
  4. Le serveur TFTP lui envoie les fichiers du gestionnaire de démarrage (pxelinux) ainsi que les fichiers à afficher a l'écran par pxelinux
  5. Le PC client affiche les fichiers reçus et l'utilisateur peut choisir ses options de démarrage. Le gestionnaire de démarrage charge alors le noyau et le fichier initramfs par TFTP.
  6. Le serveur TFTP envoie le noyau et le fichier initramfs demandés précédemment.
  7. Le PC client démarre le noyau qu'il vient de recevoir et exécute le script de démarrage linuxrc qui est dans l'initramfs.
  8. Pendant le démarrage du noyau une requête DHCP est envoyée par le PC client (option ip=dhcp) pour recevoir une adresse IP. Cette nouvelle demande est nécessaire car le noyau n'a pas connaissance de l'adresse IP précédemment reçue par pxelinux.
  9. Le PC client se connecte ensuite au serveur HTTP par l'adresse IP indiquée dans les options de démarrage du noyau fournies par pxelinux. Il télécharge les fichier du système choisi par HTTP sur ce serveur et le place en mémoire vive (RAM). Ce fichier est assez volumineux car il contient tout le système à l'exception du noyau.
  10. Le PC client monte le fichier système pour pouvoir utiliser le contenu et poursuit le démarrage du système.
  11. À cette étape le serveur de démarrage n'est plus nécessaire pour le PC client.

Installation

Sur la machine serveur installer :

aptitude install openbsd-inetd tftpd-hpa dhcp3-server lftp pxe syslinux

dhcp3-server n'étant pas encore configuré, vous aurez certainement une erreur au démarrage.

Configuration

Serveur tfptd-hpa

Editez le fichier /etc/default/tftpd-hpa et modifier le “no” en “yes” ainsi :

vim /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

Démarrer le serveur tftp-hpa :

/etc/init.d/tftp-hpa start

Vérifiez si le serveur tftp tourne bien. La commande :

netstat -uap | grep tftp

doit renvoyer :

 udp        0      0 *:tftp                  *:*                                 8308/inetd

Si vous avez une erreur, inutile d'aller plus loin, le tftp ne tourne pas.

pxe

Sauvegarde :

cp /etc/pxe.conf /etc/pxe.conf_sav

Editez et modifiez le fichier /etc/pxe.conf.
(Voir la configuration d“un serveur dhcp)
Par exemple :

vim /etc/pxe.conf
which interface to use
interface=eth0
default_address=192.168.0.1

dhcpd

Sauvegarde :

cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_sav

Editez et modifiez le fichier /etc/dhcp3/dhcpd.conf

vim /etc/dhcp3/dhcpd.conf

à suivre…

Références

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/reseau/pxe.txt · Dernière modification: 16/09/2015 19:22 par Ir0nsh007er

Pied de page des forums

Propulsé par FluxBB