Installation et configuration d`un serveur PXE Ghost Cast sur

Transcription

Installation et configuration d`un serveur PXE Ghost Cast sur
Installation et configuration d'un serveur PXE Ghost
Cast sur Windows Server 2003
Ce guide a pour but de vous accompagner dans l'installation et la configuration d'un serveur PXE sur
Windows Server 2003 SP1 afin de pouvoir lancer des clients Ghost Cast à travers n'importe quelle machine
connectée sur le réseau via PXE (amorçage sans support physique, via le réseau).
Avant de commencer ; faites une installation standard de Windows Server 2003 puis installez le
dernier Service Pack , les mises à jour de sécurités disponibles via Windows Update et les pilotes
correspondants à votre configuration.
Configuration du serveur DHCP de Windows Server 2003
Il vous faudra absolument un serveur DHCP, car c'est ce dernier qui attribuera une adresse IP aux
machines clientes et qui leur permettra d'accéder à notre serveur PXE. Pour cela, nous allons utiliser le serveur
DHCP inclus dans Windows Server 2003.
1 - Tout d'abord, il faut mettre une adresse IP fixe sur votre serveur. Pour cela, ouvrez le menu Démarrer >
Panneau de configuration > Connexions réseau > Propriétés de votre connexion (clic-droit). Ouvrez ensuite
les Propriétés du Protocole Internet (TCP/IP).
Cochez la case Utiliser l'adresse IP suivante : et indiquez
ensuite une adresse IP, le masque de sous réseau se rempliera de luimême en fonction de cette dernière. L'adresse IP ne doit pas être en
conflit avec l'une des machines du réseau.
Si possible, je vous recommande d'utiliser la première
adresse IP d'une plage non utilisée par le réseau de sorte à avoir une
adresse de cette forme xxx.xxx.xxx.1 et avoir une plage d'adresses
dédié (et facilement distinguable) aux machines clientes sur
lesquels on va déployer l'image.
Il n'est pas indispensable d'indiquer une passerelle par défaut ni
de serveurs DNS, car nous n'utiliserons pas d'accès à internet pour le
déploiement.
Une fois fait, validez les paramètres avec le bouton OK de chaque
fenêtre.
Page 1 sur 10
CENATUS Jean-Luc 2012
2 – Lancez Démarrer > Gérer votre serveur
3 – Nous allons ajouter pour rôle un serveur DHCP, pour cela, cliquez sur Ajouter ou supprimer un rôle afin
de lancer l'assistant. Suivez les étapes.
S'il vous est demandé de choisir le type de configuration, sélectionnez Configuration personnalisée
(histoire de ne pas avoir d'autre rôle inutile pour ce que l'on veut faire) et sélectionnez Serveur DHCP.
4 – Lorsque l'assistant Nouvelle étendue vous demandera d'entrer un nom et une description pour l'étendue,
vous pourrez par exemple y mettre :
Nom = PXE
Description = Plage d'adresses IP pour le serveur PXE
Page 2 sur 10
CENATUS Jean-Luc 2012
Ensuite il vous faudra définir l'adresse IP de début et de fin de la plage d'adresses que l'étendue pourra
distribuer, par exemple (si vous avez défini une adresse type xxx.xxx.xxx.1 pour le serveur) :
Adresse IP de début = xxx.xxx.xxx.2
Adresse IP de fin = xxx.xxx.xxx.254
Masque de sous-réseau = <la même que celle définie pour le serveur, soit 255.255.255.0 dans
cet exemple)
Il est très recommandé de faire en sorte que l'adresse IP du serveur DHCP soit en dehors de cette plage, ce
qui est le cas dans cet exemple. (l'adresse IP du serveur DHCP 192.168.0.1 n'est pas incluse dans la plage
192.168.0.2-254.
5 - Dans les étapes qui suivent, laissez les options par défaut. Lorsque l'assistant vous demande si vous voulez
configurer les options DHCP pour cette étendue maintenant, sélectionnez Non (car les étapes suivantes ne nous
serons pas utiles) et continuez puis fermez cet assistant.
6 – Une fois revenue sur Gérer votre serveur, cliquez sur Gérer ce serveur DHCP et dans la fenêtre qui
s'ouvre, assurez-vous que l'étendue soit bien active ainsi que le serveur DHCP (une flèche verte montante doit
être présente à gauche du nom de votre machine). Si ce n'est pas le cas, faites un clic-droit dessus puis Toutes
les tâches > Démarrer puis réactualiser l'interface via le menu Action > Actualiser.
Page 3 sur 10
CENATUS Jean-Luc 2012
Notez bien l'adresse IP de cette étendue, elle nous sera utile pour la suite (192.168.0.0 dans la capture
d'écran ci-dessus)
ATTENTION : Si le serveur est connecté sur un réseau Active Directory actif, le serveur DHCP ne sera
pas autorisé à fonctionner. Pour y remédier, il faut autoriser votre serveur.
Pour cela, il faut se rendre sur le serveur exécutant l'Active Directory et y faire un clic-droit sur
DHCP > Gérer les serveurs autorisés et Autoriser l'adresse IP de votre serveur DHCP.
/!\ Avoir deux serveurs DHCP qui peuvent distribuer une même plage d'adresses IP sur un réseau
est très déconseillé, car il risque d'y avoir un risque de conflit. Il est préférable de créer une étendue
supplémentaire dédiée au PXE sur le serveur DHCP principal.
7 - Il faut maintenant rajouter deux options sur cette étendue pour que notre serveur PXE puisse fonctionner
correctement. J'utiliserais la ligne de commande (plus rapide qu'avec l'interface graphique).
- Ouvrez Démarrer > Tous les programmes > Invite de commandes
– Exécutez les commandes suivantes (remplacer le texte en vert selon votre configuration) :
netsh dhcp server scope ip_etendue set optionvalue 066 STRING ip_serveur
netsh dhcp server scope ip_etendue set optionvalue 067 STRING pxelinux.0
Par exemple :
netsh dhcp server scope 192.168.0.0 set optionvalue 066 STRING 192.168.0.1
netsh dhcp server scope 192.168.0.0 set optionvalue 067 STRING pxelinux.0
Page 4 sur 10
CENATUS Jean-Luc 2012
Ces deux options permettent de renseigner aux machines où sera situé le serveur TFTP (qui sera installé sur
la même machine dans notre cas) et indique qu'il faut exécuter le programme pxelinux.0 (qui nous permettra
de lancer du code binaire).
Maintenant que le serveur DHCP est prêt et l'adresse du serveur TFTP (ainsi que le programme à lancer)
renseigné, il faut maintenant installer ce dernier. Pour cela, on utilisera le Service Trivial FTP disponible sur le
disque d'installation de Windows Server 2003.
8 - Toujours dans l'Invite de commandes, tapez ces commandes (la lettre X est à remplacer par la lettre
correspondant à votre lecteur CD/DVD dans lequel est inséré le disque d'installation de Windows Server 3).
expand X:\i386\tftpd.ex_ %SystemRoot%\system32\tftpd.exe
expand X:\i386\tftp.ex_ %SystemRoot%\system32\tftp.exe
9 – On créee maintenant le Service Trivial FTP à l'aide de la commande :
sc create tftpd binpath= %SystemRoot%\system32\tftpd.exe start= auto DisplayName= "Service Trivial
FTP"
10 – Maintenant que le Service Trivial FTP est installé, il faut maintenant renseigner où seront les fichiers du
serveur, pour cela on lance les commandes :
mkdir C:\tftp
reg add HKLM\SYSTEM\CurrentControlSet\Services\tftpd\Parameters /v Directory /t REG_SZ /d C:\tftp
La première commande créé le répertoire C:\tftp et la deuxième commande permet de renseigner au Service
Trival FTP où se situe le répertoire (C:\tftp dans notre cas) via le registre.
11 – La configuration du Service Trivial FTP est terminé, on démarre le service avec la commande : sc
start
tftpd
Vous pouvez vérifier son état dans les Services Windows :
Le service TFTP utilise le port 69 en UDP, il faut l'autoriser dans les logiciels de sécurité du serveur si
besoin est.
Voilà, le serveur TFTP est installé et fonctionnel, il faut maintenant mettre en place l'arborescence sur le
serveur.
12 – Créer les répertoires suivants dans C:\tftp :
– images (contiendra les images de disquettes)
– pxelinux.cfg (contiendra la configuration)
– menuconf (contiendra la configuration d'éventuels sous-menus)
et placez-y les fichiers memdisk, menu.c32 et pxelinux.0 disponibles sur http://dl.free.fr/kEafemNb9
(archive .zip) ou dans l'archive de Syslinux ( http://www.kernel.org/pub/linux/utils/boot/syslinux/ ).
Page 5 sur 10
CENATUS Jean-Luc 2012
On vérifie que le serveur TFTP fonctionne correctement à l'aide de la commande :
tftp localhost GET pxelinux.0
Il est également possible (et conseillé) de tester son serveur depuis d'autre PC en remplaçant localhost par son
adresse IP. S'il est inaccessible, il est inutile de continuer et il faudra vérifier les paramètres du pare-feu
et/ou refaire les étapes ci-dessus.
12 – Par défaut, nous pouvons écrire sur le serveur, ce qui est une faille de sécurité, car des personnes
peuvent mettre d'autres noyaux, fichiers, ou bien en remplacer…
Nous pouvons restreindre l'accès en écriture en empêchant le compte SYSTEM d'écrire dans le répertoire, en
effet le service TFTP est lancé sous ce compte.
Cette procédure peut être réalisée en modifiant les droits avancés de ce répertoire :
On test ensuite avec la commande :
tftp localhost PUT %SystemRoot%\notepad.exe
Si la sécurité est suffisante, cette commande devrait retourner :
Erreur sur le serveur : Access violation.
Échec lors de la demande de connexion
Sinon il faut revoir l'attribution des droits.
Une fois le serveur TFTP configuré et fonctionnel avec l'arborescence qu'il faut, il faut maintenant y mettre
les images de disquettes et menus qui nous permettrons de lancer les clients Ghost Cast.
Les machines devraient normalement pouvoir démarrer via le PXE à cette
étape-là. Si ce n'est pas le cas, il faut vérifier la configuration DHCP/TFTP.
13 – On créée les images de disquettes à l'aide de l'outil Ghost Boot Wizard.
Page 6 sur 10
CENATUS Jean-Luc 2012
Le pilote Universal Packet Driver devrait
fonctionner avec la plupart des machines pouvant
démarrer via PXE. Si ce n'est pas le cas, il faut
utiliser un pilote spécifique. Si vous avez plusieurs
machines du réseau dans ce cas, il faut créer
autant d'images que de carte réseaux différentes
ayant des problèmes avec ce pilote.
Laissez les options par défaut, notamment celle du DHCP. Une fois l'image disquette (.sys) obtenue, il faut la
convertir dans un format compatible à l'aide de l'utilitaire WinImage disponible sur
http://www.winimage.com/download.htm .
14 –
Page 7 sur 10
CENATUS Jean-Luc 2012
Ouvrez l'image disquette .sys avec WinImage
Puis enregistrez-sous immédiatement (sans
modification) au format Compressed Image File
(*.imz).
L'image .imz est à enregistrer sous C:\tftp\images\
15 - Créer un fichier texte qui sera nommé : default (sans extension) dans le répertoire C:\tftp\pxelinux.cfg ,
avec ce contenu :
DEFAULT menu.c32
TIMEOUT 50
ALLOWOPTIONS 0
PROMPT 0
MENU TITLE Menu de demarrage PXE
LABEL GhostCast
MENU PASSWD votremotdepasse
MENU LABEL ^Ghost Cast
kernel menu.c32
append menuconf/ghostcast_clients.txt
LABEL NormalBoot
MENU LABEL Demarrer ^normalement
LOCALBOOT 0
MENU DEFAULT
Explications du fichier de configuration :
DEFAULT menu.c32
Indique que par défaut, nous lancerons le menu.
Page 8 sur 10
CENATUS Jean-Luc 2012
TIMEOUT 50
Définit le temps d'attente à 50 dixièmes de seconde.
› sera repris pour le temps d'attente du menu.
ALLOWOPTION 0
Ne permet pas à l'utilisateur d'interaction avec les choix de démarrage (le menu sera affiché sans qu'une autre
alternative lui soit proposée), il ne pourra pas spécifier de choix à l'invite.
PROMPT 0
L'invite « boot: » ne sera pas affiché.
MENU TITLE Menu de demarrage PXE
Directive précisant le titre du menu affiché.
LABEL GhostCast
Identifiant pour ce groupement (il peut être entré à l'invite « boot: »)
MENU LABEL ^Ghost Cast
Définit le texte affiché pour ce choix dans le menu.
Le caractère « ^ » spécifie le caractère servant de touche de raccourci.
MENU DEFAULT
Cette entrée sera le choix par défaut du menu
LOCALBOOT 0
Démarre l'ordinateur en local plutôt que par une image réseau.
kernel menu.c32
Permet de lancer un sous-menus.
append menuconf/ghostcast_clients.conf
Nous lui passerons comme argument le chemin d'accès au .txt du sous-menus Ghost Cast (dans lequel est
stocké la configuration du menu qui nous permettra de choisir des images de clients Ghost Cast avec des
pilotes différents).
MENU PASSWD votremotdepasse
Permet de mettre un mot de passe. ATTENTION, le clavier est en QWERTY lors du démarrage.
16 - Créer un fichier texte qui sera nommé :
ghostcast_clients.txt dans le répertoire
C:\tftp\menuconf\ en vous aidant des
explications si-dessus et du fichier
C:\tftp\pxelinux.cfg\default .
Voici un exemple de fichier
ghostcast_clients.txt . Vous remarquerez
que je n'ai pas mis de mot de passe : c'est
inutile étant donné qu'il y en a déjà un dans
le menu parent.
ALLOWOPTIONS 0
PROMPT 0
MENU TITLE Selectionnez votre carte reseau
LABEL AMD_PCNet_Family
MENU LABEL AMD PCNet Family
kernel memdisk
append initrd=images/AMD_PCNet_Family.imz
LABEL Intel_Pro_1000
MENU LABEL Intel Pro 1000
kernel memdisk
append initrd=images/Intel_Pro_1000.imz
kernel memdisk
Cette ligne est obligatoire si l'on veut démarrer sur une image disquette, car c'est memdisk qui nous le permet.
Page 9 sur 10
CENATUS Jean-Luc 2012
append initrd=images/fichier_image.imz
Cette ligne, combiné à kernel memdisk permet d'indiquer le chemin de l'image de la disquette par rapport au
répertoire tftp.
N'hésitez pas à créer plusieurs LABEL qui vous permettrons de démarrer des images de disquette de client
Ghost Cast avec des pilotes différents créés grâce à l'utilitaire Ghost Boot Wizard. Il est toujours utile d'avoir
au moins l'image avec le pilote Universal Packet Driver, car ce dernier fonctionnera sur un grand nombre de
machines. De plus, sachez que n'importe quelle image de disquettes (2,88 Mo MAX) peut-être démarré ;
memtest86+, Windows PE etc.
Plus d'infos sur le net.
Voilà, si vous avez tout fait correctement, les machines devraient
maintenant être capable de démarrer via PXE et accéder au menu qui
vous permettra de lancer les images.
Quelques liens utiles :
http://www.gentilkiwi.com/documentations-s11-t-pxe.htm
http://www.gentilkiwi.com/divers-s28-t-creation-de-l-image-disquette-ghost-pour-serveur-ghostcast.htm
http://www.gentilkiwi.com/divers-s27-t-embellissement-de-l-interface-de-demarrage.htm
http://www.gentilkiwi.com/divers-s26-t-windows-pe-2.0--vista--sur-pxe.htm
Page 10 sur 10
CENATUS Jean-Luc 2012