MoneyCashBAR
     
Stats du site :
103 Forums avec 30 inscrits.
3 Visiteurs en ligne
Galoula France ! Bricolages Projets Expériences PXE Tutoriels Moi Services Argent du NET Autres Liens  
 

II - Réalisation du projet

II - Réalisation du projet

Installation de Debian

- Télécharger une image ISO du CD-ROM d'installation de Debian sur cette adresse par exemple : http://debian.mirror.inra.fr/debian-cd/4.0_r1/i386/iso-cd/debian-40r1-i386-businesscard.iso

- Graver le fichier ISO avec le logiciel de gravure habituellement utilisé.

- Démarrer l'ordinateur sur le lecteur de CD-ROM.
Ecran Debian Boot
Copie d’écran présentant l’installation de Debian via le PXE (effectuée à domicile) et non via un CD.

Mais la procédure d’installation est similaire à celle effectuée avec le CD-ROM.
A une exception près, via le PXE, on installe, en premier, le programme d’installation sur le disque dur client, puis on lance l’installation à partir de celui-ci.

Installation du programme d’installation

Debian à une installation en deux phases : L’installation du système d’installation qui est en fait une version de Debian très minimaliste, pouvant se connectée aux serveurs Debian pour y télécharger et installer les paquets.

Ci-dessous les phase un peut « critiques » de l’installation de celui-ci, le restes étend simple comme la sélection de la langue du programme d’installation on été négligées.

Choix du nom d'hote

Après la détection de ma carte réseau, on nous demande le nom d’hôte réseau pour l’ordinateur. C’est un peu comme le nom de l’ordinateur sous Windows. Celui-ci n’influenceras pas sur le nom pour les futurs partages SAMBA.

Choix du Disque Dur de Destination

Une fois le programme d’installation chargée en mémoire, on nous demande quel sera le disque qui contiendra le système Debian.

Choix du Type de Partionnement

Ici on choisis la méthode de partitionnement, tout dans une partition fonctionneras très bien vu que les seules données réelles seront dans un seconde disque dur physique.

Installation du système d’exploitation

Une fois le programme d’installation mis en place, l’ordinateur redémarre pour installer le système final.


Choix du Mot De Passe Root

Ici, c’est le cœur de la sécurité : Choisir le mot de passe « root ». On y met un mot de passe le plus compliquer qu’il soit.

Le panneau suivant nous demandera de le confirmer.

Création utilisateur standard

On peut créer un utilisateur « standard ».
Pour le projet, je n’en ai pas besoin.
Je n’ai donc pas créé d’utilisateur standard.

Application du nom d'hote

On redonne le nom de l’ordinateur, ici « PXE-Galoula ».

Choix des mise à jours.

Les mises à jours ne sont pas obligatoires, mais nous allons les installées pour plus de sécurité.

Choix des locales.

Et ici on sélectionne les jeux de caractères.
On peut aussi ajouter UTF8 pour le logiciel putty que l’on va utiliser plus tard.

Choix des paquets.

Ici c’est un peut comme le a section « ajout/suppression de programmes ».
Nous n’allons rien installer de superflus.

Le programme d’installation du système d’exploitation est terminé.

Comme on l’as vu nous avons rien installés des logiciels proposés : La plupart nous serviras pas. De plus pour avoir un système sécurisé, nous devons plutôt partir de rien et installer que ce que l’on a besoin que d’avoir tous et de retirer ce qui nous sert pas. C’est exactement comme pour les paramètres d’un FireWall (Pare Feu).

De plus, ceci permet au disque dur de moins travailler, de ne pas ou presque pas se fragmenter, alonnger sa durée de vie et enfin accélère le temps du démarrage du serveur.

Préparation de la configuration de la base du serveur.

Nous utilisons cette machine comme serveur. Nous devons donc être un minimum sur cette machine, et par conséquent, la console de cette machine ne nous serviras pas.
De plus nous n’installerons pas de jolies interfaces graphiques dessus que ne peuvent que nous apporter des malheurs et de la mémoire à perdre.
On n’installe que ce que l’on as besoin, car moins il y as de choses superflues, moins de bugs on trouveras.

Mais nous devons toujours avoir un accès à cet ordinateur, pour configurer on simplement redémarrer la machine plus tard.

Sous Windows on connaît VNC et le bureau à distance par exemple pour ce qui est le plus utilisé.
Sous un système UNIX, on utilise le plus souvent SSH que est un protocole semblable à Telnet mais avec des connexions biens plus sécurisée dû au cryptage de données.

Installation d’un serveur SSH

Nous avons encore notre console de branchée sur notre serveur.
Nous nous connecterons donc en root avec le mot de passe associé, puis lance l’outil « apt ».
Apt est un peut comme l’ « Ajout-Suppression de programmes » sous Windows.

Nous allons donc beaucoup utiliser le logiciel apt et notamment la fonction get install, qui permet de télécharger le paquet puis de l’installer automatique sans devoir compiler celui-ci.
De plus il apt gère bien les dépendances des paquets.

Nous lancerons donc la commande apt-get install ssh pour installer ssh.
Installation de SSH
Copie d’écran de la console du serveur à l’installation de SSH.

Utilisation d’un client SSH


Une fois le serveur ssh installer sur mon linux, on vas sur notre PC distant d’administrateur qui sur lequel j’ai installer le logiciel PUTTY qui permet de se connecter à SHH à partir d’un
pc sous Windows.

Putty à l’avantage d’exister sur quasiment toutes les plates formes, et surtout c’est un outil gratuit et open source.

Son utilisation est très simple :

On donne l’adresse IP ou le nom d’hôte du serveur SSH sur lequel on souhaite se connecter et putty vas nous ouvrir une console (ressemblant à DOS) pour demande le login et mot de passe.

Une fois connecter, on as une console comme si l’on avais l’écran branché sur la machine physique.
Écran de connexion Putty
A partir de maintenant, toutes les manipulations sont faites à partir de putty, et la console est totalement débranchée.

Ne pas oublier avant de débrancher physiquement la console (notamment le clavier) de configurer le BIOS du serveur pour lui indique de ne pas relever les erreurs de clavier.

Mise à jour du système

Malgré que l’on ait installé Debian depuis Internet, ceci ne veut pas dire que l’on a tous les paquets à la dernière version. Nous allons utiliser une commande qui va permettre de mettre à jours la distribution Debian :

PXE-Galoula:~# apt-get dist-upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Calcul de la mise à jour... Fait
Les paquets suivants seront mis à jour :
  linux-image-2.6.18-4-686
1 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 16,3Mo dans les archives.
Après dépaquetage, 1815ko d'espace disque seront libérés.
Souhaitez-vous continuer [O/n] ?

Après l’installation des mises à jours, le système recommande de faire un redémarrage, car en effet le noyau en lui-même à été mis à jour.

La commande sous Linux de redémarrage est init 6. Nous avons aussi possibilité d’utiliser l’alias « reboot »

PXE-Galoula:~# init 6

Fixage de l’adresse réseau

égie d’entreprise dit que tout serveur doit avoir une adresse IP fixe.
Ce serveur qui sera autonome devra donc suivre obligatoirement cette stratégie.
Voilà la procédure pour fixer cette adresse IP en fixe.
Nous allons utiliser un éditeur de texte « vim » pour configurer l’adresse réseau IP.

PXE-Galoula:~# vim /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# allow-hotplug eth0
# iface eth0 inet dhcp
auto eth0
iface eth0 inet static
       address 10.33.24.3
       netmask 255.255.255.0
       network 10.33.24.0
       broadcast 10.33.24.255
       gateway 10.33.24.254

Préparation du second disque dur.

Dans la machine, il y a un second disque dur pour recevoir les images utilisateur.
Dans la maquette c’est un simple disque dur, mais en entreprise on utiliserait plus un RAID physique pour un maximum de sécurité.

Partitionnement.

PXE-Galoula:~# fdisk
Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): p

Disk /dev/hdb: 30.0 GB, 30005821440 bytes
16 heads, 63 sectors/track, 58140 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-58140, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-58140, default 58140):
Using default value 58140

Command (m for help): p

Disk /dev/hdb: 30.0 GB, 30005821440 bytes
16 heads, 63 sectors/track, 58140 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1       58140    29302528+  83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Périphérique ou ressource occupé.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

On redémarre comme l’as demander fdisk:

PXE-Galoula:~# init 6

Formatage du second disque dur

Une simple ligne de commande permet de formater un disque dur pour qu’il soit reconnu et accessible par le système unix.

PXE-Galoula:~# mkfs.ext3 /dev/hdb1
mke2fs 1.40-WIP (14-Nov-2006)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=4096 (log=2)
Taille de fragment=4096 (log=2)
3662848 i-noeuds, 7325632 blocs
366281 blocs (5.00%) réservés pour le super utilisateur
Premier bloc de données=0
Nombre maximum de blocs du système de fichiers=0
224 groupes de blocs
32768 blocs par groupe, 32768 fragments par groupe
16352 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000

Écriture des tables d'i-noeuds : complété
Création du journal (32768 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété

Le système de fichiers sera automatiquement vérifié tous les 22 montages ou
après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
pour écraser la valeur.

Montage du second disque dur

Nous allons « monter » le second disque dur ce qui correspond à avoir le disque dur comme un répertoire. Ce disque doit être accessible pour le système de n’importe quelle manière :

PXE-Galoula:~# mkdir /mnt/Images
PXE-Galoula:~# mount -t ext3 /dev/hdb1 /mnt/Images/
PXE-Galoula:~# chown nobody /mnt/Images/
PXE-Galoula:~# chmod 777 /mnt/Images/

Vérification du montage et de l’espace libre

PXE-Galoula:~# df
Sys. de fich.        1K-blocs       Occupé Disponible Capacité Monté sur
/dev/hda1             18492940    742388  16811156   5% /
tmpfs                   127940         0    127940   0% /lib/init/rw
udev                     10240        48     10192   1% /dev
tmpfs                   127940         0    127940   0% /dev/shm
/dev/hdb1             28842748    176200  27201424   1% /mnt/Images

Remontage au redémarrage

Linux ne montent pas les lecteurs automatiquement contrairement à un Windows XP.
Nous devons modifier un fichier système de linux pour que le disque dur que l’on vienT de configurer soit remonté dans les prochains redémarrages.

PXE-Galoula:~# vim /etc/fstab

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/hda1       /               ext3    defaults,errors=remount-ro 0       1
/dev/hda5       none            swap    sw              0       0
/dev/hdc        /media/cdrom0   udf,iso9660 user,noauto     0   0
/dev/hdb1        /mnt/Images     ext3    defaults        0       0

Installation des services sur le serveur.

Pour que le projet fonctionne nous devons installer les services nécessaires au PXE et à Windows PE.

Le service DHCP

Le serveur DHCP vas être obligatoire dans notre configuration :
Vu que nous sommes sur un réseau à part entière, les clients ne reçoivent pas d’adresse IP.
Ce service va permettre aux clients de recevoir automatiquement leur adressage IP.

Installation du DHCP

PXE-Galoula:~# apt-get install dhcp3-server
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les NOUVEAUX paquets suivants seront installés :
  dhcp3-server
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 292ko dans les archives.
Après dépaquetage, 836ko d'espace disque supplémentaires seront utilisés.

Configuration du DHCP

PXE-Galoula:~# vim /etc/dhcp3/dhcpd.conf

option domain-name "galoula.com.local";
option domain-name-servers 10.33.24.1, 10.33.24.254;
option routers 10.33.24.254;
default-lease-time 3600;
next-server                   10.33.24.3;

subnet 10.0.0.0 netmask 255.0.0.0 {
 range 10.33.24.50 10.33.24.99;
 server-name "Images-PXE";
 filename "pxelinux.0";
 }

Commentaires sur le fichier de configuration

La ligne « server-name "Images-PXE" ;» doit contenir le nom du serveur auquel le TFTP vas se connecter.
Dans ma configuration mono-serveur, tout est le même serveur à Le nom du serveur est donc mon nom d’hôte local.
La ligne « filename "pxelinux.0"; » contient le nom du fichier à télécharger par TFTP l’ors de l’attribution IP via le service PXE.

Test du DHCP

Sur un des client en XP, j’ai simplement mit la carte réseau en DHCP, et lancer les commandes MS-DOS.

C:\Profils\Galoula>ipconfig/all
Configuration IP de Windows

        Nom de l'hôte . . . . . . . . . . : inspiron-6000
        Suffixe DNS principal . . . . . . : groupertl.net
        Type de noud . . . . . . . . . .  : Hybride
        Routage IP activé . . . . . . . . : Non
        Proxy WINS activé . . . . . . . . : Non
        Liste de recherche du suffixe DNS.: groupertl.net

Carte Ethernet Connexion au réseau local :

        Suffixe DNS propre à la connexion  : groupertl.net
        Description . . . . . . . . . . .  : Broadcom 440x 10/100 Integrated Con
troller
        Adresse physique . . . . . . . . . : 00-14-22-E7-28-E4
        DHCP activé. . . . . . . . . . .   : Oui
        Configuration automatique activée  : Oui
        Adresse IP. . . . . . . . . . . .  : 10.33.24.61
        Masque de sous-réseau . . . . . .  : 255.0.0.0
        Passerelle par défaut . . . . . .  : 10.33.24.254
        Serveur DHCP. . . . . . . . . . .  : 10.33.24.3
        Serveurs DNS . . . . . . . . . .   : 10.33.24.1
                                            10.33.24.254
        Bail obtenu . . . . . . . . . . .  : jeudi 24 mai 2007 13:18:16
        Bail expirant . . . . . . . . . .  : jeudi 24 mai 2007 14:18:16

C:\Profils\Galoula>

On vois bien que l’adresse IP (10.33.24.3) du serveur DHCP qui à fournis mon adresse IP du client (10.33.24.61) est bien l’adresse IP qui j’ai fixé au serveur

Le service SAMBA

SAMBA est un service de partage de fichier sous linux.
Le service la plus connu sous linux pour le partage de fichier en réseau est NFS.
Mais celui-ci ne fonctionnant pas sous Windows en natif, on utilise SAMBA.
SAMBA partage des fichiers sur le serveur UNIX à Windows comme l’on le connaît : \\Serveur\Partage

Installation de SAMBA

PXE-Galoula:~# apt-get install samba
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les paquets supplémentaires suivants seront installés :
  libcupsys2 samba-common
Paquets suggérés :
  cupsys-common
Paquets recommandés :
  smbldap-tools
Les NOUVEAUX paquets suivants seront installés :
  libcupsys2 samba samba-common
0 mis à jour, 3 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 5802ko dans les archives.
Après dépaquetage, 14,0Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ?

Configuration de SAMBA

PXE-Galoula:~# vim /etc/samba/smb.conf

# /etc/samba/smb.conf
[global]
workgroup = Galoula-FR
null passwords = true
netbios name = Images-PXE

# Descriptif de la machine, qui apparaît à coté du nom de la machine dans les favoris réseaux.
server string = Galoula-Sauvegardes

# Liste de noms d'utilisateurs qui n'ont pas le droit de se connecter
invalid users = root

# Politique de sécurité à appliquer
security = share

 

# Nom du compte Unix local à utiliser quand la personne se connecte
guest account = nobody

# Utilise des mots de passe crypté# OK pour Win 98, Win NT4 SP3 et les versions de Windows supérieures
encrypt passwords = true

Paramètre concernant le contrôleur de domaine : Je n’en veux pas je désactive tout.
local master = no
os level = 0
domain master = no
preferred master = no

# Je ne veux pas que mon Samba soit serveur WINS
wins support = no

unix extensions = off

# FIN des paramètres globaux du serveur

# DEBUT des paramètres septiques à chaque partage
#Images serviras à Administrer le second disque dur depuis Windows, ceci est un partage temporaire.
[Images]
     path = /mnt/Images
     comment = Images des clients
     create mask = 0600
     directory mask = 0777
     guest ok = no
     browseable = yes
     writeable = yes

#RemInt est le partage principal : Il contient les fichiers pour le Windows PE.
[REMINST]
     path =  /mnt/Images/Boot/
     browsable = true
     read only = No
     guest ok = Yes
     writeable = yes

Une fois samba reconfigurer, il est recommander de le relancer.


PXE-Galoula:~# /etc/init.d/samba restart

Test de SAMBA

Pour tester SAMBA, nous allons monter le partage Images qui nous serviras pour crée la partie Windows PE.

Faire simplement un clique droit sur le poste de travail puis connecter un lecteur réseau : Se connecter à un lecteur réseau
Maintenant, nous avons le lecteur Z:\ qui contiendra tout le nécessaire de BOOT par PXE.

Le service TFTP

Ce serveur est une version ultra simplifiée de FTP, qui ne nécessite aucune authentification. Il ne propose pas non plus l'affichage du contenu des répertoires. Donc, lorsqu'on veut récupérer un fichier, il faut connaître son nom.

Installation du service TFTP

PXE-Galoula:~# apt-get install tftpd-hpa
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les NOUVEAUX paquets suivants seront installés :
  tftpd-hpa
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 33,1ko dans les archives.
Après dépaquetage, 90,1ko d'espace disque supplémentaires seront utilisés.

Le paquet « tftpd-hpa » ne créer pas son dossier racine.
En général on prend un dossier à la racine qui se nome « tftpboot ».
On va garder ce raisonnement et créer l’arborescence par rapport à tftpboot.


PXE-Galoula:~# mkdir /tftpboot

Vus que nous devons que toute les machines physique puissent accéder au TFTP, nous devons lui donner les droits :


PXE-Galoula:~# chown nobody /tftpboot/

Mais nous avons vu que tout se passeras dans le second disque dur pour ce qui concerne les images et le système PXE en lui-même.

Nous nous connectons en temps que « nobody »


PXE-Galoula:~# su nobody

On créer le répertoire qui va contenir les binaire de démarrage du PXE :


PXE-Galoula:/root$ mkdir /mnt/Images/Boot

On créer le répertoire qui va contenir les binaire de démarrage du Windows PE :


PXE-Galoula:/root$ mkdir  /mnt/Images/Boot/reminst/

Et enfin on oblige la réplication des droits de lecture/écriture/exécution sur tout.


PXE-Galoula:/root$ chmod 777 /mnt/Images/Boot/ -R

On repasse en root pour la création d’un lien symbolique.
Ceci est un peu comme un raccourcis sous Windows.


PXE-Galoula:/root$ exit
PXE-Galoula:~# ln –s /mnt/Images/Boot /tftpboot

On repasse en nobody pour renforcer la réplication des droits d’accès à partir du lien.


PXE-Galoula:~# su nobody
PXE-Galoula:/root$ chmod 777 /tftpboot/ -R

Configuration du service TFTP

Petit rappel : Le serveur TFTP sous UNIX utilise le slash (/) comme séparateur de répertoires, alors que Windows utilise l’antislash (\)comme séparateur.

Alors on demande au serveur que quand il reçoit un demande avec dossier\fichier de rectifier en dossier/fichier avant le transfert du fichier.

Cella se fait en modifiant quelques fichiers de configurations :


PXE-Galoula:~# vim /etc/tftpd.rules

rg \\ /

Mais il faut aussi modifier les paramètres de démarrage du serveur TFTP pour qu’il se lance automatique à chaque démarrage.


PXE-Galoula:~# vim /etc/default/tftpd-hpa

#Defaults for tftpd-hpa
RUN_DAEMON="yes"
OPTIONS="-l -u nobody -m /etc/tftpd.rules -vv  -s /tftpboot"

Enfin démarrer le servie tftp à la main :


PXE-Galoula:~# /etc/init.d/tftpd-hpa start

Test du service TFTP

Nous allons tester notre serveur TFTP, pour cella on doit crée un fichier à télécharger dans le répertoire /tftpboot.

Installation du client TFTP

L’installation du client TFTP se fait comme n’importe quel autre paquet :

PXE-Galoula:~# apt-get install tftp
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les NOUVEAUX paquets suivants seront installés :
  tftp
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 15,9ko dans les archives.
Après dépaquetage, 45,1ko d'espace disque supplémentaires seront utilisés.

Crétion du fichier de test.

PXE-Galoula:~# su nobody
PXE-Galoula:/root$ vim /tftpboot/test.txt

Ceci est un fichier texte de test.

Téléchargement par TFTP du fichier de test

PXE-Galoula:/root$ tftp 10.33.24.3
tftp> get test.txt
Received 13628 bytes in 0.0 seconds
tftp>quit

Voilà notre client tftp montre que le serveur TFTP fonctionne si l’on a bien un fichier test.txt dans /root/

Mise en place du PXE

Comme nous l’avons vu, le PXE est un protocole en plusieurs parties.

Ici on va installer le fichier qui sera le 1er fichier pris sur le serveur TFTP.
Le fichier en question est dans la suite des bootloaders « syslinux ».
Il contient des bootloader pour CD-ROM disque DUR et bien sûr PXE.

Installation de syslinux

PXE-Galoula:~# apt-get install syslinux
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Paquets recommandés :
  mtools
Les NOUVEAUX paquets suivants seront installés :
  syslinux
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 325ko dans les archives.
Après dépaquetage, 684ko d'espace disque supplémentaires seront utilisés.

Ceci ne fait que de télécharger la suite syslinux.
Nous devons donc copier la partie PXE qui nous intéresse dans notre tftp.


PXE-Galoula:~# cp /usr/lib/syslinux/pxelinux.0 /mnt/Images/Boot/

Configuration de PXElinux (syslinux)

Le fichier « pxelinux.0 »que nous venons de copier est un binaire.
Il sert à charger d’autre binaires compatibles ou charger un noyau linux avec son image virtuelle.
Celui-ci se paramètre via un fichier texte.
Ce fichier texte doit être dans un répertoire « pxelinux.cfg » et se nommé soit exactement ou une partie de l’adresse mac de la machine cliente pour en ciblée une en particulier, soit se nommé « default » pour les autres machines.
Ne faisant pas de cas par cas, j’ai utilisé le fichier « default ».
Il faut bien sûr être en nobody pour faire ces manipulations.
Je montre la manipulation sous linux, mais sachez que vous pouvez le faire dans le lecteur Z:\, le problème de nobody ne se poseras pas du faite qu’avec samba vous êtes en nobody systématiquement avec la configuration que l’on as mis.

PXE-Galoula:~# su nobody
PXE-Galoula:/root$ mkdir /mnt/Images/Boot/pxelinux.cfg
PXE-Galoula:/root$ vim /mnt/Images/Boot/pxelinux.cfg/default

Display msgs/boot.msg

default local

label local
  localboot 0

label Boot
 kernel /xpe.0

timeout 100
prompt 1

Réalisation du texte d’accueil du démarrage PXE :

Pour rendre plus convivial le système, on vas crée un petit texte d’accueil.
Pour cella j’ai utilisé Windows à cause de mon jeu de caractères sous linux qui n’est pas compatible avec la console.

On ouvre un notepad (bloc Notes).


Bienvenue sur le serveur de cr‚ation d'images systŠme.

Pour lance le service, veuillez tapez "Boot".
Attention … la casse !

Service ‚dit‚ par Galoula France !
http://www.galoula.net

Puis on appuis 18 fois la touches entrée pour ne pas voir les message précédent de la console.

On enregistre ce texte sous Z:\Boot\reminst\msgs\boot.msg.

On remarque les caractères bizarres, c’est les fameux caractères accentués qui ne passent pas en mode console pur.
Pour les obtenir, on lance Menu Démarrer\Programmes\Accessoires\Outils système\Table des caractères.
On sélectionne le caractère que l’on veut dans la police TERMINAL  , puis on fait un simple copier/coller.
Sélection des caractères

Mise en place de Windows PE.

Windows PE sera la système d’exploitation exécuté le temps de la sauvegarde sur le client.
La fondation du système qu’on peut communément appeler le « noyau »  même sera en mémoire vive (RAM) du client, les compléments annexes mais non moins indispensables seront charger par le biais d’un partage réseau via le protocole SMB (SAMBA).
Il faut savoir que la première partie se déroule souvent sans trop de difficultés et les fichiers « log » du serveur TFTP donnent rapidement l’erreur s’il y en a.
Si au moment du passage TFTP à SAMBA, le système rencontre des difficultés, nous aurons le droit à un crashdebug.
Et là les fichiers log nous aident dés moins. Pour mais diagnostics, j’ai utilisé le logiciel « Ethereal » qui est un sniffeur réseau.

Je n’entre pas trop dans sont utilisation car celui-ci ne sert que pour des phases de dépannage du projet.

Mise en place des fichiers de démarrage PXE de Windows PE.

Les fichiers que nous utiliserons seront tous tiré du CD-ROM d’installation de Windows Server 2003 Entreprise Edition Version d’évaluation de 180 jours.
Sachez que notre Windows PE seras totalement reconnu comme un Windows XP.
On prend ce CD-ROM uniquement pour le fichier « startrom.N1_ » qui n’existe pas dans XP.
Certain fichier seront dans un format compresser CAB. On les reconnaît aisément avec leur extension qui fichier par un underscore ( _ ).
Pour décompresser les fichiers en question tapent simplement
« expand –r CD-ROM:\I386\fichier. ??_ »
Cette commande décompressera le fichier, et renommeras automatique le fichier avec la bonne extension.


C:\Profils\Galoula>CD /D Z:\Boot
Z:\Boot>COPY CD-ROM:\I386\SETUPLDR.BIN .\NTLDR
Z:\Boot>COPY CD-ROM:\I386\NTDETECT.COM .
Z:\Boot>COPY CD-ROM:\I386\startrom.n12 .\xpe.0

Préparation d’une Image Windows PE basique.

Nous allons crée une image de Windows PE de base qui nous serviras pour créer l’image finale.
Elle nous fournira aussi certains fichiers pour l’image finale.

J’ai utiliser un utilitaire simple d’utilisation : PeBuilder.
Après téléchargement, installation et lancement de celui-ci, nous devons lui donner quelques paramètres.
Paramètre pour PeBuilder. Paramètre pour PeBuilder.

Il va nous demander où crée l’image de notre Windows PE basique.
Nous pouvons lui demander de la crée directement dans notre partage SAMBA « reminst » dans le sous dossier qui se nommeras « XPE ».
Paramètre pour PeBuilder.

Modification du registre de Windows PE.

La base de registre qui est chargé par défaut sur Windows PE ne convient pas à 100% pour une version en réseau direct.
Nous devons donc modifier les ruches pour permettre à Windows de démarrer :

Lancer l’éditeur de base de registre Windows (regedit.exe), puis on monte la ruche « Z:\Boot\reminst\XPE\i386\system32\SETUPREG.HIV » dans une clé MACHINE\SETUPREG.HIV.
Puis l’on entre la clé « HKEY_LOCAL_MACHINE\SETUPREG.HIV\ControlSet001\Control\Session Manager\KnownDLLs » pour tout y supprimer sauf « Default » et « DllDirectory »

Installation du projet ris-linux.

Le système de démarrage PXE pour charger Windows en direct depuis le réseau, fait appel à un service PXE qui contient BINL (Boot Information Network Layer). En clair le client envois au serveur PXE des information sur sa carte réseau, et le serveur vas regarder dans sa basse de connaissance q’il as un driver adapter pour la carte réseau du client.
De plus, comme nous le savons, Windows se fou de la casse. Nous devons donc utiliser un petit programme sous UNIX pour renommer ces fichiers avec la casse originale de Windows.
En effet il est assez marrant de voir que le programmeur de Microsoft ont nommé leurs fichiers avec une casse spécifique malgré que sont système de fichier se moque de celle-ci.
Mais sous UNIX nous devons y faire attention et il existe un projet qui permet de renommer automatique les fichiers avec la bonne casse.
Je vous laisse donc deviner que ceci est à faire avec la console putty !

Tout d’abord, il faut télécharger le paquet puis le décompresser.


PXE-Galoula:~# wget http://oss.netfarm.it/guides/ris-linux-0.2.tar.gz
PXE-Galoula:~# tar zxvf ris-linux-0.2.tar.gz

On vas placez ces utilitaire dans un dossier car on en auras toujours besoins.


PXE-Galoula:~# cd ris-linux-0.2
PXE-Galoula:~/ris-linux-0.2# mkdir /tftpboot/patch/
PXE-Galoula:~/ris-linux-0.2# mv * tftpboot/patch/

On va donner les droits à tout le monde car les fichiers seront utilisés pour le PXE.


PXE-Galoula:~/ris-linux-0.2# cd /tftpboot/patch/
PXE-Galoula:/tftpboot/patch# chmod 777 *

Dans ce pack nous avons quelques fichiers qui nous intéressent personnellement :
binlsrv.py - Binl serveur pour Linux
infparser.py – Script de mise à jour de la base de données des cartes réseau.
fixup-repository.sh – Le script qui renomme les fichier pour correspondre à la casse.
winnt.sif – Fichier winnt.sif de basse pour démarrer Windows PE par montage réseau.

Configuration et exécution du script de renommage de la casse.

Le script va en fait renommer les fichiers de l’image de base Windows PE pour correspondre à la bonne casse.
Il à une variable « REP » qui indique où se trouve l’image Windows PE.
Il faut donc la modifier :


PXE-Galoula:/tftpboot/patch# vim ./fixup-repository.sh

Modifier la variable « REP=/mnt/disk/ris/pebldr » par « REP=/tftpboot/reminst/XPE »

Une fois la configuration faite, il nous reste à exécuter le script, et fignoler ce qu’il ne fait pas :

PXE-Galoula:/tftpboot/patch# ./fixup-repository.sh
PXE-Galoula:/tftpboot/patch# chmod 777 /tftpboot/reminst/XPE/ -R
Installation de Python..

Comme nous l’avons vu, dans les fichiers qui nous intéressent, certains portent l’extension « .py ». Cette extension correspond au programme Python. Nous devons donc installer Python pour pouvoir utiliser ces scripts :


PXE-Galoula:~# apt-get install python
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Les paquets supplémentaires suivants seront installés :
  mime-support python-minimal python2.4 python2.4-minimal
Paquets suggérés :
  python-doc python-tk python-profiler python2.4-doc
Paquets recommandés :
  file
Les NOUVEAUX paquets suivants seront installés :
  mime-support python python-minimal python2.4 python2.4-minimal
0 mis à jour, 5 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 3934ko dans les archives.
Après dépaquetage, 13,6Mo d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ?
Création base de données pour BINL.

Nous devons crée une basse de données des cartes réseaux supportée par l’image de Windows PE basique pour pouvoir que notre client démarre dessus.
Ce script écrit en Python permet de « scanner » les fichiers INF qui correspond aux drivers réseau.
Pour crée cette base de donnée exécutons le script avec comme paramètre le dossier qui contient les fichiers INF.

PXE-Galoula:/tftpboot/patch# ./infparser.py /tftpboot/XPE/i386/inf
Compiled 878 drivers
generated devlist.cache
generated nics.txt

Mise en place des services au démarrage de la machine.

Nous venons de crée une base de donnée BINL, nous avons lancé le serveur TFTP à la main.
Il faudrait donc que tout cella soient automatique aux prochains redémarrages.
On y ajoute aussi dedans le script qui permet de crée la base de donnée BINL pour la réactualisée à chaque démarrages.
Pour cella nous allons crée un script qui seras automatiquement lancé au démarrage du serveur.


PXE-Galoula:~# vim /etc/rcS.d/S98xpe

#! /bin/sh
#Script de démarrage PXE.
cd /tftpboot/patch/
/tftpboot/patch/infparser.py /tftpboot/reminst/XPE/i386/inf/
/tftpboot/patch/binlsrv.py -d
sh /etc/init.d/tftpd-hpa start

Mais sous linux, il faut rendre le fichier exécutable :

PXE-Galoula:~# chmod 777 /etc/rcS.d/S98xpe

Puis l’on redémarre complètement le serveur, pour tester l’image de base avec la commande « init 6 ».

PXE-Galoula:~# init 6

Test de l’image de base de Windows PE.

Une fois le serveur redémarrer, on doit tester que notre image de base fonctionne.
Pour cella, on branche un client sur le switch, puis on le démarre sur le réseau.
Habituellement c’est en tapotant sur la toucher « F12 » pour y accéder.

Création de l’image Windows PE finale.

Nous allons installer Windows XP de manière à pouvoir le réutilisé sur le PXE.
Mais nous devrons malheureusement l’installer deux fois.
On partitionne le disque dur en 2.
On installe Windows XP sur la première partition avec tout par défaut.
On formate la deuxième partition (avec le gestionnaire de disque Windows), en lui attribuant la lettre X.
Pourquoi la lettre X ?
Parce que le système PXE charge monte le lecteur racine de Windows sur X:
Puis toujours à partir de notre fraîche installation de Windows, on relance une nouvelle installation de Windows vers X:\i386 au lieu du X:\Windows par défaut.
Et pourquoi X:\i386 ?
Tout simplement car le PXE charge Windows depuis X:\i386 et nom pas X:\Windows !

Copie des fichiers.

Une fois l’installation de Windows sur X:\i386 terminée, nous pouvons éteindre cette machine pour la redémarrer sur le réseau (image de Base PXE).

Une fois sur notre interface, copiez le lecteur D:\ (En réalité c’est le lecteur X:\ mais vu que le PXE prend X:\ il le renomme en D:\) vers X:\NV
Copie des fichiers.

Une fois cella fait, éteindre le PC, copier Z:\Boot\reminst\XPE\i386\system32\config\software dans un endroit, et remplacez le contenu du dossier NV (mon dossier qui contient l’installation de Windows dans i386) par ceux de XPE.

Ensuite, renommez le dossier NV, et remplacez Z:\Boot\reminst\XPE\i386\system32\config\software par nôtre copie.

Sur la console putty refaire un chmod 777 /tftpboot/reminst/XPE/ -R

PXE-Galoula:/tftpboot/patch# chmod 777 /tftpboot/reminst/XPE/ -R

Modification du registre de l’image Windows PE.

La base de registre de Windows PE de base a eu un explorateur (A43) que l’on as vu et qui n’est pas très conviviale du fait que les fichier nécessaires pour un navigation optimale n’était pas présents.

Nous avons maintenant ces fichiers, nous allons donc paramétrer Windows PE pour utiliser L’explorateur Windows au lieu de A43.

Pour cella on doit monter la ruche qui se trouve dans « Z:\Boot\reminst\XPE\i386\system32\SETUPREG.HIV » avec l’éditeur de la base de registre Windows (regedit.exe).
Naviguez dans le registre pour aller dans « HKEY_LOCAL_MACHINE\SETUPREG.HIV\Setup », puis modifiez CmdLine pour lui inscrire explorer.exe.

Mise en place de Ghost 8 dans Windows PE.

Le projet consiste principalement à faire des images des utilisateurs.
Ghost à été sélectionne pour sa robustesse, de plus il fonctionne parfaitement sur un environnement Windows PE.

Pour le mètre en place nous devons les fichiers suivants de ghost8 sur le CD-ROM de Norton Ghost :
- ghost32.exe
- ghostcdr.dll
- ghostexp.exe
- ghostsrv.exe

Les copiez dans Z:\Boot\reminst\XPE\Program Files\ghost8 et cella suffit !

Améliorations de ghost8.

Ceci nous donne juste le droit d’avoir le programme ghost8 sur Windows PE.
Pour améliorer le programme, c'est-à-dire le lancer automatique, avec certains paramètres pour faciliter son exploitation, nous devons faire des manipulations à partir de l’interface de Windows PE.

Donc, il faut démarrer un ordinateur sur WinPE pour crée un raccourci dans le dossier démarrage vus que c’est la principale fonctionnalité de ce projet.
Le raccourci fait démarrer Ghost dans le dossier dans lequel le programme se trouve,  c'est-à-dire « X:\Program Files\ghost8 ».
Pour une meilleur organisation et productivité, on peut demander à Ghost de créer les images directement dans X:\Images pour éviter à chaque fois de redescendre l’arborescence.

Cette copie écran montre comment modifier le raccourci.
Propriétéde ghost32.exe.

Tests finaux du projet avant la livraison :

Le projet étant maintenant normalement fonctionnel, il faut le tester avant de le livrer officiellement à l’entreprise. Nous allons aussi prendre une machine d’un type inconnu du serveur pour être confronté aux problèmes de reconnaissance de la carte réseau.
Voici en images les tests.

Ajout de drivers :

Comme prévu, le serveur à rejeter le client en affichant le message de non reconnaissance de la carte réseau.

Pour ajouter ces drivers, nous utilisons les drivers constructeurs pour Windows, version 2000, XP ou encore 2003 au choix.

Les drivers réseaux sont généralement composés de deux fichiers :
Un fichier .INF, pour la reconnaissance et le paramétrage de la carte réseau par le système.
Un fichier .SYS, fichier binaire contrôlant la carte réseau en elle-même.

Pour faire reconnaître la carte réseau du client par le serveur, il faut copier le fichier .inf dans
Y:\reminst\XPE\i386\inf et de copier le fichier .sys dans Y:\reminst\XPE\i386\system32\drivers

Enfin pour régénérer la base de drivers du serveur pour que la nouvelle carte réseau soit reconnue, il faut se connecter à la console Putty et relancer la machine en tapant la commande « init 6 » ce qui redémarrera le serveur PXE.

L’interface d’accueil :

Quand les drivers réseau à été ajouter au serveur PXE, le client démarre normalement.

Le technicien arrive sur cet écran :

Ecran accueil PXE.

Le technicien du support vois une interface qui lui est familière du fait que celle-ci soit basée sur Windows, et Ghost 8 est bel et bien directement lancé pour lui faire un gain de temps.

Création d’une image :

Nous allons voir comment un technicien va créer une image d’un système client.

CrÉtion d'image via Ghost 8 - Étape 1.

Une fois l’interface d’accueil passée, il a simplement à cliquer sur LOCAL àDISK àTo Image.

Ceci désigne de copier un disque dur local vers une image.

CrÉtion d'image via Ghost 8 - Étape 2.

Cet écran permet au technicien de choisir quel disque copier. Le parc de RTL a des machines qui contiennent qu’un seul disque dur. Donc pour notre cas, on n’a pas le choix autre que de choisir le disque 1.

CrÉtion d'image via Ghost 8 - Étape 3.

Le technicien est invité à choisir un emplacement pour l’image du client. Par défaut, avec la configuration du raccourci, l’image seras crée sur le serveur PXE dans le dossier « Images ». Donc il n’aura qu’as lui donner le nom du client par exemple.

CrÉtion d'image via Ghost 8 - Étape 4.

Ensuite le technicien choisis la méthode de compression.
Plus la compression est élevée, moins l’images seras grand, mais plus on gagneras de place. Nous utiliserons la compression élevée car les calculs sont fait par le client et que ceux-ci sont suffisamment puissant pour compresser l’image rapidement.

CrÉtion d'image via Ghost 8 - Étape 5.

Une fois tous les paramètres renseignés, le technicien confirme la création de l’image.

A partir de cet instant, le client sera totalement mobilisé pour la création de son image.

CrÉtion d'image via Ghost 8 - Étape 6.

Pendant la création de l’image, le technicien peut suivre l’évolution de la création de l’image. Par exemple quel partition est en cours de sauvegarde ainsi que quel fichier est actuellement sauvegardé.

CrÉtion d'image via Ghost 8 - Étape 7.

Quand l’image est terminée, nous avons une confirmation du bon déroulement de celle-ci, ainsi qu’un petit rapport.

CrÉtion d'image via Ghost 8 - Comparaison.

La création de l’image de ce client de test dont les données s’élèvent à 4,7Go a pris 17 minutes et 42 secondes, notre image finale ne prend plus que 3,04Go !

Ce qui nous donne une compression d’environ 36% ce qui n’est réellement pas négligeable !

Restauration d’une image :

Restauration d'image via Ghost 8 - Étape 1.

Le technicien relance Ghost 8, puis navigue dans les menus :
Local à Disk à From Image

Cella signifie que nous allons restaurer une image sur un disque dur local.

Restauration d'image via Ghost 8 - Étape 2.

Le technicien choisis quelle image cliente à restaurer.

Restauration d'image via Ghost 8 - Étape 3.

Puis le disque dur de destination de celle-ci.

Restauration d'image via Ghost 8 - Étape 4.

Et enfin la ou les partitions à restaurer.
Sachant que la plupart du temps c’est le système d’exploitation qui est la cause d’une panne, nous pouvons ne pas restaure la partition données.

Restauration d'image via Ghost 8 - Étape 5.

Enfin nous devons confirmer nos choix, car ceci écrasera toutes les données sur les partitions de destination.

Restauration d'image via Ghost 8 - Étape 6.

Comme pour la création d’image, nous pouvons suivre l’évolution de la restauration.

Restauration d'image via Ghost 8 - Étape 7.

Un message à la fin de la restauration confirme le bon déroulement de la restauration et nous demande de redémarrer le client. Ceci évite une perte de données du au repartitionnement.

Ghost Explorer :

On a vu comment restaurer une partition ou un disque complet depuis une image. Mais parfois nous ne devons restaurer q’une petite partie des fichiers.
Pour cella, nous avons une interface graphique nommée « Ghost Explorer ».
Celle-ci, est ressemblante à un explorateur Windows. On n’a plus qu’as naviguer dans les dossiers de l’image pour trouver le fichier et enfin le restaurer.
De plus Ghost Explorer peut aussi bien être lancer depuis un client PXE, que sur une machine administrative qui à les droits de lecture sur les image du serveur PXE.

Ghost Explorer.

 

L’explorateur Windows.

Parfois un client ne démarreras pas, mais on sait quel fichier est responsable, ou il y as une urgence sur un machine plantée.
Avec la solution Windows PE sur un serveur PXE, nous pouvons naviguer directement sur le client PXE. Apres c’est exactement comme sur un Windows XP « normal ». Le copier/coller, la suppression de fichier et même le registre Windows du client sont accessibles.
On n’a plus qu’as modifier, copier et/ou supprimer les fichiers en cause, tout cas en mode « off line ». C'est-à-dire qu’aucun des fichiers du disque dur clients n’est utilisé en permanence par le système. C’est exactement comme si l’on avait pris le disque dur du client pour l’intégrer sur une seconde machine. Cella nous permet donc de ne pas à avoir démonter deux machine : Gain de temps non négligeable.

Explorerateur Windows.
©CopyRight 2000 - 2017 - Galoula.net par Galoula - Tous droits réservés.

Valid CSS!