Académique Documents
Professionnel Documents
Culture Documents
PXE est une méthode pour booter une machine à travers un réseau. La plupart des
ordinateurs modernes sont occupés de carte réseau qui support PXE pour le boot et
l’installation à distance.
Le but de ce projet est de monter un serveur, qui contiendra d'images linux qui
pourront être facilement déployées pour les récupérées par les machines clients à travers le
réseau.
Sommaire
1- Objectif du projet
2- Description du projet
Le PXE est un système permettant de démarrer un (ou plusieurs) ordinateur avec ou
sans unité de stockage ( disque dur, disquette) par l'interface réseaux filaire.
Suivant le programme utilisé on peut faire faire plusieurs choses (démarrage sur un
disque dur a distance, installation a distance d'un OS, création/restauration d'image, ...).
1- le matériel nécessaire.
Coté serveur:
o Un ordinateur équipé d'une carte réseau haut débit (le boot rom n'est pas
nécessaire).
o Pour ce cas au minimum deux partitions.
o Une connexion internet haut débit.
Coté client:
o un ordinateur équipé d'une carte réseau avec boot rom PXE haut débit.
o Suffisamment de mémoire vive (RAM) pour charger le programme de
démarrage.
2- les logiciels nécessaires.
Coté serveur(s):
o Un serveur DHCP
o Un serveur TFTP
o Un serveur PXE
Coté client:
1- Serveur DHCP.
a- Définition.
Le serveur DHCP (Dynamic Host Configuration Protocol) est l'une des manières
d'assurer la configuration automatique des paramètres TCP/IP d'une station, notamment en lui
assignant automatiquement une adresse IP et un masque de sous-réseau. DHCP peut aussi
configurer l'adresse de la passerelle par défaut, des serveurs de noms DNS.
La conception initiale d'IP supposait le pré configuration de chaque ordinateur
connecté au réseau avec les paramètres TCP/IP adéquats : c'est l'adressage statique. Sur des
réseaux de grandes dimensions ou étendues, où des modifications interviennent souvent,
l'adressage statique engendre une lourde charge de maintenance et des risques d'erreurs. En
outre les adresses assignées ne peuvent être utilisées même si l'ordinateur qui la détient n'est
pas en service : un cas typique où ceci pose problème est celui des fournisseurs d'accès à
internet (FAI ou ISP en anglais), qui ont en général plus de clients que d'adresses IP à leur
disposition, mais dont tous les clients ne sont jamais connectés en même temps.
Le but principal de ce protocole est la simplification de l'administration d'un réseau
étant donné que l'objectif du protocole DHCP est de permettre à chaque ordinateur qui veut se
connecter sur un réseau d'obtenir dynamiquement sa configuration réseau (adresse IP,
passerelle, etc...).
Nous allons donc créer une machine qui servira de serveur DHCP. Cette machine va
servir de base pour toutes les requêtes DHCP, aussi elle doit avoir une adresse IP fixe. Dans
un réseau, des ordinateurs ayant une IP fixe et d'autres une IP dynamique peut coexister, la
seule contrainte étant qu'ils aient des adresses de même classe pour communiquer entre eux.
Le serveur DHCP que nous avons installé s'appel dhcp3-server, il est accessible via la
commande:
# apt-get install dhcp3-server
Une fois le paquet téléchargé, il nous faut alors configurer notre serveur.
Le fichier de configuration ce trouve dans :
/etc/dhcp3/dhcpd.conf
Modification du fichier de configuration dhcpd.conf :
default-lease-time 600;
max-lease-time 7200;
# Serveur "TFTP"
host tftp{
fixed-address 192.168.1.1;
}
# Serveur "pxe"
host pxe {
# adresse MAC du serveur
hardware ethernet 00:06:5B:6E:99:0F;
fixed-address 192.168.1.1;
}
Pour que le serveur DHCP puisse se lancer, il faut que notre serveur soit configuré en
adresse statique. Voici la configuration pour l’interface réseau :
/etc/network/interfaces
auto lo eth-local
iface lo inet loopback
iface eth-local
address 192.168.1.1
netmask
255.255.255.0
network 192.168.1.0
2. Serveur TFTP.
a- Définition
TFTP (pour Trivial File Transfert Protocol ou Protocole simplifié de transfert de
fichiers) est un protocole simplifié de transfert de fichiers. Il fonctionne en UDP sur le
port 69, au contraire du FTP qui utilise lui TCP (sur le port 21). L'utilisation d'UDP, protocole
"non connecté", implique que le client et le serveur doivent gérer eux-mêmes une éventuelle
perte de paquets. On réserve généralement l'usage du TFTP à un réseau local.
Les principales simplifications visibles du TFTP par rapport au FTP est qu'il ne gère
pas le listage de fichiers, et ne dispose pas de mécanismes d'authentification, ni de
chiffrement. Il faut connaître à l'avance le nom du fichier que l'on veut récupérer. De même,
aucune notion de droits de lecture/écriture n'est disponible en standard.
A cause de ces fonctionnalités absentes, FTP lui est généralement préféré. TFTP reste
très utilisé pour la mise à jour des logiciels embarqués sur les équipements réseaux (routeurs,
pare-feux, etc.)
En général le serveur TFTP permet à l'ordinateur connecté au réseau d'accéder aux
fichiers de la machine qui se trouvent dans le dossier pxelinix.cfg. Donc c'est lui qui va
fournir les fichiers nécessaires au démarrage.
b- Configuration du serveur TFTP
service tftp
{
disable = no
socket_type = dgram #socket est de type datagramme
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -v -s /var/lib/tftpboot # il contient
tous les fichiers nécessaire à la configuration des machines du
réseau
3- Serveur PXE
a- définition
Nous avons installer le serveur pxe via la commande :
# apt-get install pxe
Après nous avons installé le chargeur de boot « sysLinux » : c’est un bootloader léger
très utilisé dans le monde linux, ce package permet un démarrage via un serveur pxe.
# apt-get install syslinux
b- configuration du serveur pxe
Le dossier pxe situé dans le répertoire de boot « tftpboot » contient les programmes
d’installation ainsi que le fichier binaire de démarrage pxelinux.0.
include /boot-screens/menu.cfg
default /boot-screens/vesamenu.c32
prompt 0
timeout 60
prompt 0
Le but de cette partie est de démarrer une ou plusieurs machines du réseau local en récupérant
une image système se trouvant sur un serveur distant.
Pour faire cela nous avons passé par les mêmes étapes de l’instalation par réseau en modifiant
certains fichiers de configurations des différents serveurs et en ajoutant le composant pxeGrub
et le serveur NFS.
1- Serveur DHCP
Nous avons créé une option supplémentaire afin de passer en argument l’emplacement
du fichier menu.lst contenant la configuration de Grub
2- PXE Grub
Après l’installation du grub nous avons récuppéré le PXE Grub dans /lib/grub/i386-
pc, nous l’avons copié à l’emplacement que nous avons spécifié dans la configuration du
serveur DHCP.
Voici le contenu du fichier menu.lst que nous avons créé :
timeout 15
default 0
title linux
root (nd)
3- Le serveur NFS
/mnt/six2/diskless 192.168.1.0/255.255.255.0(ro,no_root_squash,async
VI- Répartition des tâches et gestion du groupe
1-Installation d’OS par réseau :
Tâche Etudiants
Installation et configuration du serveur EL HAMMOUTI Mohamed
DHCP
Installation et configuration du serveur TFTP BOUHAFER Jalal
Installation et configuration du serveur PXE ELHAMMOUTI Mohamed et
BOUHAFER Jalal
Creation du menu pour le choix des OS et les ELHAMMOUTI Mohamed et
étapes d’installation usuelles BOUHAFER Jalal
Tâche Etudiants
Modification et configuration du serveur EL HAMMOUTI Mohamed
Installation et configuration du PXE ELHAMMOUTI Mohamed et
BOUHAFER Jalal
Installation et configuration du serveur NFS BOUHAFER Jalal
Nous avons tester le bon fonctionnement de l’installation des OS par réseau avec notre
pc portable et a force de redémarrer le pc portable manuellement plusieurs foies, ce dernier a
eu des problèmes matérielles et logiciels ce qui nous a empêché par la suite de tester la
deuxième partie qui consiste a récupérer une image système et la charger sur la machine
cliente.
VIII- Conclusion
Le travail qui nous été donné au cours de ce semestre nous a avant tout permis
d’aborder l’administration des systèmes linux, la gestion du projet et l’organisation du travail
en équipe.
Nous avons appris à manipuler les différents fichiers de configuration des différents
serveurs utilisés dans le projet ainsi que les paramètres réseaux, les protocoles associés et les
scripts Shell.
Ce projet nous a apporté beaucoup de connaissance en matière de l’administration du
système Linux malgré les difficultés rencontrées qui nous ont empêchés de tester la deuxième
partie pour chargé une image système sur la machine cliente.