PXE: caricamento di tutto! Padroneggiare l'avvio multiplo su una rete locale. Installazione di un server Linux PXE per avviare Windows PE Modifica della home page di avvio GPXE


Un'unità flash avviabile con una serie di software necessari è uno strumento meraviglioso per un amministratore di sistema. Sembrerebbe, cosa potrebbe esserci di meglio? Un server di avvio potrebbe essere migliore!

Immagina di aver scelto di eseguire l'avvio tramite rete nel BIOS e di poter installare il sistema operativo/curare il computer dai virus/rianimare i dischi/testare la RAM/ecc. da un server di avvio PXE, perché questo è molto più conveniente che eseguire con un flash guidare da una macchina all'altra.
E nel caso di un grande parco computer, tale strumento è assolutamente indispensabile.

Abbiamo scritto in precedenza su come preparare Windows per l'installazione con PXE.
L'unica differenza con questa installazione è che qui possiamo installare sia Windows 2008R2 che Windows 2012R2 (così come Windows 7/8, devi solo preparare la distribuzione e i file winpe di conseguenza). Dopo aver scaricato winpe, montiamo la cartella /srv/tftp/images/, che contiene i file per l'installazione del sistema operativo di Microsoft:
ls -l /srv/tftp/images/ totale 8 drwxr-xr-x 6 root root 4096 17 febbraio 22:19 w2k12r2 drwxr-xr-x 7 tftp tftp 4096 17 febbraio 19:05 w2k8r2
ed eseguire il programma di installazione richiesto.
Per l'automazione, tramite startnet.cmd, ho abbozzato il seguente menu:

Ora non resta che occuparsi di VMware.
Come hai notato, la configurazione per l'installazione degli hypervisor è leggermente diversa dalle altre: è qui che abbiamo bisogno di un server HTTP.
In /var/www creeremo le cartelle vmw5.5, vmw5.0 e nelle cartelle creeremo collegamenti simbolici alla configurazione
# 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
È scritto su come preparare, ad esempio, Debian per l'installazione con PXE, ma non mi soffermerò su questo.

Aggiungiamo la possibilità di caricare varie utilità del disco e un test della memoria

Questa sezione conterrà:
  1. Memtest86+
  2. Clonezilla-live
  3. CD SystemRescue

Le configurazioni si trovano qui

predefinito
ui vesamenu.c32 PROMPT 0 sfondo del menu background.jpg titolo del menu Menu di avvio ServerClub PXE ETICHETTA etichetta del menu bootlocal Avvio dal primo kernel HDD chain.c32 aggiungi hd0 0 timeout 120000 TESTO AIUTO Il sistema si avvierà allo scadere del tempo. ETICHETTA FINE TESTO Windows -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/windows ETICHETTA Linux -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/linux ETICHETTA FreeBSD -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/bsd ETICHETTA VMvare -> KERNEL ve samenu c32 APPENDI pxelinux.cfg/vmware ETICHETTA Utilità HDD e RAM -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/du
du
PROMPT 0 UI vesamenu.c32 SFONDO DEL MENU background.jpg TITOLO DEL MENU Utilità HDD e RAM ETICHETTA<- 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


E ti dirò perché abbiamo installato anche un server NFS.
Come puoi vedere dalla configurazione di avvio di SystemRescueCD, recupera i file necessari a questo LiveCD montando la directory utilizzando il protocollo NFS. Il server è già installato, non resta che modificare /etc/exports e riavviare il demone del server.
# 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 nfs-kernel-server restart
Presumo che tu abbia una domanda ragionevole: "Cosa ci fa LiveCD qui se c'è un elemento separato per loro?"
SystemRescueCD contiene molti programmi utili per lavorare con il disco (ad esempio, GParted e testdisk) e quindi è disponibile sia qui che in LiveCD.

CD live

Il nostro set di LiveCD includerà:
  1. CD live di Debian 7
  2. HirensBootCD
  3. CD del kit di salvataggio della Trinità
  4. CD SystemRescue
  5. Plop dal vivo

Configurazioni

Alla fine predefinito aggiunto
ETICHETTA LiveCD -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/livecds
livecd
PROMPT 0 UI vesamenu.c32 SFONDO DEL MENU background.jpg TITOLO DEL MENU LiveCDs ETICHETTA<- 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

Per caricare il CD Trinity Rescue Kit e Plop Live, è necessario aggiungere le seguenti righe a /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,insicuro,anonuid=1000,anongid=1000)
e invia il comando NFS restart al demone.


Qualche parola sui LiveCD selezionati.
CD live di Debian 7
Questo CD è stato realizzato da uno dei nostri ingegneri e include quanto segue:

Accesso/password: root/ServerClub

HirensBootCD
Non ha quasi bisogno di presentazioni e contiene molte utilità utili.
Maggiori dettagli possono essere trovati.
Ci vuole molto tempo per caricarsi, MiniXP e Linux non funzionano. Sono disponibili altre utilità.

CD del kit di salvataggio della Trinità
Secondo gli sviluppatori, è stato creato per ripristinare il sistema operativo Windows.
Contiene utilità per reimpostare password, antivirus, un programma per clonare un "computer" in rete (e su più computer contemporaneamente) e molto altro.
Per saperne di più.

CD SystemRescue
Basato su Gentoo, progettato per ripristinare i sistemi Linux.
Comprende un gran numero di vari programmi di amministrazione; l'elenco può essere trovato al link.

Plop dal vivo
LiveCD con tre DE completi tra cui scegliere, nonché il software di amministrazione necessario.

Il file di configurazione finale del menu principale, nonché il file del menu dell'antivirus

predefinito
ui vesamenu.c32 PROMPT 0 sfondo del menu background.jpg titolo del menu Menu di avvio ServerClub PXE ETICHETTA etichetta del menu bootlocal Avvio dal primo kernel HDD chain.c32 aggiungi hd0 0 timeout 120000 TESTO AIUTO Il sistema si avvierà allo scadere del tempo. ETICHETTA FINE TESTO Windows -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/windows ETICHETTA Linux -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/linux ETICHETTA FreeBSD -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/bsd ETICHETTA VMvare -> KERNEL ve samenu c32 APPENDI pxelinux.cfg/vmware ETICHETTA Utilità HDD e RAM -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/du ETICHETTA LiveCD -> KERNEL vesamenu.c32 APPENDI pxelinux.cfg/livecds ETICHETTA Antivirus -> KERNEL vesamenu.c32 APPENDI pxel inux .cfg/av
av
PROMPT 0 UI vesamenu.c32 SFONDO DEL MENU background.jpg TITOLO DEL MENU ETICHETTA 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

Conclusione, è anche una sorpresa

In tutto l'articolo non ho volutamente spiegato dove trovarlo e come preparare il contenuto, perché queste azioni sono molto banali e non farebbero altro che sovraccaricare il testo.

Come sorpresa, vi propongo due opzioni per il nostro montaggio, disponibili ai link sottostanti:

  1. Archivio con tutto il contenuto /srv/tftp (collegamento al file torrent, collegamento diretto)
  2. Archivio dell'intero sistema operativo (link al file torrent, collegamento diretto)
Nel primo caso, devi preparare tu stesso il server (il capitolo "L'inizio" di questa epopea ti aiuterà in questo), decomprimere il contenuto dell'archivio e apportare modifiche in base alle realtà del tuo ambiente.

Il secondo caso prevede l'installazione su bare metal o su macchina virtuale.
In breve, i passaggi per distribuire un assembly da un archivio completo del sistema operativo saranno i seguenti:
1. Avviare da Linux LiveCD.
2. Partizionare il disco e formattare le partizioni.
3. Montare la partizione "/".
4. Decomprimere l'archivio.
5. Installa il bootloader.
6. Riavviare.
7. Configura il sistema operativo per adattarlo alla tua rete e inizia a usarlo.
Accesso/password: root/ServerClub.
IMPORTANTE: se hai un server DHCP in esecuzione sulla tua rete, prima di eseguire la nostra build, disabilita l'avvio automatico DHCP al suo interno.

Concludo con questo, grazie per l’attenzione!

Per chi non ha un account su Habré.
Se avete domande/commenti, scrivetemi via e-mail - erserverclub.com.

Ti ricordiamo che i tentativi di ripetere le azioni dell'autore possono portare alla perdita della garanzia sull'apparecchiatura e persino al suo guasto. Il materiale è fornito solo a scopo informativo. Se hai intenzione di riprodurre i passaggi descritti di seguito, ti consigliamo vivamente di leggere attentamente l'articolo fino alla fine almeno una volta. Gli editori di 3DNews non si assumono alcuna responsabilità per eventuali conseguenze.

Ricordi quando una volta abbiamo pensato di creare un "kit di pronto soccorso" USB universale per le riparazioni di emergenza dei computer? Nell'ultimo articolo abbiamo conosciuto il caricamento della rete e il programma DRBL. Bene, questa volta creeremo un analogo del supporto multiboot, solo che non eseguiremo l'avvio da un'unità flash, ma tramite la rete utilizzando PXE. Questo viene fatto in modo abbastanza semplice. Come al solito, avremo bisogno di una macchina con Ubuntu Server 11.10 con due schede di rete, che fungeranno da server. Il supporto per l'avvio di rete deve essere abilitato nel BIOS delle macchine client.

Per semplificare il nostro compito e non preoccuparci separatamente dell'installazione e della configurazione di vari servizi di rete come server DHCP e TFTP, utilizzeremo una soluzione più universale: dnsmasq. Si tratta di un server DNS/DHCP/TFTP leggero, perfetto per le macchine che si avviano dalla rete. Come l'ultima volta, concordiamo che l'interfaccia di rete eth0 riceva automaticamente un indirizzo IP dal router e abbia accesso a Internet. A sua volta, eth1 guarda la rete interna e ha un indirizzo IP statico 192.168.0.1. Modifica le impostazioni di rete nel file /etc/network/interfaces utilizzando l'editor di testo nano se non lo hai già fatto.

Sudo nano /etc/network/interfaces

Alla fine del file aggiungi le impostazioni per l'interfaccia eth1 e salvale (F2, Y, Invio).

Auto eth1 iface eth1 inet indirizzo statico 192.168.0.1 maschera di rete 255.255.255.0

Se devi fornire l'accesso alla rete ai client locali, dovrai fare qualcos'altro. Innanzitutto, decommenta (rimuovi il # all'inizio) la riga net.ipv4.ip_forward=1 nel file /etc/sysctl.conf. In secondo luogo, esegui un paio di comandi. L'ultimo comando deve essere aggiunto alla fine del file /etc/rc.local prima della riga esci 0 in modo che l'inoltro di rete venga avviato all'avvio.

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

Ora devi installare dnsmasq, oltre a diverse utilità per semplificare il tuo lavoro: il file manager Midnight Commander e le utilità per decomprimere immagini ISO e archivi ZIP/RAR/7ZIP.

Sudo apt-get install dnsmasq mc genisoimage decomprimere unrar p7zip-full

Iniziamo a configurare dnsmasq.

Sudo nano /etc/dnsmasq.conf

Aggiungi le seguenti righe alla fine:

Interfaccia=eth1 dhcp-range=192.168.0.10,192.168.0.100,255.255.255.0,24h server=8.8.8.8 abilita-tftp tftp-root=/pxe dhcp-boot=pxelinux.0

Cos'è cosa? Il parametro interfaccia specifica con quale interfaccia di rete funzionerà dnsmasq. In DHCP-Range, i primi due parametri indicano l'inizio e la fine dell'intervallo di indirizzi rilasciati ai computer client, poi vengono la maschera di sottorete e il tempo di lease dell'indirizzo. Nel campo server sono indicati gli indirizzi IP dei server DNS upstream (ad esempio il provider), ma se lo desideri puoi utilizzare Google DNS o OpenDNS. La direttiva abilita-tftp abilita il server TFTP integrato e tftp-root ne specifica la directory root. Infine, in DHCP-boot viene registrato un bootloader che verrà distribuito in rete.

Salviamo le impostazioni e riavviamo il server, creiamo le cartelle necessarie e avviamo Midnight Commander (mc), dove continueremo il lavoro principale. /pxe/images/ memorizzerà le immagini di utilità o distribuzioni che verranno scaricate tramite la rete locale. La directory /pxe/pxelinux.cfg serve per memorizzare le impostazioni PXE.

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

Il primo passo è ottenere i programmi di avvio dal progetto syslinux. Scarica l'archivio più recente nella tua cartella Home. I comandi possono essere inseriti direttamente in mc o, per comodità, puoi passare dalla console ai pannelli utilizzando la combinazione di tasti Ctrl+O. Il modo più conveniente per scaricare file è con il programma wget. Ad esempio, in questo modo:

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

Entriamo nell'archivio scaricato semplicemente spostando la selezione su di esso e premendo Invio. Da esso, devi copiare diversi file nella directory /pxe: pxelinux.0 dalla cartella /core, menu.c32 da /com32/menu e memdisk dalla directory con lo stesso nome.

Stiamo iniziando a completare lentamente le impostazioni predefinite di pxelinux.

Sudo nano /pxe/pxelinux.cfg/default

Aggiungiamo le seguenti righe a questo file:

Menu DEFAULT.c32 TIMEOUT 600 TITOLO MENU ETICHETTA MENU BOOT PXE ETICHETTA MENU HDDBoot MENU Boot locale DEFAULT LOCALBOOT 0

In generale, tutta la documentazione sulla formazione dei parametri per i boot loader syslinux, e in particolare il menu di avvio PXE, si trova nei file di testo della directory docs dell'archivio syslinux. Diamo un'occhiata ai parametri che abbiamo appena utilizzato. Per impostazione predefinita, viene avviato il file menu.c32, che visualizza il nostro menu PXE. TIMEOUT specifica il tempo di attesa (in 1/10 s) dopo il quale verrà caricato l'elemento predefinito. TITOLO MENU contiene il titolo del nostro menù. Puoi inserire quello che vuoi lì.

Poi c'è una descrizione della prima voce di menu. Per facilità di gestione, ad ogni articolo viene assegnata un'etichetta (LABEL). In MENU LABEL, il nome dell'etichetta che l'utente vedrà durante il caricamento. MENU PREDEFINITO significa che questa voce del menu corrente verrà avviata per impostazione predefinita. Bene, la direttiva LOCALBOOT 0 indica che è necessario spegnere PXE e tornare al normale avvio del computer. È meglio lasciare questo elemento come predefinito.

Diversifichiamo il nostro multibooter con alcune utilità. Prendiamo ad esempio il famoso programma di test della memoria Memtest86+. Scaricare l'archivio con il file binario avviabile precompilato dal sito. Salviamo il file memtest.bin come memtest (senza estensione!) nella cartella /pxe/images. Qui ci troviamo di fronte a due caratteristiche contemporaneamente. Innanzitutto, per il set syslinux, un numero di file (.0, .bin, .bs e così via) deve avere un formato rigorosamente definito. Lo stesso .bin per isolinux viene letto come settore di avvio del CD, ma memtest.bin non lo è. In secondo luogo, questo file supporta direttamente l'avvio con syslinux, quindi possiamo tranquillamente specificarlo come "kernel" da eseguire.

ETICHETTA Memtest86+ MENU ETICHETTA Memtest86+ KERNEL immagini/memtest

Un'altra opzione di avvio utile è utilizzare memdisk. In questo caso, il supporto (immagine ISO, immagine floppy grezza, immagine HDD) viene completamente copiato nella RAM del computer e da essa avviene un ulteriore caricamento. Ecco un esempio per eseguire KolibriOS. Dall'archivio di distribuzione, devi copiare il file kolibri.img nella cartella /pxe/images e aggiungere le seguenti righe a /pxe/pxelinux.cfg/default.

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


Puoi fare qualcosa di "più grave": caricare il CD di avvio di Hiren. Puoi già intuire che l'immagine ISO dovrebbe essere salvata come /pxe/images/hirens.iso. Sul computer client dovrai attendere un minuto o due fino a quando mezzo gigabyte iso viene copiato in memoria Naturalmente, il PC stesso deve avere almeno un gigabyte di RAM, ma dopo il caricamento, lavorare con il Boot CD di Hiren è estremamente veloce. Tuttavia, probabilmente è meglio evitare opzioni così estreme.

ETICHETTA Hirens MENU ETICHETTA CD di avvio di Hiren KERNEL memdisk APPEND iso initrd=images/hirens.iso


Facciamo un esempio più complicato: carica Clonezilla Live tramite PXE. Crea una cartella /pxe/images/clonezilla. Lì dovrai copiare tutti i file dalla cartella /live, che si trova nell'immagine ISO. Nelle impostazioni specifichiamo il caricamento del kernel Linux (vmlinuz) e in APPEND gli passiamo i parametri. Possono essere visualizzati nel file isolinux/isolinux.cfg all'interno dell'immagine ISO (le chiavi ocs_* si riferiscono direttamente a Clonezilla e non al kernel stesso). Nel nostro caso, la differenza sarà minima: devi solo indicare che il file con l'immagine di sistema in Squashfs deve essere preso durante il download dal server TFTP.

ETICHETTA Clonezilla MENU ETICHETTA 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 TESTO AIUTO Clonezilla Live: avvio su RAM ENDTEXT

Attenzione! Tutto dopo APPEND è una singola riga senza trattini. Il testo tra le direttive TEXT HELP e ENDTEXT verrà mostrato come descrizione comando quando si seleziona la voce del menu di avvio corrispondente. Altre distribuzioni o utilità basate su Linux vengono aggiunte al download in modo simile. Come riscaldamento, prova a configurare le impostazioni per la distribuzione leggera SliTaz.

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


Come puoi vedere, tutto è abbastanza semplice e abbastanza flessibile da configurare. Per esplorare ulteriormente l'avvio PXE su Ubuntu Server, sarebbe una buona idea familiarizzare con il wiki di syslinux e la documentazione inclusa nell'archivio di questa utility. Tra le soluzioni interessanti che utilizzano PXE si può leggere, ad esempio, sull'installazione in rete di Windows 7 senza utilizzare RIS/WDS. Tra le aggiunte utili, dovresti dare un'occhiata più da vicino al kit di distribuzione Thinstation per la creazione di thin client, nonché al gestore di download Plop. Indubbiamente, le utilità saranno utili per testare l'hardware e diagnosticare problemi, per ripristinare i dati e creare backup, per... In generale, dipende da te. Buona fortuna!

PXE ha una caratteristica molto utile: tutto ciò che è configurato al suo interno è abbastanza difficile da perdere perché tutto questo è archiviato sul server, e non su supporti rimovibili, che tendono a perdersi, rubati, dimenticati nei lettori DVD/a casa, lasciati per essere usati e “finiti”, quindi è probabile che te lo portino via e "giocare" tende a zero , beh, forse insieme al server... Collegando un dispositivo che ha la capacità di avviare PXE, puoi fare molte cose utili, vale a dire: diagnosticare l'apparecchiatura, distribuire sistemi operativi, avviare un sistema live, ecc. quanto basta la conoscenza e l'immaginazione?
Per fare ciò, dovremo configurare un server DHCP e un server TFTP.
In precedenza, ho già scritto su come configurare un server, lo consiglio vivamente per la revisione, i punti principali sono stati ripresi da esso.
Cosa otterremo come risultato?!
E otterremo un menu di avvio con la possibilità di selezionare l'applicazione che scaricheremo sul computer client, nonché le azioni predefinite che verranno eseguite dal sistema se non vengono ricevuti comandi dagli utenti.

Per lavoro avremo bisogno di:
1) Server Ubuntu installato
2) Un server DHCP configurato, un esempio di configurazione può essere trovato nell'articolo:
3) Disco o immagine ISO della distribuzione di installazione di Ubuntu: la profondità in bit non ha importanza, ma è meglio prendere una versione più recente.

Il resto lo installeremo strada facendo... Non mi soffermerò sulle impostazioni DHCP, ammesso che tu le abbia configurate, secondo l'articolo, il cui collegamento è fornito nei requisiti di sistema.

Installazione di un server TFTP
Installiamo il pacchetto necessario:
Alziamo i diritti di root:
sudo su

Installiamo il pacchetto necessario
aptitude installa tftpd-hpa

Ora tutti i file relativi al nostro server tfpt dovrebbero trovarsi nella directory /var/lib/tftpboot/, tutti i percorsi vengono specificati rispetto ad esso.

Passiamo alla creazione del menu di avvio
Prima di tutto, dobbiamo procurarci un vice caricatore, come fare?! Può essere trovato su qualsiasi disco con Ubuntu, in altre distribuzioni Linux la posizione è quasi sempre la stessa. Avremo bisogno di un'immagine ISO o di un disco di installazione inserito nell'unità DVD, nella quale andiamo nella seguente directory:
Se il disco di installazione è un'architettura x86:
/install/netboot/ubuntu-installer/i386
Siamo interessati al dossier pixelinux.0 questo è il bootloader, prendilo e copialo nella directory:
/var/lib/tftpboot/
Quindi il percorso è simile a:
/var/lib/tftpboot/pxelinux.0
Inoltre, avremo bisogno del menu di avvio stesso, che può essere salvato sullo stesso disco, nella directory schermate di avvio siamo interessati a un file denominato vesamenu.c32

Copialo nella stessa directory del caricatore in modo che il percorso sia simile a:
/var/lib/tftpboot/vesamenu.c32

Configurazione del contenuto del menu PXE

Ad esempio, creeremo un menu di avvio composto da 2 elementi.
Punto uno: Avvio dal disco rigido locale. Questo elemento sarà l'elemento predefinito se l'utente avvia il PC tramite PXE ed entro 15 secondi. non ha eseguito alcuna azione, il sistema si avvierà automaticamente dal disco locale.
Punto due: chiamiamolo Test All'interno di questo menu sarà presente una voce con la possibilità di scaricare Memtest x86+. Questo programma sarà sempre utile per diagnosticare problemi con workstation e server; in generale, è una cosa necessaria e sarà utile a tutti nella fattoria...

Per prima cosa dobbiamo creare una directory per i file di configurazione chiamata pixelinux.cfg - il nome è fondamentale per il lavoro!
mkdir /var/lib/tftpboot/pxelinux.cfg

Ora creiamo un file di configurazione con i parametri delle voci di menu, denominato predefinito
nano /var/lib/tftpboot/pxelinux.cfg/default

Con il seguente contenuto:
default vesamenu.c32 prompt 0 titolo del menu Menu di avvio PXE MENU AUTOBOOT Avvio del sistema locale tra # secondi label Avvio dal menu dell'unità locale label ^Avvio dal menu dell'unità locale default localboot 0 timeout 150 TOTALTIMEOUT 9000 LABEL Test MENU LABEL ^Testing KERNEL vesamenu.c32 APPEND pxelinux.cfg/testing.menu

I più attenti hanno notato che nel file precedente avevamo una voce che riguarda un altro file testing.menu, in esso avremo le impostazioni per l'elemento Test
Creiamo questo file:

Con il seguente contenuto:
TITOLO MENU Test ETICHETTA Test software MENU ETICHETTA ^Ritorna al menu principale KERNEL vesamenu.c32 APPEND pxelinux.cfg/default etichetta Etichetta menu Test memoria ^Test memoria: Memtest86+ v4.20 kernel memtest/mt86plus

La prima voce di menu sarà responsabile del ritorno al menu precedente e la seconda del caricamento Memtest86+ v4.20

Va tutto bene, ma non abbiamo creato la directory in cui è archiviato il file Memtest, sistemeremo questo problema ora, creiamo la directory appropriata.
Facciamolo:
mkdir /var/lib/tftpboot/memtest
Non dobbiamo fare altro che aggiungere il file eseguibile del Memtest86+ stesso, lo troviamo sul disco di installazione, nella directory /installare/ siamo interessati al file mt86plus dobbiamo copiarlo nella directory memtest in modo che il percorso sia simile a:
/var/lib/tftpboot/memtest/mt86plus

A questo punto abbiamo finito con il server tftp, dobbiamo solo completare un po' il server DHCP.

Configurazione di un server DHCP

Questo elemento può essere definito solo un'impostazione con un allungamento; se hai configurato il server DHCP secondo l'articolo, devi aggiungere solo una voce a:
nano /etc/dhcp/dhcpd.conf

Troviamo l'elemento con le impostazioni del pool di indirizzi IP, che assomiglia a:
sottorete 192.168.10.0 maschera di rete 255.255.255.0 ( intervallo 192.168.10.10 192.168.10.254; opzione nome-dominio-server 192.168.10.1; opzione nome-dominio "esempio.org"; opzione router 192.168.10.1; opzione indirizzo broadcast 192. 168.10 .255 ; tempo di locazione predefinito 604800; tempo di locazione massimo 604800; )

E aggiungiamo una voce che punta al nostro bootloader PXE:
controllo ping = 1; nomefile = "pxelinux.0";
Il percorso del file è relativo alla directory /var/lib/tftpboot/ quelli. è considerata la directory root, come ho scritto prima...

L'intera voce assomiglia a:
controllo ping = 1; nomefile = "pxelinux.0"; sottorete 192.168.10.0 maschera di rete 255.255.255.0 ( intervallo 192.168.10.10 192.168.10.254; opzione nome-dominio-server 192.168.10.1; opzione nome-dominio "esempio.org"; opzione router 192.168.10.1; opzione indirizzo broadcast 192. 168.10 .255 ; tempo di locazione predefinito 604800; tempo di locazione massimo 604800; )

Salvare le modifiche e riavviare il server DHCP:
/etc/init.d/isc-dhcp-server riavviare

Ora possiamo connettere alla nostra rete locale un dispositivo che supporti l'avvio PXE e in cui questa funzione sia abilitata (vedi la documentazione della tua attrezzatura) o connettere una macchina virtuale con l'adattometro collegato in modalità bridge e senza supporto di avvio.

Se hai fatto tutto correttamente, il menu sarà simile a questo:

E se vai al menu Test:


Selezionando la voce con Memtest verrà eseguito un test della memoria.
Altre voci di menu vengono aggiunte di conseguenza.

Immaginiamo una situazione in cui devi fornire l'accesso a uno dei menu a un numero limitato di persone, ad esempio, hai lì un kit di distribuzione che costa un sacco di soldi. A questo scopo puoi impostare una password per una voce di menu, come fare?!
Immaginiamo una situazione in cui è necessario impostare una password (ad esempio: parola d'ordine) su Memory Test, è facile da fare

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

Dobbiamo aggiungere una voce:
MENU PASSWORD password

Quindi il file appare così:
MENU TITOLO Test ETICHETTA Test software MENU ETICHETTA ^Ritorna al menu principale KERNEL vesamenu.c32 APPEND pxelinux.cfg/default etichetta memtest MENU PASSWD etichetta menu password ^Test memoria: Memtest86+ v4.20 kernel memtest/mt86plus

La protezione è, ovviamente, così così, ma può aiutare gli utenti ordinari.

Quindi quando provi ad avviare, apparirà la seguente finestra:


Se inserisci la password corretta, verrà avviato Memtest.
In questo modo puoi nascondere interi menu o bloccare l'accesso a singole voci.
Se vengono apportate modifiche a questi file di configurazione, non è necessario riavviare il server DHCP; è sufficiente riavviare il PC client se è stato avviato tramite PXE.
Per quanto riguarda la velocità di tftp, la velocità non è elevata e, se decidi di trasferire grandi quantità di informazioni, prova a utilizzare un server WEB o FTP per questo, preparati a dedicarci del tempo. Se è necessario scaricare qualche tipo di distribuzione, è meglio scaricare un piccolo sistema operativo, ad esempio WindowsPE o una distribuzione Linux in miniatura.
Immagino che finirò qui...

Oggi sempre più attività vengono automatizzate e la virtualizzazione viene sempre più utilizzata per massimizzare l’efficienza dei server. Ma devi ancora installare i sistemi operativi. Ognuno lo fa a modo suo: alcuni hanno le tasche piene di immagini diverse per tutte le occasioni, altri portano con sé una “borsetta” con i dischi, o anche due, alla vecchia maniera. Di norma, gli amministratori svolgono questo lavoro con poco piacere. Vediamo come ridurre il tempo per compiti banali, come insegnare ai computer a installare i sistemi da soli, senza la partecipazione di un amministratore, utilizzando solo una rete locale.

Quindi oggi impareremo: installare Windows e Linux sulla rete, caricare piccole immagini ISO, software utile (tutti i tipi di Kaspersky, Acronis, WinPE, memtest), distribuire thin client e gestirli. In modo che, ad esempio, un contabile che lavora con 1C tramite RDP non ti picchia perché il suo Windows si è bloccato e il rapporto doveva essere preparato ieri... O un capo avaro che non vuole aggiornare il suo computer ha ammirato la tua professionalità quando vedremo come vola Windows 8 sui vecchi computer... Un server che fornisce l'avvio tramite rete (PXE) ci aiuterà a raggiungere i nostri obiettivi insidiosi.

Ogni amministratore di sistema ha un'unità USB universale nella propria scorta per la rianimazione del computer di emergenza. D'accordo, sarebbe molto meglio avere la stessa funzionalità utilizzando una sola scheda di rete. Va anche notato che è possibile lavorare contemporaneamente con più nodi contemporaneamente. Quindi, in base alle nostre esigenze, abbiamo due soluzioni: utilizzare PXE o LTSP.

LTSP non è molto adatto a noi: è progettato per caricare in rete il sistema operativo installato sul server stesso, il che consente l'utilizzo di applicazioni server LTSP. Questo non è esattamente ciò di cui abbiamo bisogno. PXE è uno strumento per avviare un computer in rete senza utilizzare supporti di memorizzazione locali, proprio come LTSP. PXE consente di organizzare un menu di avvio multi-boot, simile a un "rianimatore USB" universale.


Cosa implementeremo?

Tutto è iniziato con la necessità di avere a portata di mano uno strumento per l'installazione remota di Ubuntu/Debian Server sulla rete, con la possibilità di avviare un Live CD di un piccolo sistema, come SliTaz o Kolibri OS.
Come si suol dire, l'appetito vien mangiando: non abbiamo avuto il tempo di realizzare ciò che avevamo pianificato e al piano sono stati aggiunti una serie di "desideri". Di conseguenza, l'elenco si è rivelato piuttosto impressionante.

  1. Thin client Thin Station basati su Linux.
  2. Sezione Linux.
    1. Installazione di Ubuntu 14.04x86.
    2. Installazione di Ubuntu 14.04x64.
    3. Installazione di Ubuntu 12.04x86.
    4. Installazione di Ubuntu 12.04x64.
  3. Partizione di Windows.
    1. Installazione di Windows 2012.
    2. Installazione di Windows 7.
  4. Acronis.
    1. Windows PE con un pacchetto di software utile.
    2. Acronis True Image.
      1. BIOS precedente.
      2. UEFI.
    3. Direttore del disco Acronis.
      1. BIOS precedente.
      2. UEFI.
  5. Kaspersky Rescue v10.
  6. ERD Commander da 5 a 8 tramite immagine ISO.
  7. Memtest.

Mettiamo tutto insieme e decolliamo

Come distribuzione per il server, la scelta è caduta su Ubuntu Server 14.04.2 LTS. Puoi scegliere qualsiasi altro sistema operativo, l'unica differenza sarà nella sintassi. Quindi iniziamo. Avremo bisogno di TFTP, DHCP (non necessariamente installato sullo stesso server; un router può fungere da server DHCP), un servizio per organizzare un file system di rete NFS. Considereremo solo le impostazioni che ci interessano all'interno dell'argomento. Innanzitutto installiamo tutto il necessario, dopo aver effettuato tutti gli aggiornamenti:

La continuazione è disponibile solo per i membri

Opzione 1. Unisciti alla community del "sito" per leggere tutti i materiali sul sito

L'iscrizione alla community entro il periodo specificato ti darà accesso a TUTTI i materiali Hacker, aumenterà il tuo sconto cumulativo personale e ti consentirà di accumulare una valutazione Xakep Score professionale!

AOMEI PXE Boot è un software gratuito per l'avvio di computer da ISO su LAN. Essendo molto facile da usare, questo programma ti consente di utilizzare un'immagine del disco di avvio (ISO) per avviare più computer da remoto, a condizione che siano collegati alla stessa rete locale. Ciò rende AOMEI PXE Boot uno strumento estremamente utile per attività come la distribuzione e la manutenzione di applicazioni remote, soprattutto nelle aziende.

Lavorare con AOMEI PXE Boot è abbastanza semplice: installi il programma sul sistema che verrà utilizzato come server, monti l'ISO e attendi l'avvio delle macchine client. E la parte migliore è che AOMEI PXE Boot supporta l'avvio sincrono di più computer contemporaneamente. Impariamo di più su questo fantastico programma e scopriamo come utilizzarlo per avviare i computer da ISO tramite una LAN cablata.

AOMEI PXE Boot: scopo principale e qualche parola su Windows PE

È importante notare che AOMEI PXE Boot è progettato principalmente per risolvere problemi con i computer in rete. È possibile utilizzare il programma per avviare un sistema non funzionante in un ambiente limitato. A questo scopo, AOMEI PXE Boot funziona meglio con le immagini del disco di avvio Linux o Windows PE. Quest'ultimo è un sistema operativo con servizi limitati utilizzato per avviare il computer a scopo di ripristino o installazione. Basato sul kernel Vista, Windows PE non è un sistema operativo completo. Fornisce invece un ambiente sicuro per risolvere i problemi del computer e riportarlo in condizioni di funzionamento.

Non c'è assolutamente alcun motivo di credere che AOMEI PXE Boot non funzionerà con nessun'altra immagine del disco. Durante i test, sono riuscito ad avviare da remoto Damn Small Linux (DSL) su un sistema client utilizzando un'immagine ISO avviabile.

Come avviare i computer utilizzando ISO su rete locale

Ora che sai molto su AOMEI PXE Boot, è tempo di vedere come funziona. Il processo si compone essenzialmente di due fasi. La prima parte prevede la configurazione del computer client per l'avvio tramite la rete, mentre la seconda consiste nella configurazione e nell'esecuzione dell'applicazione sul sistema che funge da server.

Tieni presente che entrambi i computer devono essere collegati alla stessa rete. Nel mio caso, il server era connesso alla rete in modalità wireless, ma il computer client era connesso tramite cavo.

Parte 1: configurazione dei computer client per l'avvio dalla rete

Come suggerisce il nome, la prima cosa che devi fare è configurare il computer o i computer client per l'avvio tramite una rete cablata. Per fare ciò, è necessario accedere al menu del BIOS del computer. Ecco come fare (il procedimento è più o meno lo stesso, indipendentemente dal produttore del computer):

1. Accendi il computer client e premi un tasto per accedere al menu del BIOS (solitamente Canc, Esc, F8 o F12). Nel BIOS, vai al sottomenu "Avvio" e nella sezione "Priorità delle opzioni di avvio" seleziona "PXE" (su alcuni computer "Legacy LAN", "Realtek PXE B02 D00", "Avvio di rete da Intel", ecc.) come primo dispositivo di avvio. Potrebbe anche essere necessario abilitare l'opzione ROM PXE se è disabilitata.

2. AOMEI PXE Boot supporta solo la modalità di avvio Legacy, quindi devi anche disabilitare l'opzione UEFI Boot se è supportata dalla scheda madre del tuo computer. Questa opzione è disponibile nel sottomenu Avvio.

Questo è tutto ciò che devi fare sul computer client. Non dimenticare di salvare le modifiche apportate alla configurazione del BIOS. Passiamo ora al server.

Parte 2: scarica l'ISO ed esegui l'applicazione sul computer server

Questa parte in realtà è ancora più semplice. Per iniziare, scarica e installa AOMEI PXE Boot (circa 5 MB) sul computer che verrà utilizzato come server. Oltre a ciò, è necessario anche scaricare un'immagine del disco avviabile per avviare il computer o i computer client. I passaggi seguenti spiegano cosa ti viene richiesto:

1. Avvia AOMEI PXE Boot. Nella prima schermata del programma, seleziona l'opzione "Avvia da file immagine personalizzato" e vai al tuo file ISO (puoi anche utilizzare l'altra opzione per scaricare un ISO di Windows PE o Linux dal sito Web AOMEI, se lo desideri). Una volta selezionata l'immagine, fare clic sul pulsante "Avvia servizio" per avviare il servizio.

2. La finestra di avvio AOMEI PXE ora visualizzerà le informazioni sull'attività che si verifica sul server e sui computer client. Non c'è nient'altro che devi fare sul server. Per vedere l'azione reale, andiamo avanti. E, naturalmente, l'applicazione e, ovviamente, il server devono essere in esecuzione.

Tutto quello che devi fare è avviare il computer client e attendere che si avvii in rete utilizzando l'immagine ISO selezionata tramite AOMEI PXE Boot sul computer server. Ecco una distribuzione Damn Small Linux completamente funzionante in esecuzione su una macchina client:

Parole finali

Se sei un amministratore di rete alla ricerca di un modo semplice ed efficace (e pratico) per distribuire e gestire in remoto un sistema operativo, AOMEI PXE Boot potrebbe essere proprio ciò di cui hai bisogno. È uno strumento di qualità che è incredibilmente facile da configurare e funziona sorprendentemente bene.

Vi auguro una buona giornata!