Vous êtes sur la page 1sur 14

IUP GMI d’Avignon

Installation des OS par réseaux


PXE

Etudiants : Mohamed ELHAMMOUTI Tuteur : Hayel YEZEKAEL


Jalal BOUHAFER
Résumé :

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

I- Présentation du projet ............................................................................................................ 4


1- Objectif du projet ............................................................................................................... 4
2- Description du projet.......................................................................................................... 4
II- Etude du projet ...................................................................................................................... 4
1- le matériel nécessaire. ........................................................................................................ 4
2- les logiciels nécessaires...................................................................................................... 5
III- Installation des OS par PXE. ............................................................................................... 5
1- Serveur DHCP. .................................................................................................................. 5
a- Définition. ...................................................................................................................... 5
b- Configuration du serveur DHCP. ................................................................................... 6
2. Serveur TFTP. .................................................................................................................... 7
a- Définition ....................................................................................................................... 7
b- Configuration du serveur TFTP ..................................................................................... 8
3- Serveur PXE....................................................................................................................... 8
a- définition ........................................................................................................................ 8
b- configuration du serveur pxe ......................................................................................... 9
V- Boot sur l’image de serveur par PXE.................................................................................. 11
1- Serveur DHCP ................................................................................................................. 11
2- PXE Grub ......................................................................................................................... 11
3- Le serveur NFS ................................................................................................................ 12
VI- Répartition des tâches et gestion du groupe ...................................................................... 13
1-Installation d’OS par réseau : ............................................................................................ 13
2-Démarrage par Réseau avec l’Image système : ................................................................ 13
VII- Difficultés rencontrées ..................................................................................................... 13
VIII- Conclusion ...................................................................................................................... 14
I- Présentation du projet

1- Objectif du projet

Ce projet a pour objectif de mettre en place un système de démarrage de système


d’exploitation à travers un réseau intranet.
Ce projet pourra être utilisé notamment pour l’administration des salles réseaux de
l’IUP.

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, ...).

II- Etude du projet

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:

o Configuration de démarrage sur la carte réseau.

III- Installation des OS par PXE.

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.

b- Configuration du serveur DHCP.

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;

# Permet le boot réseau pour TFTP


allow bootp;
allow booting;

# le serveur DHCP 192.168.1.1 attribue aux hosts des IP dans


# la plage d’adressage entre 10 et 30.
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.30;
next-server 192.168.1.1;
filename "pxelinux.0";
}

# 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

Nous avons configuré ce serveur, installer le paquet tftpd-hpa Accessible avec la


commande:
# apt-get install tftpd-hpa xinetd
Une fois le paquet installé, il faut ensuite le configurer on créant le fichier tftp dans la
repertoire /etc/xinetd.d avec # vim /etc/xinetd.d/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

only_from = 192.168.1.0/24 # le réseau qui contient


le serveur TFTP
interface = 192.168.1.1 # l’adresse IP du serveur
TFTP
}

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.

Le dossier « pxelinux.cfg » contient le fichier default. Ce dernier fait appel au fichier


menu.cfg qui contient le script de démarrage ainsi que le menu de choix de différentes options
d’installation au de récupération d’image de démarrage.

Voici le contenu de notre fichier default.

include /boot-screens/menu.cfg
default /boot-screens/vesamenu.c32
prompt 0
timeout 60

Voici un extraie de notre fichier menu.cfg.


menu hshift 13
menu width 49

menu title Menu d’Installation et de Boot


menu background boot-screens/splash.png
menu color title * #FFFFFFFF *
menu color border * #00000000 #00000000 none
menu color sel * #ffffffff #76a1d0ff *
menu color hotsel 1;7;37;40 #ffffffff #76a1d0ff *
menu color tabmsg * #ffffffff #00000000 *
menu vshift 12
menu rows 10
menu tabmsgrow 16
menu timeoutrow 17
menu tabmsg Press ENTER to boot or TAB to edit a menu entry
menu autoboot Starting Local System in # seconds

prompt 0

label boot local


menu label ^Boot: Disque local
menu default
localboot 0
timeout 200
totaltimeout 1200

menu begin debian


menu title Debian
label mainmenu
menu label ^Back..
menu exit
menu begin debian-etch
menu title Debian Etch
label mainmenu
menu label ^Back..
menu exit
menu begin debian-etch-i386
menu title Debian Etch i386
label mainmenu
menu label ^Back..
menu exit
DEFAULT install
LABEL install
kernel debian-etch/i386/linux
append vga=normal initrd=debian-
etch/i386/initrd.gz --
LABEL expert
kernel debian-etch/i386/linux
append priority=low vga=normal
initrd=debian-etch/i386/initrd.gz --
LABEL rescue
kernel debian-etch/i386/linux
append vga=normal initrd=debian-
etch/i386/initrd.gz rescue/enable=true --
LABEL auto
kernel debian-etch/i386/linux
append auto=true priority=critical
vga=normal initrd=debian-etch/i386/initrd.gz --
menu end
V- Boot sur l’image de serveur par PXE

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

# option grubmenu code 150 = string;

Le code est utilisé dans la communication entre le serveur et le client et permet de se


référer à l’option concernée. Le type renseigne sur la nature de l’information véhiculée par
l’option. Ici nous utilisons le code 150. Ceci n’est pas un choix arbitraire. C’est le code que
Grub utilise pour récupérer l’information dont il a besoin. La nature de cette information est
une chaîne de caractères désignant, au format Grub, l’emplacement du fichier de
configuration menu.lst.

2- PXE Grub

Le Grub livré en standard avec la distribution de Linux ne met pas à disposition le


chargeur pxegrub.

Pour installer un Grub :

# apt-get build-dep grub


# apt-get source 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)

kernel debian-etch/i386/linux/vmlinuz rw ip=dhcp root=/dev/nfs


nfsroot=192.168.1.1:/debian-etch/i386
append priority=low vga=normal initrd=debian-etch/i386/initrd.img

On retrouve le (nd) permettant à Grub de récupérer en TFTP l’image du noyau.

On précise en argument du noyau l’obtention d’une adresse IP via DHCP et un


système de fichier racine en NFS provenant d’un serveur utilisant l’adresse 192.168.1.1.

3- Le serveur NFS

Le système de fichiers en réseau (Network File System ou NFS) est un protocole


développé par Sun Microsystems qui permet à un ordinateur d'accéder à des fichiers via un
réseau.
Ce système de fichiers en réseau permet de partager des données principalement entre
systèmes UNIX.
Après le démarrage du client, la réception et l’exécution de Grub, le téléchargement
des images noyau et d’initrd, le système aura besoin d’un véritable système de fichiers.
Celui-ci sera monté à la racine et utilisé comme avec un disque local. Pour faire cela, nous
avons utilisé NFS.

Pour Installer NFS il suffit de taper :

# apt-get install nfs-kernel-server

Pour configurer NFS On limite ici les accès à un sous-réseau spécifique


Pour cela nous avons ajouté la ligne suivante :

/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

2-Démarrage par Réseau avec l’Image système :

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

VII- Difficultés rencontrées


Tout au long de la réalisation de notre projet nous avons été confrontés à de
nombreuses difficultés qui nous ont retardés et qui étaient liées pour la plupart du temps à des
problèmes matériels.
Nous n’avons pas pu avoir une machine cliente qui possède une carte réseau avec boot
rom PXE pour pouvoir tester le boot par réseau. Nous avons fais la mise à jour du noyau linux
de la machine cliente pour qu’elle puisse démarrer sur le réseau mais cette opération à
échouée par ce qu’il fallu une carte réseau avec certaines configurations.

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.