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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:reseau:pxe [30/05/2010 03:01] martin_mtl |
doc:reseau:pxe [16/09/2015 19:22] (Version actuelle) Ir0nsh007er [Références] ajout lien debian install |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== PXE ====== | ||
+ | |||
+ | * Objet : PXE | ||
+ | * Niveau requis :{{tag>avisé}} | ||
+ | * Commentaires : //Environnement d'exécution préalable au boot// | ||
+ | * Suivi :{{tag>à-tester à-compléter}} | ||
+ | * Création par [[user>smolski]] le 27/05/2010 | ||
+ | * Testé par .... le .... | ||
+ | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=136193#p136193 |C'est ici]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
+ | ===== EN COURS DE RÉDACTION - NON TESTÉ ===== | ||
+ | |||
+ | Voir le forum DF ici : | ||
+ | * http://debian-facile.org/forum/viewtopic.php?id=2629 | ||
+ | |||
+ | |||
+ | |||
+ | ===== Définition de PXE : ===== | ||
+ | |||
+ | **P**re-boot e**X**ecution **E**nvironment. 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 : | ||
+ | |||
+ | - 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). | ||
+ | - 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. | ||
+ | - 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''. | ||
+ | - Le ''serveur TFTP'' lui envoie les ''fichiers du gestionnaire de démarrage'' (**pxelinux**) ainsi que les fichiers à afficher a l'écran par ''pxelinux'' | ||
+ | - 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''. | ||
+ | - Le ''serveur TFTP'' envoie le noyau et le fichier ''initramfs'' demandés précédemment. | ||
+ | - 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''. | ||
+ | - 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**. | ||
+ | - 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. | ||
+ | - Le PC client monte le fichier système pour pouvoir utiliser le contenu et poursuit le démarrage du système. | ||
+ | - À cette étape le serveur de démarrage n'est plus nécessaire pour le ''PC client''. | ||
+ | |||
+ | ===== Installation ===== | ||
+ | |||
+ | Sur la machine serveur installer : | ||
+ | |||
+ | <code root>aptitude install openbsd-inetd tftpd-hpa dhcp3-server lftp pxe syslinux</code> | ||
+ | |||
+ | ''dhcp3-server'' n'étant pas encore configuré, vous aurez certainement une erreur au démarrage. | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | ==== Serveur tfptd-hpa ==== | ||
+ | |||
+ | [[doc:editeurs:vim:vim|Editez le fichier]] ''/etc/default/tftpd-hpa'' et modifier le "no" en "yes" ainsi : | ||
+ | |||
+ | <code root>vim /etc/default/tftpd-hpa</code> | ||
+ | <code> | ||
+ | #Defaults for tftpd-hpa | ||
+ | RUN_DAEMON="yes" | ||
+ | OPTIONS="-l -s /var/lib/tftpboot" | ||
+ | </code> | ||
+ | |||
+ | Démarrer le serveur tftp-hpa : | ||
+ | <code root>/etc/init.d/tftp-hpa start</code> | ||
+ | |||
+ | Vérifiez si le serveur tftp tourne bien. | ||
+ | La commande : \\ | ||
+ | <code root>netstat -uap | grep tftp</code> | ||
+ | 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 : | ||
+ | <code root>cp /etc/pxe.conf /etc/pxe.conf_sav</code> | ||
+ | |||
+ | Editez et modifiez le fichier ''/etc/pxe.conf''. \\ | ||
+ | (//Voir la configuration d"un serveur dhcp//) \\ | ||
+ | Par exemple : | ||
+ | |||
+ | <code root>vim /etc/pxe.conf</code> | ||
+ | <code>which interface to use | ||
+ | interface=eth0 | ||
+ | default_address=192.168.0.1 | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== dhcpd ==== | ||
+ | |||
+ | Sauvegarde : | ||
+ | <code root>cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf_sav</code> | ||
+ | |||
+ | Editez et modifiez le fichier ''/etc/dhcp3/dhcpd.conf'' | ||
+ | <code root>vim /etc/dhcp3/dhcpd.conf</code> | ||
+ | //à suivre...// | ||
+ | |||
+ | |||
+ | ===== Références ===== | ||
+ | |||
+ | * [[http://www.debian.org/releases/stable/i386/ch04s05.html.fr|Préparer les fichiers pour amorcer depuis le réseau avec TFTP]] | ||
+ | * [[https://wiki.debian.org/PXEBootInstall|Installer Debian via PXEBOOT (anglais)]] | ||
+ | |||