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