PXE - tout charger ! Maîtriser le multi-boot sur un réseau local. Installation d'un serveur Linux PXE pour démarrer Windows PE Modification de la page d'accueil de démarrage GPXE


Une clé USB amorçable avec un ensemble de logiciels nécessaires est un outil formidable pour un administrateur système. Il semblerait, quoi de mieux ? Un serveur de démarrage pourrait être mieux !

Imaginez, vous avez choisi de démarrer sur le réseau dans le BIOS et vous pouvez installer le système d'exploitation/guérir votre ordinateur contre les virus/réanimer les disques/tester la RAM/etc à partir d'un serveur de démarrage PXE, car c'est beaucoup plus pratique que de fonctionner avec un flash. conduire de machine en machine.
Et dans le cas d’un grand parc informatique, un tel outil est totalement indispensable.

Nous avons expliqué plus tôt comment préparer Windows pour l'installation avec PXE.
La seule différence avec cette installation est que nous pouvons ici installer à la fois Windows 2008R2 et Windows 2012R2 (ainsi que Windows 7/8, il vous suffit de préparer la distribution et les fichiers winpe en conséquence). Après avoir téléchargé Winpe, nous montons le dossier /srv/tftp/images/, qui contient les fichiers pour installer le système d'exploitation de Microsoft :
ls -l /srv/tftp/images/ total 8 drwxr-xr-x 6 racine racine 4096 17 février 22:19 w2k12r2 drwxr-xr-x 7 tftp tftp 4096 17 février 19:05 w2k8r2
et exécutez le programme d'installation requis.
Pour l'automatisation, via startnet.cmd, j'ai esquissé le menu suivant :

Il ne reste plus qu'à s'occuper de VMware.
Comme vous l'avez remarqué, la configuration d'installation des hyperviseurs est quelque peu différente des autres - c'est là que nous avons besoin d'un serveur HTTP.
Dans /var/www nous créerons les dossiers vmw5.5, vmw5.0, et dans les dossiers nous créerons des liens symboliques vers la configuration
# cd /var/www # mkdir vmw5.5 # cd vmw5.5/ # ln -s /srv/tftp/vmw/5.5/ks.cfg # mkdir ../vmw5.0 # cd ../vmw5.0/ # ln -s /srv/tftp/vmw/5.0/ks.cfg
Il explique comment préparer, par exemple, Debian pour une installation avec PXE, mais je ne m'attarderai pas là-dessus.

Ajoutons la possibilité de charger divers utilitaires de disque et un test de mémoire

Cette rubrique contiendra :
  1. Test mémoire86+
  2. Clonezilla-live
  3. SystèmeRescueCD

Les configurations se trouvent ici

défaut
ui vesamenu.c32 PROMPT 0 menu background background.jpg titre du menu ServerClub PXE boot menu LABEL bootlocal menu label Boot from first HDD kernel chain.c32 append hd0 0 timeout 120000 TEXT HELP Le système démarrera une fois le temps écoulé. ENDTEXT LABEL Windows -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/windows LABEL Linux -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/linux LABEL FreeBSD -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/bsd LABEL VMvare -> NOYAU et même menu . c32 AJOUTER pxelinux.cfg/vmware LABEL Utilitaires HDD et RAM -> NOYAU vesamenu.c32 AJOUTER pxelinux.cfg/du
du
PROMPT 0 UI vesamenu.c32 FOND DU MENU background.jpg TITRE DU MENU Utilitaires HDD et RAM ÉTIQUETTE<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Memtest86+ kernel memtest/memtest label Clonezilla-live MENU LABEL Clonezilla Live KERNEL clonezilla/vmlinuz APPEND initrd=clonezilla/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="" ocs_live_batch="no" locales="" vga=788 nosplash noprompt fetch=tftp://10.0.10.1/clonezilla/filesystem.squashfs label SystemRescueCD kernel SystemRescueCD/isolinux/rescue64 append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD LABEL MHDD kernel memdisk initrd mhdd/mhdd32ver4.6.iso append iso raw LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default


Et je vais vous expliquer pourquoi nous avons également installé un serveur NFS.
Comme vous pouvez le voir dans la configuration de démarrage de SystemRescueCD, il extrait les fichiers nécessaires à ce LiveCD en montant le répertoire à l'aide du protocole NFS. Le serveur est déjà installé, il ne reste plus qu'à éditer /etc/exports et redémarrer le démon du serveur.
# cat >> /etc/exports /srv/tftp/SystemRescueCD/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000) # service redémarrage du serveur nfs-kernel
Je suppose que vous avez une question raisonnable : « Que fait LiveCD ici s'il existe un élément distinct pour eux ? »
SystemRescueCD contient de nombreux programmes utiles pour travailler avec le disque (par exemple, GParted et testdisk) et est donc disponible ici et sur LiveCD.

LiveCD

Notre ensemble LiveCD comprendra :
  1. LiveCD Debian 7
  2. HirensBootCD
  3. CD du kit de sauvetage Trinity
  4. SystèmeRescueCD
  5. Plop en direct

Configurations

À la fin défaut ajoutée
LABEL LiveCD -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/livecds
livecds
PROMPT 0 UI vesamenu.c32 FOND DU MENU background.jpg TITRE DU MENU LiveCD ÉTIQUETTE<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Debian LiveCD KERNEL Debian7live/vmlinuz APPEND initrd=Debian7live/initrd boot=live fetch=tftp://10.0.10.1/Debian7live/filesystem.squashfs root=/dev/ram0 rw LABEL HirensBootCD MENU LABEL Hiren"s Boot CD KERNEL memdisk APPEND iso initrd=hirens/hirens.iso LABEL Trinity Rescue Kit CD kernel trk/kernel.trk append initrd=trk/initrd.trk ramdisk_size=65536 root=/dev/ram0 vga=788 splash=verbose pci=conf1 trkmenu timeout 100 trknfs=10.0.10.1:/srv/tftp/trk ip=dhcp LABEL SystemRescueCD kernel SystemRescueCD/isolinux/rescue64 append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD LABEL Plop Live KERNEL plop/bzImage APPEND initrd=plop/initramfs.gz vga=normal nfsmount=10.0.10.1:/srv/tftp/plop LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

Pour charger le CD Trinity Rescue Kit et Plop Live, vous devez ajouter les lignes suivantes dans /etc/exports :
/srv/tftp/trk/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000) /srv/tftp/plop/ 10.0.10.1/255.255.255.0(ro,no_subtree_check, all_squash,insecure,anonuid=1000,anongid=1000)
et envoyez la commande de redémarrage NFS au démon.


Quelques mots sur les LiveCD sélectionnés.
CD en direct Debian 7
Ce CD a été réalisé par l'un de nos ingénieurs et comprend les éléments suivants :

Login/mot de passe : root/ServerClub

HirensBootCD
Il n'a guère besoin d'une introduction et contient de nombreux utilitaires utiles.
Plus de détails peuvent être trouvés.
Le chargement est long, MiniXP et Linux ne fonctionnent pas. D'autres utilitaires sont disponibles.

CD du kit de sauvetage Trinity
Selon les développeurs, il a été créé pour restaurer le système d'exploitation Windows.
Contient des utilitaires pour réinitialiser les mots de passe, des antivirus, un programme pour cloner un « ordinateur » sur un réseau (et sur plusieurs ordinateurs en même temps), et bien plus encore.
En savoir plus.

SystèmeRescueCD
Basé sur Gentoo, conçu pour restaurer les systèmes Linux.
Il comprend un grand nombre de programmes d'administration divers ; la liste peut être trouvée sur le lien.

Plop en direct
LiveCD avec trois DE à part entière parmi lesquels choisir, ainsi que le logiciel d'administration nécessaire.

Le fichier de configuration finale du menu principal, ainsi que le fichier du menu antivirus

défaut
ui vesamenu.c32 PROMPT 0 menu background background.jpg titre du menu ServerClub PXE boot menu LABEL bootlocal menu label Boot from first HDD kernel chain.c32 append hd0 0 timeout 120000 TEXT HELP Le système démarrera une fois le temps écoulé. ENDTEXT LABEL Windows -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/windows LABEL Linux -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/linux LABEL FreeBSD -> NOYAU vesamenu.c32 APPEND pxelinux.cfg/bsd LABEL VMvare -> NOYAU et même menu . c32 AJOUTER pxelinux.cfg/vmware LABEL Utilitaires HDD et RAM -> NOYAU vesamenu.c32 AJOUTER pxelinux.cfg/du LABEL LiveCDs -> NOYAU vesamenu.c32 AJOUTER pxelinux.cfg/livecds LABEL Antivirus -> NOYAU vesamenu.c32 AJOUTER pxel inux .cfg /av
un V
PROMPT 0 UI vesamenu.c32 FOND DU MENU background.jpg TITRE DU MENU ÉTIQUETTE Antivirus<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Kaspersky Antivirus KERNEL kav/rescue APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg doscsi nomodeset LABEL Kaspersky Antivirus (text mode) KERNEL kav/rescue APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg nox kavshell noresume doscsi nomodeset label AVG menu label AVG Rescue CD kernel avg/vmlinuz append max_loop=255 vga=791 initrd=avg/initrd.lzm init=linuxrc reboot=bios label AVG nofb menu label AVG Rescue CD with Disabled Framebuffer kernel avg/vmlinuz append max_loop=255 video=vesafb:off initrd=avg/initrd.lzm init=linuxrc reboot=bios label AVG vgask menu label AVG Rescue CD with Resolution Selection kernel avg/vmlinuz append max_loop=255 initrd=avg/initrd.lzm init=linuxrc vga=ask reboot=bios LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

Conclusion, c'est aussi une surprise

Tout au long de l'article, je n'ai volontairement pas expliqué où se le procurer et comment préparer le contenu, car ces actions sont très triviales et ne feraient que surcharger le texte.

Par surprise, je vous propose deux options pour notre montage, disponibles sur les liens ci-dessous :

  1. Archiver avec tout le contenu /srv/tftp (lien vers le fichier torrent, lien direct)
  2. Archive de l'intégralité du système d'exploitation (lien vers le fichier torrent, lien direct)
Dans le premier cas, vous devez préparer vous-même le serveur (le chapitre « Le début » de cette épopée vous y aidera), décompresser le contenu de l'archive et procéder aux ajustements en fonction des réalités de votre environnement.

Le deuxième cas implique une installation sur bare metal ou sur une machine virtuelle.
En bref, les étapes pour déployer un assembly à partir d'une archive complète du système d'exploitation seront les suivantes :
1. Démarrez à partir du LiveCD Linux.
2. Partitionnez le disque et formatez les partitions.
3. Montez la partition "/".
4. Décompressez l'archive.
5. Installez le chargeur de démarrage.
6. Redémarrez.
7. Configurez le système d'exploitation en fonction de votre réseau et commencez à l'utiliser.
Login/mot de passe : root/ServerClub.
IMPORTANT : si vous disposez d'un serveur DHCP en cours d'exécution sur votre réseau, avant d'exécuter notre build, désactivez le démarrage automatique DHCP.

Je termine par ceci, merci de votre attention !

Pour ceux qui n’ont pas de compte sur Habré.
Si vous avez des questions/commentaires, écrivez-moi par email - erserverclub.com.

Nous vous rappelons que toute tentative de répétition des actions de l’auteur peut entraîner une perte de garantie sur le matériel, voire sa panne. Le matériel est fourni à titre informatif uniquement. Si vous envisagez de reproduire les étapes décrites ci-dessous, nous vous conseillons fortement de lire attentivement l'article jusqu'au bout au moins une fois. Les éditeurs de 3DNews déclinent toute responsabilité quant aux conséquences possibles.

Vous souvenez-vous de la façon dont nous avons envisagé de créer une « trousse de premiers secours » USB universelle pour les réparations informatiques d’urgence ? Dans le dernier article, nous nous sommes familiarisés avec le chargement du réseau et le programme DRBL. Eh bien, cette fois, nous allons créer un analogue du support multiboot, seulement nous démarrerons non pas à partir d'un lecteur flash, mais sur le réseau en utilisant PXE. Cela se fait tout simplement. Comme d'habitude, nous aurons besoin d'une machine exécutant Ubuntu Server 11.10 avec deux cartes réseau, qui feront office de serveur. La prise en charge du démarrage réseau doit être activée dans le BIOS des machines clientes.

Afin de simplifier notre tâche et de ne pas nous soucier séparément de l'installation et de la configuration de divers services réseau tels que les serveurs DHCP et TFTP, nous utiliserons une solution plus universelle - dnsmasq. Il s'agit d'un serveur DNS/DHCP/TFTP léger, parfait pour les machines démarrant en réseau. Comme la dernière fois, nous convenons que l'interface réseau eth0 reçoit automatiquement une adresse IP du routeur et a accès à Internet. À son tour, eth1 examine le réseau interne et possède une adresse IP statique de 192.168.0.1. Modifiez les paramètres réseau dans le fichier /etc/network/interfaces à l'aide de l'éditeur de texte nano si vous ne l'avez pas déjà fait.

Sudo nano /etc/network/interfaces

A la fin du fichier, ajoutez les paramètres de l'interface eth1 et enregistrez-le (F2, Y, Entrée).

Auto eth1 iface eth1 inet adresse statique 192.168.0.1 masque de réseau 255.255.255.0

Si vous devez fournir un accès au réseau aux clients locaux, vous devrez alors faire autre chose. Tout d'abord, décommentez (supprimez le # au début) la ligne net.ipv4.ip_forward=1 dans le fichier /etc/sysctl.conf. Deuxièmement, exécutez quelques commandes. La dernière commande doit être ajoutée à la fin du fichier /etc/rc.local avant la ligne sortie 0 afin que la redirection réseau démarre au démarrage.

Sudo sysctl -p sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Vous devez maintenant installer dnsmasq, ainsi que plusieurs utilitaires pour faciliter votre travail - le gestionnaire de fichiers Midnight Commander et les utilitaires pour décompresser les images ISO et les archives ZIP/RAR/7ZIP.

Sudo apt-get installer dnsmasq mc genisoimage décompresser unrar p7zip-full

Commençons par configurer DNSmasq.

Sudo nano /etc/dnsmasq.conf

Ajoutez les lignes suivantes à la toute fin :

Interface=eth1 dhcp-range=192.168.0.10,192.168.0.100,255.255.255.0,24h serveur=8.8.8.8 activate-tftp tftp-root=/pxe dhcp-boot=pxelinux.0

Qu'est-ce que c'est ? Le paramètre interface spécifie avec quelle interface réseau dnsmasq fonctionnera. Dans DHCP-range, les deux premiers paramètres indiquent le début et la fin de la plage d'adresses délivrées aux ordinateurs clients, viennent ensuite le masque de sous-réseau et la durée du bail d'adresse. Le champ serveur indique les adresses IP des serveurs DNS en amont (par exemple, le fournisseur), mais si vous le souhaitez, vous pouvez utiliser Google DNS ou OpenDNS. La directive activate-tftp active le serveur TFTP intégré et tftp-root spécifie le répertoire racine de celui-ci. Enfin, un bootloader est enregistré dans DHCP-boot, qui sera distribué sur le réseau.

Sauvegardons les paramètres et redémarrons le serveur, créons les dossiers nécessaires et lançons Midnight Commander (mc), où nous continuerons le travail principal. /pxe/images/ stockera des images d'utilitaires ou de distributions qui seront téléchargées via le réseau local. Le répertoire /pxe/pxelinux.cfg sert à stocker les paramètres PXE.

Sudo mkdir -p /pxe/images/ sudo mkdir /pxe/pxelinux.cfg sudo service dnsmasq restart sudo mc

La première étape consiste à récupérer les programmes de démarrage du projet syslinux. Téléchargez l'archive la plus récente dans votre dossier personnel. Les commandes peuvent être saisies directement dans mc ou, pour plus de commodité, vous pouvez basculer entre la console et les panneaux à l'aide de la combinaison de touches Ctrl+O. Le moyen le plus pratique de télécharger des fichiers consiste à utiliser le programme wget. Par exemple, comme ceci :

Wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.05.tar.gz

Nous entrons dans l'archive téléchargée en y déplaçant simplement la sélection et en appuyant sur Entrée. À partir de celui-ci, vous devez copier plusieurs fichiers dans le répertoire /pxe - pxelinux.0 du dossier /core, menu.c32 de /com32/menu et memdisk du répertoire du même nom.

Nous commençons à remplir lentement les paramètres par défaut de pxelinux.

Sudo nano /pxe/pxelinux.cfg/default

Ajoutons les lignes suivantes à ce fichier :

DEFAULT menu.c32 TIMEOUT 600 TITRE DU MENU PXE BOOT MENU LABEL HDDBoot MENU LABEL Local Boot MENU DEFAULT LOCALBOOT 0

En général, toute la documentation sur la formation des paramètres des chargeurs de démarrage syslinux, et en particulier le menu de démarrage PXE, se trouve dans les fichiers texte du répertoire docs de l'archive syslinux. Regardons les paramètres que nous venons d'utiliser. Par défaut, le fichier menu.c32 est lancé, qui affiche notre menu PXE. TIMEOUT précise le temps d'attente (en 1/10 s) après lequel l'élément par défaut sera chargé. TITRE DU MENU contient le titre de notre menu. Vous pouvez y entrer ce que vous voulez.

Ensuite, il y a une description du premier élément de menu. Pour faciliter la manipulation, chaque article se voit attribuer une étiquette (LABEL). Dans MENU LABEL, le nom de l'étiquette que l'utilisateur verra lors du chargement. MENU DEFAULT signifie que cet élément du menu actuel sera lancé par défaut. Eh bien, la directive LOCALBOOT 0 indique que vous devez arrêter PXE et revenir au démarrage normal de l'ordinateur. Il est préférable de laisser cet élément par défaut.

Diversifions notre multibooter avec quelques utilitaires. Prenons par exemple le célèbre programme de test de mémoire Memtest86+. Téléchargez l'archive avec le binaire de démarrage pré-compilé à partir du site. Nous enregistrons le fichier memtest.bin sous le nom memtest (sans extension !) dans le dossier /pxe/images. Nous sommes ici confrontés à deux caractéristiques à la fois. Premièrement, pour l'ensemble syslinux, un certain nombre de fichiers (.0, .bin, .bs, etc.) doivent avoir un format strictement défini. Le même .bin pour isolinux est lu comme un secteur de démarrage de CD, mais pas memtest.bin. Deuxièmement, ce fichier prend directement en charge le démarrage avec syslinux, nous pouvons donc le spécifier en toute sécurité comme « noyau » à exécuter.

ÉTIQUETTE Memtest86+ MENU ÉTIQUETTE Memtest86+ NOYAU images/memtest

Une autre option de démarrage utile consiste à utiliser memdisk. Dans ce cas, le support (image ISO, image brute de disquette, image HDD) est entièrement copié dans la RAM de l'ordinateur et un chargement ultérieur s'effectue à partir de celui-ci. Voici un exemple pour exécuter KolibriOS. Depuis l'archive de distribution, vous devez copier le fichier kolibri.img dans le dossier /pxe/images et ajouter les lignes suivantes à /pxe/pxelinux.cfg/default.

ÉTIQUETTE Kolibri MENU ÉTIQUETTE KolibriOS KERNEL memdisk APPEND initrd=images/kolibri.img


Vous pouvez faire quelque chose de « plus sévère » : charger le CD de démarrage de Hiren. Vous pouvez déjà deviner que l'image ISO doit être enregistrée sous /pxe/images/hirens.iso. Sur la machine client, vous devrez attendre une minute ou deux jusqu'à ce que le fichier soit enregistré. l'iso d'un demi-gigaoctet est copié en mémoire. Naturellement, le PC lui-même doit disposer d'au moins un gigaoctet de RAM. Mais après le chargement, travailler avec le CD de démarrage de Hiren est extrêmement rapide. Cependant, il est probablement préférable d’éviter des options aussi extrêmes.

ÉTIQUETTE Hirens MENU ÉTIQUETTE Hiren's Boot CD KERNEL memdisk APPEND iso initrd=images/hirens.iso


Prenons un exemple plus compliqué : chargez Clonezilla Live via PXE. Créez un dossier /pxe/images/clonezilla. Là, vous devrez copier tous les fichiers du dossier /live, qui se trouve dans l'image ISO. Dans les paramètres, nous spécifions le chargement du noyau Linux (vmlinuz), et dans APPEND nous lui transmettons des paramètres. Elles sont visibles dans le fichier isolinux/isolinux.cfg à l'intérieur de l'image ISO (les clés ocs_* se rapportent directement à Clonezilla, et non au noyau lui-même). Dans notre cas, il y aura peu de différence - il vous suffit d'indiquer que le fichier avec l'image système dans Squashfs doit être récupéré lors du téléchargement depuis le serveur TFTP.

LABEL Clonezilla MENU LABEL Clonezilla KERNEL images/clonezilla/vmlinuz APPEND initrd=images/clonezilla/initrd.img boot=live config noprompt noswap nomodeset nolocales/nosplash edd=on vga=788 ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_bash="no" ocs_lang="" fetch=tftp://192.168.0.1/images/clonezilla/filesystem.squashfs AIDE TEXTE Clonezilla Live — Démarrage sur RAM ENDTEXT

Attention! Tout ce qui suit APPEND est une seule ligne sans tirets. Le texte entre les directives TEXT HELP et ENDTEXT sera affiché sous forme d'info-bulle lors de la sélection de l'élément de menu de démarrage correspondant. D'autres distributions ou utilitaires basés sur Linux sont ajoutés au téléchargement de la même manière. En guise d'échauffement, essayez de configurer les paramètres de la distribution légère SliTaz.

LABEL Slitaz MENU LABEL SliTaz Linux KERNEL /boot/bzImage APPEND initrd=/boot/rootfs4.gz,/boot/rootfs3.gz,/boot/rootfs2.gz,/boot/rootfs1.gz rw root=/dev/null vga= connexion automatique normale


Comme vous pouvez le constater, tout est assez simple et assez flexible à configurer. Pour explorer davantage le démarrage PXE sur Ubuntu Server, ce serait une bonne idée de vous familiariser avec le wiki syslinux et la documentation incluse dans l'archive de cet utilitaire. Parmi les solutions intéressantes utilisant PXE, vous pouvez lire par exemple sur l'installation réseau de Windows 7 sans utiliser RIS/WDS. Parmi les ajouts utiles, il convient de regarder de plus près le kit de distribution Thinstation pour créer des clients légers, ainsi que le gestionnaire de téléchargement Plop. Sans aucun doute, les utilitaires seront utiles pour tester le matériel et diagnostiquer les problèmes, pour restaurer les données et créer des sauvegardes, pour... En général, c'est à vous de décider. Bonne chance!

PXE a une fonctionnalité très utile : tout ce qui y est configuré est assez difficile à perdre car tout cela est stocké sur le serveur, et non sur des supports amovibles, qui ont tendance à être perdus, volés, oubliés dans les lecteurs de DVD/à la maison, laissés pour être utilisés et « finis », donc il est probable qu'ils vous le prennent et "play" tend vers zéro , enfin, peut-être avec le serveur... En connectant un appareil capable de démarrer PXE, vous pouvez faire beaucoup de choses utiles, à savoir : diagnostiquer l'équipement, déployer des systèmes d'exploitation, démarrer un système Live, etc. qu'est-ce qu'il y a assez de connaissances et d'imagination ?
Pour ce faire, nous devrons configurer un serveur DHCP et un serveur TFTP.
Auparavant, j'ai déjà écrit sur la façon de configurer un serveur, je le recommande vivement pour examen, les points principaux en ont été repris.
Qu'obtiendrons-nous en conséquence ?!
Et nous obtiendrons un menu de démarrage avec la possibilité de sélectionner l'application que nous téléchargerons sur la machine client, ainsi que les actions par défaut qui seront effectuées par le système si aucune commande n'est reçue des utilisateurs.

Pour le travail, nous aurons besoin de :
1) Serveur Ubuntu installé
2) Un serveur DHCP configuré, un exemple de configuration peut être trouvé dans l'article :
3) Disque ou image ISO de la distribution d'installation d'Ubuntu - la profondeur de bits n'a pas d'importance, mais il est préférable de prendre une version plus récente.

Nous installerons tout le reste en cours de route... Je ne m'attarderai pas sur les paramètres DHCP, en supposant que vous l'ayez configuré, selon l'article, dont le lien est fourni dans la configuration système requise.

Installer un serveur TFTP
Installons le package nécessaire :
Nous élevons les droits à root:
sudo su

Installons le package nécessaire
aptitude installer tftpd-hpa

Maintenant, tous les fichiers liés à notre serveur TFTT devraient être dans le répertoire /var/lib/tftpboot/, tous les chemins sont spécifiés par rapport à lui.

Passons à la création du menu de démarrage
Tout d'abord, nous avons besoin d'un chargeur adjoint, comment faire cela ?! On peut le trouver sur n'importe quel disque avec Ubuntu, dans d'autres distributions Linux, l'emplacement est presque toujours le même. Nous aurons besoin d'une image ISO ou d'un disque d'installation inséré dans le lecteur de DVD, dans lequel nous allons dans le répertoire suivant :
Si le disque d'installation est une architecture x86 :
/install/netboot/ubuntu-installer/i386
Nous sommes intéressés par le dossier pxelinux.0 voici le bootloader, prenez-le et copiez-le dans le répertoire :
/var/lib/tftpboot/
Ensuite, le chemin pour y accéder ressemble à :
/var/lib/tftpboot/pxelinux.0
Nous aurons également besoin du menu de démarrage lui-même, qui peut être pris sur le même disque, dans le répertoire écrans de démarrage nous sommes intéressés par un fichier nommé vesamenu.c32

Copiez-le dans le même répertoire que le chargeur pour que le chemin ressemble à :
/var/lib/tftpboot/vesamenu.c32

Configuration du contenu du menu PXE

A titre d'exemple, nous allons créer un menu de démarrage composé de 2 éléments.
Premier point : Démarrez à partir du disque dur local. Cet élément sera l'élément par défaut si l'utilisateur démarre le PC via PXE et dans les 15 secondes. n'a effectué aucune action, le système démarrera automatiquement à partir du disque local.
Deuxième point : appelons-le Essai Dans ce menu, il y aura un élément avec la possibilité de télécharger Memtest x86+. Ce programme sera toujours utile pour diagnostiquer les problèmes des postes de travail et des serveurs ; en général, c'est une chose nécessaire et sera utile à tout le monde dans la ferme...

Tout d'abord, nous devons créer un répertoire pour les fichiers de configuration appelé pxelinux.cfg - le nom est essentiel pour le travail !
mkdir /var/lib/tftpboot/pxelinux.cfg

Créons maintenant un fichier de configuration avec les paramètres des éléments de menu, nommé défaut
nano /var/lib/tftpboot/pxelinux.cfg/default

Avec le contenu suivant :
par défaut vesamenu.c32 invite 0 titre du menu Menu de démarrage PXE MENU AUTOBOOT Démarrage du système local dans # secondes label Boot from local drive menu label ^Boot from local drive menu default localboot 0 timeout 150 TOTALTIMEOUT 9000 LABEL Testing MENU LABEL ^Test KERNEL vesamenu.c32 APPEND pxelinux.cfg/testing.menu

Les plus observateurs ont remarqué que dans le fichier précédent nous avions une entrée qui concerne un autre fichier tests.menu, nous y aurons les paramètres de l'élément Essai
Créons ce fichier :

Avec le contenu suivant :
TITRE DU MENU Test LABEL Logiciel de test MENU LABEL ^Retour au menu principal KERNEL vesamenu.c32 APPEND pxelinux.cfg/default label Memory Test menu label ^Memory Test: Memtest86+ v4.20 kernel memtest/mt86plus

Le premier élément de menu se chargera du retour au menu précédent, et le second du chargement Memtest86+ v4.20

Tout va bien, mais nous n'avons pas créé le répertoire où est stocké le fichier Memtest, nous allons résoudre ce problème maintenant, créons le répertoire approprié.
Faisons-le:
mkdir /var/lib/tftpboot/memtest
Il suffit d'ajouter le fichier exécutable de Memtest86+ lui-même, il se trouve sur le disque d'installation, dans le répertoire /installer/ nous sommes intéressés par le dossier mt86plus nous devons le copier dans le répertoire memtest pour que le chemin d'accès ressemble à :
/var/lib/tftpboot/memtest/mt86plus

À ce stade, nous en avons terminé avec le serveur TFTP, il nous reste juste à terminer un peu le serveur DHCP.

Configuration d'un serveur DHCP

Cet élément ne peut être appelé qu'une configuration avec un étirement ; si vous avez configuré le serveur DHCP conformément à l'article, vous devez alors ajouter une seule entrée à :
nano /etc/dhcp/dhcpd.conf

Nous trouvons l'élément avec les paramètres du pool d'adresses IP, qui ressemble à :
sous-réseau 192.168.10.0 masque de réseau 255.255.255.0 (plage 192.168.10.10 192.168.10.254 ; option serveurs de nom de domaine 192.168.10.1 ; option nom de domaine « exemple.org » ; option routeurs 192.168.10.1 ; option adresse de diffusion 192. 168.10 0,255 ; durée de bail par défaut 604 800 ; durée de location maximale 604 800 ; )

Et nous ajoutons une entrée pointant vers notre bootloader PXE :
vérification ping = 1 ; nom de fichier = "pxelinux.0" ;
Le chemin d'accès au fichier est relatif au répertoire /var/lib/tftpboot/ ceux. il est considéré comme le répertoire racine, comme je l'ai écrit plus tôt...

L'entrée entière ressemble à :
vérification ping = 1 ; nom de fichier = "pxelinux.0" ; sous-réseau 192.168.10.0 masque de réseau 255.255.255.0 (plage 192.168.10.10 192.168.10.254 ; option serveurs de nom de domaine 192.168.10.1 ; option nom de domaine « exemple.org » ; option routeurs 192.168.10.1 ; option adresse de diffusion 192. 168.10 0,255 ; durée de bail par défaut 604 800 ; durée de location maximale 604 800 ; )

Enregistrez les modifications et redémarrez le serveur DHCP :
/etc/init.d/isc-dhcp-server redémarrage

Nous pouvons désormais connecter à notre réseau local un appareil prenant en charge le démarrage PXE et dans lequel cette fonction est activée (voir la documentation de votre équipement) ou connecter une machine virtuelle avec l'adaptomètre connecté en mode pont et sans support de démarrage.

Si vous avez tout fait correctement, le menu ressemblera à ceci :

Et si tu vas au menu Essai:


Si vous sélectionnez l'élément avec Memtest, un test de mémoire sera exécuté.
D'autres éléments de menu sont ajoutés en conséquence.

Imaginons une situation où vous devez donner accès à l'un des menus à un nombre limité de personnes, par exemple, vous disposez d'un kit de distribution qui coûte très cher. A cet effet, vous pouvez définir un mot de passe pour un élément de menu, comment faire ?!
Imaginons une situation dans laquelle vous devez définir un mot de passe (par exemple : mot de passe) sur Memory Test, c'est facile à faire

Nano /var/lib/tftpboot/pxelinux.cfg/testing.menu

Nous devons ajouter une entrée :
Mot de passe MENU PASSWD

Le fichier ressemble alors à :
TITRE DU MENU Test LABEL Logiciel de test MENU LABEL ^Retour au menu principal KERNEL vesamenu.c32 APPEND pxelinux.cfg/default label memtest MENU PASSWD password menu label ^Memory Test: Memtest86+ v4.20 kernel memtest/mt86plus

La protection est bien sûr médiocre, mais elle peut aider les utilisateurs ordinaires.

Puis lorsque vous tenterez de démarrer, la fenêtre suivante apparaîtra :


Si vous entrez le mot de passe correct, Memtest démarrera.
De cette façon, vous pouvez masquer des menus entiers ou bloquer l'accès à des éléments individuels.
Si des modifications sont apportées à ces fichiers de configuration, il n'est pas nécessaire de redémarrer le serveur DHCP ; il suffit de redémarrer le PC client s'il a démarré via PXE.
Concernant la vitesse du tftp, la vitesse n'est pas élevée, et si vous décidez de transférer de grandes quantités d'informations, essayez d'utiliser pour cela un serveur WEB ou FTP, soyez prêt à y consacrer du temps. S'il est nécessaire de télécharger une sorte de distribution, il est préférable de télécharger un petit système d'exploitation, un exemple serait WindowsPE, ou une distribution Linux miniature.
Je suppose que je vais finir ici...

Aujourd'hui, de plus en plus de tâches sont automatisées et la virtualisation est de plus en plus utilisée pour maximiser l'efficacité des serveurs. Mais il faut quand même installer les systèmes d’exploitation. Chacun le fait à sa manière : certains ont des poches remplies d'images différentes pour toutes les occasions, d'autres portent un « sac à main » avec des disques, voire deux, à l'ancienne. En règle générale, les administrateurs effectuent ce travail avec peu de plaisir. Voyons comment réduire le temps consacré aux tâches triviales, comment apprendre aux ordinateurs à installer des systèmes par eux-mêmes, sans la participation d'un administrateur, en utilisant uniquement un réseau local.

Ainsi, aujourd'hui, nous allons apprendre : installer Windows et Linux sur le réseau, charger de petites images ISO, des logiciels utiles (toutes sortes de Kaspersky, Acronis, WinPE, memtests), déployer des clients légers et les gérer. Pour que, par exemple, une comptable travaillant avec 1C via RDP ne vous tabasse pas parce que son Windows est tombé en panne et que le rapport devait être préparé hier... Ou un patron avare qui ne veut pas mettre à jour son ordinateur a admiré votre professionnalisme quand nous verrons comment Windows 8 vole sur les vieux ordinateurs... Un serveur qui permet le démarrage sur le réseau (PXE) nous aidera à atteindre nos objectifs insidieux.

Chaque administrateur système dispose d’une clé USB universelle dans sa réserve pour la réanimation informatique d’urgence. D'accord, il serait bien préférable d'avoir les mêmes fonctionnalités en utilisant une seule carte réseau. Il convient également de noter qu'il est possible de travailler simultanément avec plusieurs nœuds à la fois. Ainsi, en fonction de nos besoins, nous avons deux solutions : utiliser PXE ou LTSP.

LTSP ne nous convient pas très bien : il est conçu pour charger lui-même via le réseau l'OS installé sur le serveur, ce qui permet d'utiliser les applications serveur LTSP. Ce n’est pas exactement ce dont nous avons besoin. PXE est un outil permettant de démarrer un ordinateur sur un réseau sans utiliser de support de stockage local, tout comme LTSP. PXE vous permet d'organiser un menu de démarrage multi-boot, semblable à un « réanimateur USB » universel.


Que allons-nous mettre en œuvre ?

Tout a commencé avec la nécessité de disposer d'un outil pour l'installation à distance du serveur Ubuntu/Debian sur le réseau, avec la possibilité de démarrer le Live CD d'un petit système, comme SliTaz ou Kolibri OS.
Comme on dit, l'appétit vient en mangeant : nous n'avons pas eu le temps de mettre en œuvre ce que nous avions prévu, et un certain nombre de « désirs » ont été ajoutés au plan. En conséquence, la liste s’est avérée assez impressionnante.

  1. Clients légers Thinstation basés sur Linux.
  2. Rubrique Linux.
    1. Installation d'Ubuntu 14.04 x86.
    2. Installation d'Ubuntu 14.04 x64.
    3. Installation d'Ubuntu 12.04 x86.
    4. Installation d'Ubuntu 12.04 x64.
  3. Partition Windows.
    1. Installation de Windows 2012.
    2. Installation de Windows 7.
  4. Acronis.
    1. Windows PE avec un package de logiciels utiles.
    2. Acronis True Image.
      1. BIOS hérité.
      2. UEFI.
    3. Directeur de disque Acronis.
      1. BIOS hérité.
      2. UEFI.
  5. Kaspersky Rescue version 10.
  6. ERD Commander de 5 à 8 via image ISO.
  7. Test mémoire.

Nous mettons tout ensemble et décollons

Comme distribution pour le serveur, le choix s'est porté sur Ubuntu Server 14.04.2 LTS. Vous pouvez choisir n’importe quel autre système d’exploitation, la seule différence résidera dans la syntaxe. Alors, commençons. Nous aurons besoin de TFTP, de DHCP (pas forcément installé sur le même serveur ; un routeur peut faire office de serveur DHCP), d'un service d'organisation d'un système de fichiers réseau NFS. Nous ne considérerons que les paramètres qui nous intéressent dans le cadre du sujet. Tout d'abord, installons tout ce dont vous avez besoin, après avoir effectué toutes les mises à jour :

La suite est disponible uniquement pour les membres

Option 1. Rejoignez la communauté « site » pour lire tous les documents sur le site

L'adhésion à la communauté dans la période spécifiée vous donnera accès à TOUS les documents Hacker, augmentera votre remise cumulée personnelle et vous permettra d'accumuler une note professionnelle Xakep Score !

AOMEI PXE Boot est un logiciel gratuit pour démarrer des ordinateurs à partir d'ISO sur LAN. Étant très simple à utiliser, ce programme vous permet d'utiliser une image disque bootable (ISO) pour démarrer à distance plusieurs ordinateurs, à condition qu'ils soient connectés au même réseau local. Cela fait d'AOMEI PXE Boot un outil extrêmement utile pour des tâches telles que le déploiement et la maintenance d'applications à distance, en particulier dans les entreprises.

Travailler avec AOMEI PXE Boot est assez simple : vous installez le programme sur le système qui sera utilisé comme serveur, montez l'ISO et attendez que les machines clientes démarrent. Et le meilleur, c'est qu'AOMEI PXE Boot prend en charge le démarrage synchrone de plusieurs ordinateurs en même temps. Apprenons-en davantage sur ce programme étonnant et découvrons comment vous pouvez l'utiliser pour démarrer des ordinateurs à partir d'ISO sur un réseau local câblé.

AOMEI PXE Boot : objectif principal et quelques mots sur Windows PE

Il est important de noter qu'AOMEI PXE Boot est principalement conçu pour résoudre les problèmes des ordinateurs du réseau. Vous pouvez utiliser le programme pour démarrer un système qui ne fonctionne pas dans un environnement restreint. À cette fin, AOMEI PXE Boot fonctionne mieux avec les images de disque de démarrage Linux ou Windows PE. Ce dernier est un système d'exploitation avec des services limités utilisé pour démarrer l'ordinateur à des fins de récupération ou d'installation. Basé sur le noyau Vista, Windows PE n'est pas un système d'exploitation à part entière. Au lieu de cela, il fournit un environnement sûr pour dépanner votre ordinateur et le remettre en état de marche.

Il n'y a absolument aucune raison de croire qu'AOMEI PXE Boot ne fonctionnera pas avec une autre image disque. Pendant les tests, j'ai pu démarrer à distance Damn Small Linux (DSL) sur un système client à l'aide d'une image ISO amorçable.

Comment démarrer des ordinateurs en utilisant ISO sur un réseau local

Maintenant que vous en savez beaucoup sur AOMEI PXE Boot, il est temps de voir comment cela fonctionne. Le processus comprend essentiellement deux étapes. La première partie consiste à configurer l'ordinateur client pour qu'il démarre sur le réseau, et la seconde consiste à configurer et à exécuter l'application sur le système agissant en tant que serveur.

Veuillez noter que les deux ordinateurs doivent être connectés au même réseau. Dans mon cas, le serveur était connecté au réseau sans fil, mais la machine client était connectée par fil.

Partie 1 : Configuration des ordinateurs clients pour le démarrage réseau

Comme son nom l'indique, la première chose que vous devez faire est de configurer le ou les ordinateurs clients pour qu'ils démarrent sur un réseau câblé. Pour ce faire, vous devez accéder au menu du BIOS de l'ordinateur. Voici comment procéder (la démarche est sensiblement la même, quel que soit le fabricant de l'ordinateur) :

1. Allumez l'ordinateur client et appuyez sur une touche pour accéder au menu du BIOS (généralement Suppr, Esc, F8 ou F12). Dans le BIOS, allez dans le sous-menu « Boot » et dans la section « Boot Options Priorities » sélectionnez « PXE » (sur certains ordinateurs « Legacy LAN », « Realtek PXE B02 D00 », « Network boot from Intel », etc.) comme premier périphérique de démarrage. Vous devrez peut-être également activer l'option PXE ROM si elle est désactivée.

2. AOMEI PXE Boot ne prend en charge que le mode de démarrage Legacy, vous devez donc également désactiver l'option de démarrage UEFI si elle est prise en charge par la carte mère de votre ordinateur. Cette option se trouve dans le sous-menu Boot.

C'est tout ce que vous devez faire sur l'ordinateur client. N'oubliez pas de sauvegarder les modifications que vous avez apportées à la configuration du BIOS. Passons maintenant au serveur.

Partie 2 : Téléchargez l'ISO et exécutez l'application sur l'ordinateur serveur

Cette partie est en réalité encore plus simple. Pour commencer, téléchargez et installez AOMEI PXE Boot (environ 5 Mo) sur l'ordinateur qui sera utilisé comme serveur. En plus de cela, vous devez également télécharger une image disque amorçable pour démarrer le ou les ordinateurs clients. Les étapes ci-dessous expliquent ce qui est exigé de vous :

1. Lancez le démarrage AOMEI PXE. Sur le premier écran du programme, sélectionnez l'option « Démarrer à partir d'un fichier image personnalisé » et accédez à votre fichier ISO (vous pouvez également utiliser l'autre option pour télécharger un ISO Windows PE ou Linux depuis le site Web d'AOMEI si vous le souhaitez). Une fois l'image sélectionnée, cliquez sur le bouton « Démarrer le service » pour démarrer le service.

2. La fenêtre de démarrage AOMEI PXE affichera désormais des informations sur l'activité se produisant sur le serveur et les ordinateurs clients. Vous n'avez rien d'autre à faire sur le serveur. Pour voir l’action réelle, allons de l’avant. Et bien sûr, l’application et bien sûr le serveur doivent être en cours d’exécution.

Tout ce que vous avez à faire est de démarrer l'ordinateur client et d'attendre qu'il démarre sur le réseau en utilisant l'image ISO que vous avez sélectionnée via AOMEI PXE Boot sur l'ordinateur serveur. Voici une distribution Damn Small Linux entièrement fonctionnelle fonctionnant sur une machine client :

Derniers mots

Si vous êtes un administrateur réseau à la recherche d'un moyen simple et efficace (et sans fioritures) de déployer et de gérer un système d'exploitation à distance, AOMEI PXE Boot est peut-être exactement ce dont vous avez besoin. C'est un outil de qualité, ridiculement simple à configurer et qui fonctionne étonnamment bien.

Passe une bonne journée!