PXE - ładowanie wszystkiego! Opanowanie wielokrotnego uruchamiania w sieci lokalnej. Instalowanie serwera Linux PXE w celu rozruchu systemu Windows PE Zmiana strony głównej rozruchu GPXE


Bootowalny pendrive z zestawem niezbędnego oprogramowania to wspaniałe narzędzie dla administratora systemu. Wydawałoby się, co może być lepszego? Serwer rozruchowy może być lepszy!

Wyobraź sobie, że zdecydowałeś się na rozruch przez sieć w systemie BIOS i możesz zainstalować system operacyjny/wyleczyć komputer z wirusów/reanimować dyski/testować pamięć RAM/itp. z serwera rozruchowego PXE, ponieważ jest to znacznie wygodniejsze niż uruchamianie z pamięcią flash jeździć od maszyny do maszyny.
A w przypadku dużego parku komputerowego takie narzędzie jest całkowicie niezbędne.

O tym jak przygotować Windows do instalacji z PXE pisaliśmy wcześniej.
Jedyną różnicą w przypadku tej instalacji jest to, że tutaj możemy zainstalować zarówno Windows 2008R2, jak i Windows 2012R2 (a także Windows 7/8, wystarczy tylko odpowiednio przygotować dystrybucję i pliki winpe). Po pobraniu winpe montujemy folder /srv/tftp/images/, który zawiera pliki do instalacji systemu operacyjnego firmy Microsoft:
ls -l /srv/tftp/images/ łącznie 8 drwxr-xr-x 6 root root 4096 17 lutego 22:19 w2k12r2 drwxr-xr-x 7 tftp tftp 4096 17 lutego 19:05 w2k8r2
i uruchom wymagany instalator.
Aby zautomatyzować, w pliku startnet.cmd naszkicowałem następujące menu:

Teraz pozostaje tylko zająć się VMware.
Jak zauważyłeś, konfiguracja instalacji hypervisorów różni się nieco od pozostałych - tutaj potrzebujemy serwera HTTP.
W /var/www utworzymy foldery vmw5.5, vmw5.0, a w folderach utworzymy dowiązania symboliczne do konfiguracji
# 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
Jest tam napisane jak przygotować np. Debiana do instalacji z PXE, ale nie będę się nad tym rozwodzić.

Dodajmy możliwość ładowania różnych narzędzi dyskowych i testu pamięci

Ta sekcja będzie zawierać:
  1. Memtest86+
  2. Clonezilla na żywo
  3. Płyta SystemRescueCD

Konfiguracje znajdują się tutaj

domyślny
ui vesamenu.c32 PROMPT 0 tło menu tło.jpg tytuł menu ServerClub PXE menu startowe LABEL bootlocal etykieta menu Rozruch z pierwszego jądra HDD chain.c32 dołącz hd0 0 limit czasu 120000 POMOC TEKSTOWA System uruchomi się po upływie czasu. ENDTEXT LABEL Windows -> KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/windows LABEL Linux -> KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/linux LABEL FreeBSD -> KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/bsd LABEL VMvare -> KERNEL vesamenu. c32 DOŁĄCZ pxelinux.cfg/vmware ETYKIETA HDD i narzędzia RAM -> JĄDRO vesamenu.c32 DOŁĄCZ pxelinux.cfg/du
du
PODPOWIEDŹ 0 UI vesamenu.c32 TŁO MENU tło.jpg TYTUŁ MENU DYSK i RAM Utils ETYKIETA<- 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


Powiem ci, dlaczego zainstalowaliśmy także serwer NFS.
Jak widać z konfiguracji startowej SystemRescueCD, pobiera on pliki potrzebne LiveCD poprzez zamontowanie katalogu przy użyciu protokołu NFS. Serwer jest już zainstalowany, pozostaje jedynie edytować plik /etc/exports i zrestartować demona serwera.
# 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) # restart usługi nfs-kernel-server
Zakładam, że masz rozsądne pytanie – „Co tutaj robi LiveCD, skoro jest dla nich osobna pozycja?”
SystemRescueCD zawiera wiele przydatnych programów do pracy z dyskiem (na przykład GParted i testdisk), dlatego jest dostępny zarówno tutaj, jak i w LiveCD.

LiveCD

Nasz zestaw LiveCD będzie zawierał:
  1. LiveCD Debiana 7
  2. HirensBootCD
  3. Płyta CD z zestawem ratunkowym Trinity
  4. Płyta SystemRescueCD
  5. Plop na żywo

Konfiguracje

Na końcu domyślny dodany
LABEL LiveCDs -> KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/livecds
płyty na żywo
WSKAZÓWKA 0 UI vesamenu.c32 TŁO MENU tło.jpg TYTUŁ MENU LiveCDs ETYKIETA<- 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

Aby załadować płytę CD z zestawem ratunkowym Trinity i Plop Live, musisz dodać następujące wiersze do pliku /etc/exports:
/srv/tftp/trk/10.0.10.1/255.255.255.0(ro,no_subtree_check, all_squash,insecure, anononuid=1000 ,anongid=1000)/srv/tftp/plop/10.0.10.1/255.255.255.0(ro,no_subtree_check, all_squash,niepewny,anonuid=1000,anongid=1000)
i wyślij do demona polecenie ponownego uruchomienia NFS.


Kilka słów o wybranych płytach LiveCD.
LiveCD Debiana 7
Ta płyta CD jest kompilacją jednego z naszych inżynierów i zawiera następujące elementy:

Login/hasło: root/ServerClub

HirensBootCD
Nie trzeba go przedstawiać i zawiera wiele przydatnych narzędzi.
Więcej szczegółów można znaleźć.
Ładowanie zajmuje dużo czasu, MiniXP i Linux nie działają. Istnieje możliwość korzystania z innych mediów.

Płyta CD z zestawem ratunkowym Trinity
Według twórców został stworzony w celu przywrócenia systemu operacyjnego Windows.
Zawiera narzędzia do resetowania haseł, programy antywirusowe, program do klonowania „komputera” w sieci (i na kilka komputerów jednocześnie) i wiele więcej.
Czytaj więcej.

Płyta SystemRescueCD
Oparty na Gentoo, przeznaczony do przywracania systemów Linux.
Zawiera dużą liczbę różnych programów administracyjnych, których listę znajdziesz pod linkiem.

Plop na żywo
LiveCD z trzema pełnoprawnymi DE do wyboru, a także niezbędnym oprogramowaniem administracyjnym.

Ostateczny plik konfiguracyjny menu głównego, a także plik menu programu antywirusowego

domyślny
ui vesamenu.c32 PROMPT 0 tło menu tło.jpg tytuł menu ServerClub PXE menu startowe LABEL bootlocal etykieta menu Rozruch z pierwszego jądra HDD chain.c32 dołącz hd0 0 limit czasu 120000 POMOC TEKSTOWA System uruchomi się po upływie czasu. ENDTEXT LABEL Windows -> KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/windows LABEL Linux -> KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/linux LABEL FreeBSD -> KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/bsd LABEL VMvare -> KERNEL vesamenu. C32 Dodatek pxelinux.cfg/vmware etykieta HDD i RAM UTILS -> KERLEL VESAMENU.C32 Dodatek pxelinux.cfg/du etykieta LiveCds -> Kernel vesamenu.c32 Dodatek pxelinux.cfg/livecds etykieta przeciwwirusowa -> Kernel vesamenu.c32 Append PXELINUS /śr
śr
WSKAZÓWKA 0 UI vesamenu.c32 TŁO MENU tło.jpg TYTUŁ MENU Antywirus ETYKIETA<- 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

Wniosek, to także niespodzianka

W całym artykule celowo nie wyjaśniłem, skąd to zdobyć i jak przygotować treść, ponieważ te czynności są bardzo trywialne i jedynie przeciążyłyby tekst.

Jako niespodziankę proponuję Państwu dwie możliwości naszego montażu, dostępne pod linkami poniżej:

  1. Archiwum z całą zawartością /srv/tftp (link do pliku torrent, bezpośredni link)
  2. Archiwum całego systemu operacyjnego (link do pliku torrent, bezpośredni link)
W pierwszym przypadku musisz samodzielnie przygotować serwer (pomoże Ci w tym rozdział „Początek” tej epopei), rozpakować zawartość archiwum i dokonać dostosowań zgodnie z realiami Twojego środowiska.

Drugi przypadek dotyczy instalacji na gołym metalu lub maszynie wirtualnej.
W skrócie kroki wdrażania zestawu z pełnego archiwum systemu operacyjnego będą następujące:
1. Uruchom z Linux LiveCD.
2. Podziel dysk na partycje i sformatuj partycje.
3. Zamontuj partycję „/”.
4. Rozpakuj archiwum.
5. Zainstaluj program ładujący.
6. Uruchom ponownie.
7. Skonfiguruj system operacyjny odpowiednio do swojej sieci i zacznij go używać.
Login/hasło: root/ServerClub.
WAŻNE: Jeśli masz w swojej sieci działający serwer DHCP, to przed uruchomieniem naszej kompilacji wyłącz w nim autostart DHCP.

Na tym zakończę, dziękuję za uwagę!

Dla tych, którzy nie mają konta w Habré.
Jeśli masz jakieś pytania/uwagi, napisz do mnie na e-mail - erserverclub.com.

Przypominamy, że próby powtórzenia działań autora mogą skutkować utratą gwarancji na sprzęt, a nawet jego awarią. Materiał udostępniany jest wyłącznie w celach informacyjnych. Jeśli masz zamiar odtworzyć kroki opisane poniżej, zdecydowanie zalecamy uważne przeczytanie artykułu do końca przynajmniej raz. Redakcja 3DNews nie ponosi żadnej odpowiedzialności za ewentualne konsekwencje.

Pamiętasz, jak kiedyś zastanawialiśmy się nad stworzeniem uniwersalnego „zestawu pierwszej pomocy” USB do awaryjnej naprawy komputera? W ostatnim artykule zapoznaliśmy się z ładowaniem sieci i programem DRBL. Cóż, tym razem stworzymy analogię nośnika multiboot, tyle że będziemy uruchamiać nie z dysku flash, ale przez sieć za pomocą PXE. Odbywa się to po prostu. Tradycyjnie będziemy potrzebować komputera z systemem Ubuntu Server 11.10 z dwiema kartami sieciowymi, który będzie pełnił rolę serwera. Obsługa rozruchu sieciowego musi być włączona w systemie BIOS komputerów klienckich.

Aby uprościć nam zadanie i nie zawracać sobie głowy instalacją i konfiguracją różnych usług sieciowych, takich jak serwery DHCP i TFTP, skorzystamy z bardziej uniwersalnego rozwiązania - dnsmasq. Jest to lekki serwer DNS/DHCP/TFTP, idealny dla maszyn uruchamiających sieć. Podobnie jak ostatnim razem zgadzamy się, że interfejs sieciowy eth0 automatycznie otrzymuje adres IP z routera i ma dostęp do Internetu. Z kolei eth1 przegląda sieć wewnętrzną i ma statyczny adres IP 192.168.0.1. Edytuj ustawienia sieciowe w pliku /etc/network/interfaces za pomocą edytora tekstu nano, jeśli jeszcze tego nie zrobiłeś.

Sudo nano /etc/network/interfaces

Na końcu pliku dodaj ustawienia dla interfejsu eth1 i zapisz je (F2, Y, Enter).

Auto eth1 iface eth1 inet adres statyczny 192.168.0.1 maska ​​sieci 255.255.255.0

Jeśli chcesz zapewnić dostęp do sieci klientom lokalnym, będziesz musiał zrobić coś innego. Najpierw odkomentuj (usuń # na początku) linię net.ipv4.ip_forward=1 w pliku /etc/sysctl.conf. Po drugie, uruchom kilka poleceń. Ostatnie polecenie należy dodać na końcu pliku /etc/rc.local, przed linią wyjście 0 tak, aby przekazywanie sieciowe rozpoczynało się przy uruchomieniu.

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

Teraz musisz zainstalować dnsmasq, a także kilka narzędzi ułatwiających pracę - menedżer plików Midnight Commander oraz narzędzia do rozpakowywania obrazów ISO i archiwów ZIP/RAR/7ZIP.

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

Zacznijmy konfigurować dnsmasq.

Sudo nano /etc/dnsmasq.conf

Na samym końcu dodaj następujące linie:

Interfejs=eth1 dhcp-range=192.168.0.10,192.168.0.100,255.255.255.0,24h serwer=8.8.8.8 Enable-tftp tftp-root=/pxe dhcp-boot=pxelinux.0

Co jest co? Parametr interfejsu określa, z którym interfejsem sieciowym dnsmasq będzie współpracować. W dhcp-range pierwsze dwa parametry wskazują początek i koniec zakresu adresów wydawanych komputerom klienckim, następnie maska ​​podsieci i czas dzierżawy adresu. Pole serwera wskazuje adresy IP serwerów nadrzędnych DNS (na przykład dostawcy), ale jeśli chcesz, możesz użyć Google DNS lub OpenDNS. Dyrektywa Enable-tftp włącza wbudowany serwer TFTP, a tftp-root określa jego katalog główny. Na koniec w dhcp-boot rejestrowany jest program ładujący, który będzie dystrybuowany w sieci.

Zapiszmy ustawienia i zrestartujmy serwer, utwórz niezbędne foldery i uruchom Midnight Commander (mc), gdzie będziemy kontynuować główną pracę. /pxe/images/ będzie przechowywać obrazy narzędzi lub dystrybucji, które zostaną pobrane przez sieć lokalną. Katalog /pxe/pxelinux.cfg służy do przechowywania ustawień PXE.

Sudo mkdir -p /pxe/images/ sudo mkdir /pxe/pxelinux.cfg sudo usługa dnsmasq uruchom ponownie sudo mc

Pierwszym krokiem jest pobranie programów startowych z projektu syslinux. Pobierz najnowsze archiwum do swojego folderu domowego. Polecenia można wprowadzać bezpośrednio do mc lub, dla wygody, można przełączać się między konsolą a panelami za pomocą kombinacji klawiszy Ctrl+O. Najwygodniejszym sposobem pobierania plików jest program wget. Na przykład tak:

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

Wchodzimy do pobranego archiwum, po prostu przesuwając do niego zaznaczenie i naciskając Enter. Z niego należy skopiować kilka plików do katalogu /pxe - pxelinux.0 z folderu /core, menu.c32 z /com32/menu i memdisk z katalogu o tej samej nazwie.

Zaczynamy powoli uzupełniać domyślne ustawienia pxelinux.

Sudo nano /pxe/pxelinux.cfg/default

Dodajmy do tego pliku następujące linie:

DOMYŚLNE menu.c32 LIMIT CZASU 600 TYTUŁ MENU ETYKIETA MENU PXE BOOT HDDBoot MENU ETYKIETA Local Boot MENU DOMYŚLNE LOCALBOOT 0

Ogólnie rzecz biorąc, cała dokumentacja dotycząca tworzenia parametrów programów ładujących syslinux, a w szczególności menu startowego PXE, znajduje się w plikach tekstowych katalogu docs archiwum syslinux. Przyjrzyjmy się parametrom, których właśnie użyliśmy. Domyślnie uruchamiany jest plik menu.c32, który wyświetla nasze menu PXE. TIMEOUT określa czas oczekiwania (w 1/10 s), po którym zostanie załadowany element domyślny. MENU TITLE zawiera tytuł naszego menu. Możesz tam wpisać co chcesz.

Następnie znajduje się opis pierwszej pozycji menu. Aby ułatwić obsługę, każdy element ma przypisaną etykietę (LABEL). W MENU LABEL nazwa etykiety, którą użytkownik zobaczy podczas ładowania. MENU DOMYŚLNE oznacza, że ​​domyślnie zostanie uruchomiona ta pozycja z bieżącego menu. Cóż, dyrektywa LOCALBOOT 0 wskazuje, że musisz zamknąć PXE i powrócić do normalnego uruchamiania komputera. Lepiej pozostawić ten element jako domyślny.

Zróżnicujmy nasz multibooter za pomocą niektórych narzędzi. Weźmy na przykład słynny program do testowania pamięci Memtest86+. Pobierz archiwum ze wstępnie skompilowanym startowym plikiem binarnym z witryny. Zapisujemy z niego plik memtest.bin jako memtest (bez rozszerzenia!) do folderu /pxe/images. Mamy tu do czynienia z dwiema funkcjami jednocześnie. Po pierwsze, w przypadku zestawu syslinux pewna liczba plików (.0, .bin, .bs itd.) musi mieć ściśle określony format. Ten sam plik .bin dla isolinux jest odczytywany jako sektor rozruchowy CD, ale memtest.bin nie. Po drugie, plik ten bezpośrednio obsługuje uruchamianie z syslinux, więc możemy bezpiecznie określić go jako „jądro” do uruchomienia.

ETYKIETA Memtest86+ ETYKIETA MENU Memtest86+ Obrazy KERNEL/memtest

Inną przydatną opcją rozruchu jest użycie memdisk. W takim przypadku nośnik (obraz ISO, surowy obraz dyskietki, obraz dysku twardego) jest całkowicie kopiowany do pamięci RAM komputera i następuje z niego dalsze ładowanie. Oto przykład uruchomienia KolibriOS. Z archiwum dystrybucyjnego należy skopiować plik kolibri.img do folderu /pxe/images i dodać poniższe linie do pliku /pxe/pxelinux.cfg/default.

LABEL Kolibri MENU LABEL KolibriOS JĄDRO memdisk DOŁĄCZ initrd=images/kolibri.img


Możesz zrobić coś „bardziej poważnego" - załadować Boot CD Hirena. Już możesz się domyślić, że obraz ISO powinien zostać zapisany jako /pxe/images/hirens.iso. Na komputerze klienckim będziesz musiał poczekać minutę lub dwie, aż półgigabajtowy plik ISO jest kopiowany do pamięci Oczywiście sam komputer musi mieć co najmniej jeden gigabajt pamięci RAM, ale po załadowaniu praca z płytą Boot CD Hiren's Boot CD jest niezwykle szybka. Chyba jednak lepiej unikać tak ekstremalnych opcji.

LABEL Hirens MENU LABEL Płyta CD Hiren's Boot KERNEL memdisk DOŁĄCZ iso initrd=images/hirens.iso


Weźmy bardziej skomplikowany przykład - załaduj Clonezilla Live przez PXE. Utwórz folder /pxe/images/clonezilla. Tam będziesz musiał skopiować wszystkie pliki z folderu /live, który znajduje się na obrazie ISO. W ustawieniach określamy ładowanie jądra Linuksa (vmlinuz), a w APPEND przekazujemy do niego parametry. Można je zobaczyć w pliku isolinux/isolinux.cfg wewnątrz obrazu ISO (klucze ocs_* odnoszą się bezpośrednio do Clonezilli, a nie do samego jądra). W naszym przypadku różnica będzie niewielka - wystarczy wskazać, że podczas pobierania z serwera TFTP należy pobrać plik z obrazem systemu w Squashfs.

LABEL Clonezilla MENU LABEL Clonezilla KERNEL obrazy/clonezilla/vmlinuz DOŁĄCZ initrd=images/clonezilla/initrd.img boot=konfiguracja na żywo 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="nie" ocs_lang="" fetch=tftp://192.168.0.1/images/clonezilla/filesystem.squashfs POMOC TEKSTOWA Clonezilla Live — rozruch do pamięci RAM ENDTEXT

Uwaga! Wszystko po DOŁĄCZENIU jest pojedynczą linią bez łączników. Tekst pomiędzy dyrektywami TEXT HELP i ENDTEXT zostanie wyświetlony jako podpowiedź podczas wybierania odpowiedniego elementu menu startowego. Inne dystrybucje lub narzędzia oparte na systemie Linux są dodawane do pobrania w podobny sposób. W ramach rozgrzewki spróbuj skonfigurować ustawienia lekkiej dystrybucji SliTaz.

ETYKIETA Slitaz MENU ETYKIETA SliTaz Linux KERNEL /boot/bzImage DOŁĄCZ initrd=/boot/rootfs4.gz,/boot/rootfs3.gz,/boot/rootfs2.gz,/boot/rootfs1.gz rw root=/dev/null vga= normalne automatyczne logowanie


Jak widać, wszystko jest dość proste i dość elastyczne w konfiguracji. Aby dokładniej poznać uruchamianie PXE na Ubuntu Server, dobrym pomysłem byłoby zapoznanie się z wiki syslinux i dokumentacją zawartą w archiwum tego narzędzia. Wśród ciekawych rozwiązań wykorzystujących PXE można przeczytać chociażby o sieciowej instalacji systemu Windows 7 bez użycia RIS/WDS. Wśród przydatnych dodatków warto przyjrzeć się bliżej zestawowi dystrybucyjnemu Thinstation do tworzenia cienkich klientów, a także menedżerowi pobierania Plop. Bez wątpienia narzędzia przydadzą się do testowania sprzętu i diagnozowania problemów, do przywracania danych i tworzenia kopii zapasowych, do... Ogólnie rzecz biorąc, to zależy od Ciebie. Powodzenia!

PXE ma jedną bardzo przydatną funkcję; wszystko, co jest w nim skonfigurowane, jest dość trudne do stracenia, ponieważ wszystko to jest przechowywane na serwerze, a nie na nośnikach wymiennych, które często się gubią, kradną, zapominają na napędach DVD/w domu, zostawiają do wykorzystania i „skończą”, więc jest prawdopodobieństwo, że ci to zabiorą i „gra” zmierza do zera, no cóż, może razem z serwerem… Podłączając urządzenie, które ma możliwość bootowania PXE, możesz zrobić całkiem sporo pożytecznych rzeczy, a mianowicie: diagnozować sprzęt, wdrażać systemy operacyjne, uruchamiać system na żywo itp. czym jest wystarczająca wiedza i wyobraźnia?
Aby to zrobić, będziemy musieli skonfigurować serwer DHCP i serwer TFTP.
O tym, jak skonfigurować serwer, pisałem już wcześniej, gorąco polecam do recenzji, główne punkty zostały z niego przeniesione.
Co w rezultacie otrzymamy?!
Otrzymamy menu startowe z możliwością wyboru aplikacji, którą pobierzemy na komputer kliencki, a także domyślnych działań, które system wykona, jeśli nie otrzyma żadnych poleceń od użytkowników.

Do pracy będziemy potrzebować:
1) Zainstalowany serwer Ubuntu
2) Skonfigurowany serwer DHCP, przykład konfiguracji znajdziesz w artykule:
3) Obraz dysku lub ISO dystrybucji instalacyjnej Ubuntu - głębokość bitowa nie ma znaczenia, ale lepiej jest pobrać nowszą wersję.

Po drodze zainstalujemy całą resztę... Nie będę się rozwodzić nad ustawieniami DHCP, zakładając, że masz je skonfigurowane zgodnie z artykułem, do którego link znajduje się w wymaganiach systemowych.

Instalacja serwera tftp
Zainstalujmy niezbędny pakiet:
Podnosimy prawa do rootowania:
sudo su

Zainstalujmy niezbędny pakiet
aptitude zainstaluj tftpd-hpa

Teraz wszystkie pliki związane z naszym serwerem tfpt powinny znajdować się w katalogu /var/lib/tftpboot/, wszystkie ścieżki są określone względem niego.

Przejdźmy do tworzenia menu startowego
Przede wszystkim musimy pozyskać zastępcę ładującego, jak to zrobić?! Można go znaleźć na dowolnym dysku z Ubuntu, w innych dystrybucjach Linuksa lokalizacja jest prawie zawsze taka sama. Będziemy potrzebować instalacyjnego obrazu ISO lub płyty włożonej do napędu DVD, w którym przejdziemy do następującego katalogu:
Jeśli dysk instalacyjny ma architekturę x86:
/install/netboot/ubuntu-installer/i386
Jesteśmy zainteresowani plikiem pxelinux.0 to jest bootloader, weź go i skopiuj do katalogu:
/var/lib/tftpboot/
Następnie ścieżka do niego wygląda następująco:
/var/lib/tftpboot/pxelinux.0
Będziemy również potrzebować samego menu startowego, które można pobrać na tym samym dysku, w katalogu ekrany startowe interesuje nas plik o nazwie vesamenu.c32

Skopiuj go do tego samego katalogu, co moduł ładujący, tak aby ścieżka wyglądała następująco:
/var/lib/tftpboot/vesamenu.c32

Konfigurowanie zawartości menu PXE

Jako przykład utworzymy menu startowe składające się z 2 pozycji.
Punkt pierwszy: Uruchom z lokalnego dysku twardego. Ten element będzie elementem domyślnym, jeśli użytkownik uruchomi komputer poprzez PXE i w ciągu 15 sekund. nie wykonał żadnych czynności, system automatycznie uruchomi się z dysku lokalnego.
Punkt drugi: zadzwońmy do niego Testowanie W tym menu będzie pozycja z możliwością pobrania Memtest x86+. Program ten zawsze będzie przydatny przy diagnozowaniu problemów ze stacjami roboczymi i serwerami, generalnie jest to rzecz niezbędna i przyda się każdemu w gospodarstwie...

Najpierw musimy utworzyć katalog na pliki konfiguracyjne o nazwie pxelinux.cfg - nazwa ma kluczowe znaczenie w pracy!
mkdir /var/lib/tftpboot/pxelinux.cfg

Utwórzmy teraz plik konfiguracyjny z parametrami pozycji menu o nazwie domyślny
nano /var/lib/tftpboot/pxelinux.cfg/default

Z następującą treścią:
domyślny monit vesamenu.c32 0 tytuł menu Menu rozruchu PXE MENU AUTOBOOT Uruchamianie systemu lokalnego za # sekundy etykieta Rozruch z lokalnego dysku etykieta menu ^Rozruch z menu lokalnego dysku domyślny localboot 0 limit czasu 150 TOTALTIMEOUT 9000 LABEL Testowanie MENU LABEL ^Testowanie KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/testing.menu

Najbardziej spostrzegawczy zauważyli, że w poprzednim pliku mieliśmy wpis dotyczący innego pliku testowanie.menu, w nim będziemy mieli ustawienia elementu Testowanie
Stwórzmy ten plik:

Z następującą treścią:
TYTUŁ MENU Testowanie LABEL Testuj oprogramowanie MENU LABEL ^Powrót do menu głównego KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/default etykieta Etykieta menu Test pamięci ^Test pamięci: Jądro Memtest86+ v4.20 memtest/mt86plus

Pierwsza pozycja menu będzie odpowiedzialna za powrót do poprzedniego menu, a druga za załadowanie Memtest86+ v4.20

Wszystko jest w porządku, ale nie utworzyliśmy katalogu, w którym przechowywany jest plik Memtest, naprawimy to teraz, utwórzmy odpowiedni katalog.
Zróbmy to:
mkdir /var/lib/tftpboot/memtest
Wystarczy, że dodamy sam plik wykonywalny Memtest86+, znajdziemy go na dysku instalacyjnym, w katalogu /zainstalować/ jesteśmy zainteresowani plikiem mt86plus musimy go skopiować do katalogu memtest, aby ścieżka do niego wyglądała następująco:
/var/lib/tftpboot/memtest/mt86plus

W tym momencie skończyliśmy z serwerem tftp, musimy tylko trochę dokończyć serwer DHCP.

Konfiguracja serwera DHCP

Ten element można nazwać konfiguracją tylko z rozciągnięciem; jeśli skonfigurowałeś serwer DHCP zgodnie z artykułem, musisz dodać tylko jeden wpis do:
nano /etc/dhcp/dhcpd.conf

Znajdujemy element z ustawieniami puli adresów IP, który wygląda następująco:
podsieć 192.168.10.0 maska ​​sieci 255.255.255.0 (zakres 192.168.10.10 192.168.10.254; opcja nazwa-domeny-serwery 192.168.10.1; opcja nazwa domeny „example.org”; opcja routery 192.168.10.1; opcja adres rozgłoszeniowy 19 2.168. 10,255 ; domyślny czas dzierżawy 604800; maksymalny czas dzierżawy 604800; )

Dodajemy także wpis wskazujący na nasz bootloader PXE:
sprawdzenie pingu = 1; nazwa pliku = "pxelinux.0";
Ścieżka do pliku jest zależna od katalogu /var/lib/tftpboot/ te. jest on uważany za katalog główny, o czym pisałem wcześniej...

Cały wpis wygląda następująco:
sprawdzenie pingu = 1; nazwa pliku = "pxelinux.0"; podsieć 192.168.10.0 maska ​​sieci 255.255.255.0 (zakres 192.168.10.10 192.168.10.254; opcja nazwa-domeny-serwery 192.168.10.1; opcja nazwa domeny „example.org”; opcja routery 192.168.10.1; opcja adres rozgłoszeniowy 19 2.168. 10,255 ; domyślny czas dzierżawy 604800; maksymalny czas dzierżawy 604800; )

Zapisz zmiany i zrestartuj serwer DHCP:
/etc/init.d/isc-dhcp-server uruchom ponownie

Teraz możemy podłączyć do naszej sieci lokalnej urządzenie obsługujące boot PXE i w którym włączona jest ta funkcja (patrz dokumentacja Twojego sprzętu) lub podłączyć maszynę wirtualną z adaptometrem podłączonym w trybie mostu i bez nośnika startowego.

Jeśli wszystko zrobiłeś poprawnie, menu będzie wyglądać następująco:

A jeśli pójdziesz do menu Testowanie:


Jeśli wybierzesz element za pomocą Memtest, zostanie uruchomiony test pamięci.
Odpowiednio dodawane są inne pozycje menu.

Wyobraźmy sobie sytuację, w której musisz zapewnić dostęp do jednego z menu ograniczonej liczbie osób, np. masz tam zestaw dystrybucyjny, który kosztuje mnóstwo pieniędzy. W tym celu można ustawić hasło dla pozycji menu, jak to zrobić?!
Wyobraźmy sobie sytuację, w której musisz ustawić hasło (na przykład: hasło) w teście pamięci, jest to łatwe do zrobienia

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

Musimy dodać wpis:
HASŁO MENU Hasło

Następnie plik wygląda następująco:
TYTUŁ MENU Testowanie LABEL Testuj oprogramowanie MENU LABEL ^Powrót do menu głównego KERNEL vesamenu.c32 DOŁĄCZ pxelinux.cfg/default etykieta memtest MENU PASSWD hasło etykieta menu ^Test pamięci: jądro Memtest86+ v4.20 memtest/mt86plus

Ochrona jest oczywiście taka sobie, ale zwykłym użytkownikom może pomóc.

Następnie przy próbie uruchomienia pojawi się następujące okno:


Jeśli wpiszesz prawidłowe hasło, uruchomi się Memtest.
Można w ten sposób ukryć całe menu lub zablokować dostęp do poszczególnych pozycji.
Jeśli w plikach konfiguracyjnych zostaną wprowadzone zmiany, nie ma potrzeby ponownego uruchamiania serwera DHCP; wystarczy zrestartować komputer kliencki, jeśli został on uruchomiony przez PXE.
Jeśli chodzi o prędkość tftp, prędkość nie jest wysoka, a jeśli zdecydujesz się przesłać duże ilości informacji, spróbuj użyć do tego serwera WWW lub FTP, przygotuj się na poświęcenie na to trochę czasu. Jeśli istnieje potrzeba pobrania jakiejś dystrybucji, lepiej jest pobrać mały system operacyjny, na przykład WindowsPE lub miniaturową dystrybucję Linuksa.
Chyba na tym zakończę...

Obecnie coraz więcej zadań ulega automatyzacji, a wirtualizacja jest coraz częściej wykorzystywana w celu maksymalizacji wydajności serwerów. Ale nadal musisz zainstalować systemy operacyjne. Każdy robi to na swój sposób: niektórzy mają kieszenie pełne różnych obrazków na każdą okazję, inni noszą „torebkę” z płytami, a nawet dwie, w staromodny sposób. Z reguły administratorzy wykonują tę pracę z niewielką przyjemnością. Przyjrzyjmy się, jak skrócić czas wykonywania banalnych zadań, jak nauczyć komputery samodzielnego instalowania systemów, bez udziału administratora, korzystając wyłącznie z sieci lokalnej.

Zatem dzisiaj dowiemy się: instalować systemy Windows i Linux przez sieć, ładować małe obrazy ISO, przydatne oprogramowanie (wszelkiego rodzaju Kaspersky, Acronis, WinPE, memtesty), wdrażać cienkich klientów i zarządzać nimi. Żeby np. księgowa pracująca z 1C przez RDP Cię nie pobiła, bo Windows jej się zawiesił, a raport trzeba było przygotować na wczoraj... Albo skąpy szef, który nie chce aktualizować swojego komputera, podziwiał Twoje profesjonalizm, kiedy zobaczymy, jak Windows 8 radzi sobie na starych komputerach... Serwer zapewniający rozruch przez sieć (PXE) pomoże nam osiągnąć nasze podstępne cele.

Każdy administrator systemu ma w swojej skrytce uniwersalny dysk USB do awaryjnej reanimacji komputera. Zgadzam się, znacznie lepiej byłoby mieć tę samą funkcjonalność przy użyciu tylko jednej karty sieciowej. Należy również zauważyć, że możliwa jest jednoczesna praca z kilkoma węzłami jednocześnie. Zatem w zależności od naszych potrzeb mamy dwa rozwiązania: użyj PXE lub LTSP.

LTSP nie jest dla nas zbyt odpowiedni: służy do ładowania systemu operacyjnego zainstalowanego na samym serwerze przez sieć, co pozwala na korzystanie z aplikacji serwerowych LTSP. To nie jest dokładnie to, czego potrzebujemy. PXE to narzędzie do uruchamiania komputera przez sieć bez użycia lokalnych nośników danych, podobnie jak LTSP. PXE pozwala zorganizować menu rozruchowe z wieloma rozruchami, podobne do uniwersalnego „resuscytatora USB”.


Co będziemy wdrażać?

Wszystko zaczęło się od potrzeby posiadania pod ręką narzędzia do zdalnej instalacji serwera Ubuntu/Debian przez sieć, z możliwością uruchomienia Live CD małego systemu, takiego jak SliTaz lub Kolibri OS.
Jak mówią, apetyt pojawia się wraz z jedzeniem: nie mieliśmy czasu na realizację tego, co zaplanowaliśmy, a do planu dopisano szereg „chcieć”. W rezultacie lista okazała się imponująca.

  1. Cienki klient Thinstation oparty na systemie Linux.
  2. Sekcja Linuksa.
    1. Instalowanie Ubuntu 14.04 x86.
    2. Instalowanie Ubuntu 14.04 x64.
    3. Instalowanie Ubuntu 12.04 x86.
    4. Instalowanie Ubuntu 12.04 x64.
  3. Partycja Windowsa.
    1. Instalacja Windowsa 2012.
    2. Instalowanie systemu Windows 7.
  4. Acronis.
    1. Windows PE z pakietem przydatnego oprogramowania.
    2. Acronis True Image.
      1. Starszy BIOS.
      2. UEFI.
    3. Dyrektor dysku Acronis.
      1. Starszy BIOS.
      2. UEFI.
  5. Kaspersky Rescue wersja 10.
  6. Dowódca ERD od 5 do 8 poprzez obraz ISO.
  7. Memtest.

Składamy wszystko i startujemy

Jako dystrybucja dla serwera wybór padł na Ubuntu Server 14.04.2 LTS. Możesz wybrać dowolny inny system operacyjny, jedyna różnica będzie w składni. Więc zacznijmy. Będziemy potrzebować TFTP, DHCP (niekoniecznie zainstalowanego na tym samym serwerze; router może działać jako serwer DHCP), usługi do organizacji sieciowego systemu plików NFS. Rozważymy tylko te ustawienia, które nas interesują w ramach tematu. Przede wszystkim zainstalujmy wszystko, czego potrzebujesz, po dokonaniu wszystkich aktualizacji:

Kontynuacja jest dostępna tylko dla członków

Opcja 1. Dołącz do społeczności „site”, aby zapoznać się ze wszystkimi materiałami w serwisie

Członkostwo w społeczności w określonym terminie zapewni Ci dostęp do WSZYSTKICH materiałów Hackera, zwiększy Twoją osobistą zniżkę kumulacyjną i pozwoli Ci zgromadzić profesjonalną ocenę Xakep Score!

AOMEI PXE Boot to darmowe oprogramowanie do uruchamiania komputerów z ISO przez LAN. Ponieważ program ten jest bardzo łatwy w obsłudze, umożliwia użycie obrazu dysku startowego (ISO) w celu zdalnego uruchomienia wielu komputerów, pod warunkiem, że są one podłączone do tej samej sieci lokalnej. To sprawia, że ​​AOMEI PXE Boot jest niezwykle przydatnym narzędziem do zadań takich jak zdalne wdrażanie i konserwacja aplikacji, szczególnie w przedsiębiorstwach.

Praca z AOMEI PXE Boot jest dość prosta: instalujesz program w systemie, który będzie używany jako serwer, montujesz ISO i czekasz na uruchomienie komputerów klienckich. A najlepsze jest to, że AOMEI PXE Boot obsługuje synchroniczne uruchamianie wielu komputerów jednocześnie. Dowiedzmy się więcej o tym niesamowitym programie i dowiedzmy się, jak go używać do uruchamiania komputerów z poziomu ISO za pośrednictwem przewodowej sieci LAN.

AOMEI PXE Boot: główny cel i kilka słów o Windows PE

Należy pamiętać, że AOMEI PXE Boot jest przeznaczony przede wszystkim do rozwiązywania problemów z komputerami w sieci. Możesz użyć programu do uruchomienia niedziałającego systemu w środowisku z ograniczeniami. W tym celu AOMEI PXE Boot działa najlepiej z obrazami dysków startowych Linux lub Windows PE. Ten ostatni to system operacyjny z ograniczonymi usługami, używany do uruchamiania komputera w celu odzyskiwania lub instalacji. Oparty na jądrze Vista, Windows PE nie jest pełnoprawnym systemem operacyjnym. Zamiast tego zapewnia bezpieczne środowisko do rozwiązywania problemów z komputerem i przywracania go do sprawności.

Nie ma absolutnie żadnych powodów, aby sądzić, że AOMEI PXE Boot nie będzie działać z żadnym innym obrazem dysku. Podczas testów udało mi się zdalnie uruchomić Damn Small Linux (DSL) w systemie klienckim przy użyciu startowego obrazu ISO.

Jak uruchomić komputer przy użyciu ISO w sieci lokalnej

Teraz, gdy wiesz już dużo o AOMEI PXE Boot, czas zobaczyć, jak to działa. Proces składa się zasadniczo z dwóch etapów. Pierwsza część polega na skonfigurowaniu komputera klienckiego do uruchamiania poprzez sieć, natomiast druga polega na skonfigurowaniu i uruchomieniu aplikacji w systemie pełniącym rolę serwera.

Należy pamiętać, że oba komputery muszą być podłączone do tej samej sieci. W moim przypadku serwer był podłączony do sieci bezprzewodowo, natomiast komputer kliencki był podłączony przewodowo.

Część 1: Konfigurowanie komputerów klienckich do rozruchu sieciowego

Jak sama nazwa wskazuje, pierwszą rzeczą, którą musisz zrobić, to skonfigurować komputer lub komputery klienckie do uruchamiania za pośrednictwem sieci przewodowej. Aby to zrobić, musisz uzyskać dostęp do menu BIOS komputera. Oto jak to zrobić (proces jest mniej więcej taki sam, niezależnie od producenta komputera):

1. Włącz komputer kliencki i naciśnij klawisz, aby uzyskać dostęp do menu BIOS (zwykle Del, Esc, F8 lub F12). W BIOS-ie przejdź do podmenu „Boot” i w sekcji „Priorytety opcji rozruchu” wybierz „PXE” (na niektórych komputerach „Legacy LAN”, „Realtek PXE B02 D00”, „Network boot from Intel” itp.) jako pierwsze urządzenie rozruchowe. Może być również konieczne włączenie opcji PXE ROM, jeśli jest wyłączona.

2. AOMEI PXE Boot obsługuje tylko tryb rozruchu Legacy, dlatego należy również wyłączyć opcję UEFI Boot, jeśli jest obsługiwana przez płytę główną komputera. Opcję tę można znaleźć w podmenu Boot.

To wszystko, co musisz zrobić na komputerze klienckim. Nie zapomnij zapisać zmian wprowadzonych w konfiguracji BIOS-u. Przejdźmy teraz do serwera.

Część 2: Pobierz ISO i uruchom aplikację na serwerze

Ta część jest w rzeczywistości jeszcze prostsza. Aby rozpocząć, pobierz i zainstaluj AOMEI PXE Boot (około 5 MB) na komputerze, który będzie używany jako serwer. Oprócz tego należy także pobrać obraz dysku startowego, aby uruchomić komputer lub komputery klienckie. Poniższe kroki wyjaśniają, czego się od Ciebie wymaga:

1. Uruchom rozruch AOMEI PXE. Na pierwszym ekranie programu wybierz opcję „Uruchom z pliku obrazu niestandardowego” i przejdź do pliku ISO (jeśli chcesz, możesz także skorzystać z drugiej opcji, aby pobrać obraz ISO systemu Windows PE lub Linux ze strony internetowej AOMEI). Po wybraniu obrazu kliknij przycisk „Uruchom usługę”, aby uruchomić usługę.

2. Okno AOMEI PXE Boot będzie teraz wyświetlać informacje o aktywności występującej na serwerze i komputerach klienckich. Na serwerze nie musisz nic więcej robić. Aby zobaczyć prawdziwą akcję, przejdźmy dalej. I oczywiście aplikacja i oczywiście serwer muszą być uruchomione.

Wszystko, co musisz zrobić, to uruchomić komputer kliencki i poczekać, aż uruchomi się przez sieć przy użyciu obrazu ISO wybranego za pomocą AOMEI PXE Boot na komputerze serwera. Oto w pełni działająca dystrybucja Damn Small Linux działająca na komputerze klienckim:

Ostatnie słowa

Jeśli jesteś administratorem sieci i szukasz prostego i skutecznego (i rozsądnego) sposobu na zdalne wdrażanie systemu operacyjnego i zarządzanie nim, AOMEI PXE Boot może być właśnie tym, czego potrzebujesz. Jest to wysokiej jakości narzędzie, które jest absurdalnie łatwe w konfiguracji i działa zaskakująco dobrze.

Miłego dnia!