Table des matières

PXE

EN COURS DE RÉDACTION - NON TESTÉ

Voir le forum DF ici :

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.

Serveur de boot PXE

Le serveur de boot est composé de trois parties:

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 !