Ubuntu: mrežna instalacija. PXE - učitava sve! Svladavanje višestrukog pokretanja preko lokalne mreže Instaliranje Linuxa preko mreže

Ovaj članak će pokriti instalaciju Ubuntu Linuxa iz mrežnog repozitorija za pokretanje sustava.

Dakle, instalirat ćemo Ubuntu 10.04 na klijentska računala s poslužitelja 192.168.0.3, koji ugošćuje mrežni poslužitelj za pokretanje i dhcpd. Za instalaciju, spremište mora imati direktorij dists/lucid/main/debian-installer. Ako dodate slične direktorije za druga spremišta (multiverse, universe, restricted), tada će u fazi "Odabir i instaliranje softvera" popis softvera biti veći. U ovom ću vodiču razmotriti ovu opciju. Ako ste napravili debmirror mirror, onda najvjerojatnije uopće nemate te direktorije. Možete ih preuzeti, na primjer, s ftp://mirror.yandex.ru. Također, tijekom instalacije instalater, neovisno o odabranom repozitoriju, često pristupa security.ubuntu.com.

Korak 1: Instalacija poslužitelja

Instalacija potrebnih aplikacija:

apt-get instaliraj tftpd-hpa openbsd-inetd

Preuzmite i raspakirajte sliku za mrežnu instalaciju:

tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/

chown -R nitko:nogroup /var/lib/tftpboot

Za mrežno podizanje, morate proslijediti 2 parametra klijentu: naziv datoteke za pokretanje i poslužitelj datoteke za pokretanje (u dhcpd-u to su naziv datoteke i parametri sljedećeg poslužitelja):

sljedeći poslužitelj 192.168.0.3;
naziv datoteke "pxelinux.0";

Poslužitelj je instaliran, možete instalirati sustav.

Korak 2: Instalacija sustava

Da biste instalirali sustav s poslužitelja na mreži, morate omogućiti mrežno pokretanje (PXE) u BIOS-u. Ako vaš bios podržava izbornik za pokretanje, onda je bolje koristiti ga za odabir uređaja za pokretanje - kako ne bi bilo problema ako zaboravite promijeniti redoslijed pokretanja.

Ako je sve u redu, vidjet ćete ekran dobrodošlice instalatera:

  • Osnovni Ubuntu poslužitelj
  • Poslužitelj naziva (DNS)
  • Edubuntu poslužitelj
  • LAMP poslužitelj
  • Poslužitelj pošte
  • OpenSSH poslužitelj
  • PostgreSQL baza podataka
  • Ispisni poslužitelj
  • Samba datotečni poslužitelj
  • Ubuntu Enterprise Cloud
  • Domaćin virtualnog stroja
  • 2D/3D paket za izradu i uređivanje
  • Paket za izradu i uređivanje zvuka
  • Edubuntu KDE radna površina
  • Radna površina Edubuntu
  • Kubuntu desktop
  • Kubuntu netbook
  • LADSPA i DSSI audio dodaci
  • Veliki izbor paketa fontova
  • Mythbuntu dodatne uloge
  • Mythbuntu sučelje
  • Mythbuntu glavna pozadina
  • Mythbuntu slave backend
  • Ubuntu Netbook
  • Ubuntu radna površina
  • Paket za izradu i uređivanje videozapisa
  • Radna površina Xubuntu
  • Ručni odabir paketa

U članku se detaljno razmatra proces postavljanja mreže "tankih klijenata" koji rade pod kontrolom Thinstation Linux distribucije i koriste aplikacijski poslužitelj temeljen na Windows 2000

Korištenje Linux stanica bez diska s mrežnim pokretanjem

Prvi put objavljeno u časopisu "System Administrator" N11/2004

Formulacija problema

Posao zaposlenika odjela automatizacije je stalna borba s problemima i rješavanjem problema koje naizmjenično postavljaju korisnici, programeri softvera koji se koristi i menadžment organizacije. A ako su prva dva područja rada jednostavno "borba za preživljavanje broda", onda je posljednje, u pravilu, progresivno kretanje naprijed. U tijeku rješavanja jednog od tih problema nastao je ovaj članak.

Stoga je odjel za automatizaciju dobio zadatak brzo pustiti u rad dva nova udaljena ureda, svaki s pet do deset ljudi. Oba ureda i “glava” povezani su putem VPN tehnologija u jednu mrežu. Minimalna širina kanala između tri točke bila je 256 Kbps, što je u potpunosti zadovoljilo naše potrebe. Dodatni kontroler domene Windows 2000 postavljen je u svakom uredu, a domena je podijeljena na nekoliko mjesta kako bi se smanjio promet. Sve gore opisano je standardno rješenje i nisam očekivao nikakva iznenađenja. Glavno pitanje za nas bilo je kako će se ponašati glavna radna okolina zaposlenika organizacije – složeni sustav automatizacije, koji je imao dosta problema pri radu s njim čak i unutar jednog mjesta. Izvorno ciljajući na Novell/BTRIVE 6.15 nakon mrežne migracije na Windows, radio je pod Windows/Pervasive.SQL 7.

Nakon tjedan dana testiranja ove glavne poslovne aplikacije organizacije, pokazalo se da nam programer uopće nije ostavio izbora, budući da nam upotreba ugrađenog terminalskog moda korištenog automatiziranog sustava uvelike nije odgovarala razloga. Opet, zbog operativnih značajki, kao terminalski poslužitelj odabrana je platforma Microsoft Windows Server. Rješenja Citrixa nismo testirali budući da nas je rad s “nativnim” Windows terminalskim servisima potpuno zadovoljio, a korištenje dodataka samo poskupljuje cijeli sustav.

Kada je sve odlučeno o poslužiteljskom dijelu, postavilo se pitanje klijentske komponente sustava. Prije svega, želio bih smanjiti potrebu za administriranjem korisničkih strojeva, budući da nije planirano imati namjenskog administratora na udaljenim mjestima. Osim toga, činilo se poželjnim smanjiti troškove rješenja, koji su porasli zbog potrebe kupnje licenci za terminale. Također je trebalo uzeti u obzir namjeru da se u uredima smjeste zastarjela računala klase Celeron-400 s RAM-om od 32 do 64 MB.

Sa svih točaka gledišta, pokazalo se idealnim koristiti stanice bez diska s mrežnim opterećenjem kao radne stanice. U ovom slučaju, jedino računalo koje zahtijeva pažnju administratora je dodatni kontroler domene u svakom uredu, kontroliran putem VNC-a. Podrazumijeva se da u okviru ovog članka izostavljam opremu i softver koji omogućuje enkripciju prometa, pristup Internetu itd.

U ulozi OS-a koji će se preko mreže učitavati na radne stanice odabrao sam Linux - koji osigurava licenciranu čistoću rješenja (barem za sada). Pristup radnoj površini Windows 2003 trebao se ostvariti razvojem projekta www.rdesktop.org koji je postao standard za rješavanje ovog problema. Budući da su DHCP i TFTP poslužitelji potrebni za takvo učitavanje, bilo bi logično koristiti dodatne kontrolere domene Windows 2000 koji su već dostupni na svakom mjestu. Srećom, postoje besplatne DHCP/TFTP implementacije za ovaj operativni sustav, kao i ugrađeni poslužitelji. . Međutim, TFTP je dostupan unutar Remote Installation Services (RIS).

Mrežne kartice klijentskih strojeva moraju prirodno podržavati mogućnost dizanja putem Etherboot/PXE. U nekim slučajevima, zbog nekompatibilnosti hardvera, dopustio sam korištenje pokretačkog programa koji se nalazi na disketi.

Odabir implementacije Linuxa

Prilikom odabira opcije Linux OS s mogućnošću dizanja putem mreže, prije svega sam obratio pozornost na gotove distribucijske komplete sličnog fokusa s ugrađenim rdesktop paketom. Najpoznatiji od njih je NetStation (netstation.sourceforge.net), koji je zamrznut u beta fazi od kraja 2002., i njegovi nasljednici: PXES (pxes.sourceforge.net), Thinstation (thinstation.sourceforge.net) i DIET-PC (dijeta-pc.sourceforge.net). Istovremeno, DIET-PC je prvenstveno namijenjen korisnicima koji poznaju Linux OS, što ga odmah isključuje iz okvira razmatranja. Budući da je procedura postavljanja dosta mukotrpna, DIET-PC sadrži dosta postavki koje običnom smrtniku, a ne Linux guruu, nikad neće trebati. PXES je “najnapredniji” s velikim brojem dodatnih mogućnosti, uključujući vlastito grafičko okruženje, koje je također nepotrebno u mom slučaju. U mojoj konfiguraciji, klijent je, zaobilazeći međuizbornike, morao odmah učitati udaljenu radnu površinu i otići na prozor za unos lozinke za Windows 2003 Server. Tako sam skrenuo pozornost na preostalu distribuciju - Thinstation.

Pogledajmo ukratko njegove mogućnosti:

podrška za X, RDP, VNC, SSH, Telnet, ICA i Tarantella protokole;

mogućnost korištenja preglednika Firefox;

rad na računalu klase x86-100 MHz sa 16 MB RAM-a;

prisutnost predizgrađene slike i mogućnost samostalnog sastavljanja putem web sučelja;

podrška za lokalne diskove, USB i LPT pisače

Od svih opcija pokretanja, najjednostavniji je PXE pomoću Etherboot bootloadera. U ovom ćemo članku slijediti najjednostavniji put - pomoću unaprijed kompajlirane slike.

Instalacija i početno postavljanje

Započnimo s preuzimanjem sa stranice http://struktur.kemi.dtu.dk/thinstation/download/, dostupne preko poveznice na službenoj web stranici, zadnje arhive, u mom slučaju to je bio Thinstation-2.0.2- prebuilt-NetBoot .zip. Arhiva sadrži sve što vam je potrebno, uključujući TFTP/DHCP poslužitelj Tftpd32, koji je prikladan za početno postavljanje i konfiguraciju. Usput, ako ga koristite, preporučio bih da ga odmah ažurirate s početne stranice, gdje postoji novija verzija. Inače, Tftpd32 (http://tftpd32.jounin.net/) je izvrstan program sam po sebi. Toliko da ga Cisco čak preporučuje za neke od potreba klijenata tvrtke.

Proširivši arhivu, dobivamo pet direktorija:

BootDisk – slika diskete s Etherboot bootloaderom, za računala s nepodržanim mrežnim karticama

BootPXE – PXE pokretački program za Etherboot emulaciju

BuildFiles – primjeri konfiguracijskih datoteka

TFtp – Tftpd32 poslužitelj

TftpdRoot – korijenski direktorij TFTP poslužitelja

Dakle, prije svega, pokrećemo samoraspakirajuću arhivu thinstation.nbi (autoextract).exe, koja sadrži jednu datoteku thinstation.nbi. Arhiva je napravljena kako biste imali priliku upoznati se s “CITRIX(R) LICENCNIM UGOVOROM”.

Sada kopiramo TFtp i TftpdRoot na Windows poslužitelj u našem mrežnom segmentu. Kada koristite Tftpd32, bilo koji Windows stroj sa statičkom IP adresom može djelovati kao takav poslužitelj. Recimo da smo kopirali oba direktorija na pogon C:\. Pokrećemo C:\TFtp\Tftpd32.exe za izvršenje. Izgled prozora programa prikazan je na slici.

Morate postaviti parametre poslužitelja. Pritisnite gumb "Postavke" i unesite vrijednost "C:\TftpdRoot" kao "Osnovni direktorij". Zatim idite na karticu "DHCP poslužitelj". Tamo trebate navesti početnu IP adresu koju je dodijelio DHCP poslužitelj (“IP pool početna adresa”), veličinu skupa adresa (“Size of pool”), masku podmreže (“Mask”), naziv datoteku s Etherboot loaderom (“Boot file” ), u našem slučaju to je thinstation.nbi.zpxe. Pritisnite gumb "Spremi" za spremanje postavki i zatvaranje aplikacije.

Sve je spremno za polazak. Možete pokušati uključiti jedan od strojeva s mrežnom karticom koja podržava PXE pokretanje, ne zaboravite postaviti redoslijed pokretanja u BIOS-u stanice. Kada je uključen, stroj mora dobiti IP adresu iz dodijeljenog raspona i preuzeti datoteku thinstation.nbi.zpxe putem TFTP-a. Sadrži bootloader koji emulira rad mrežne kartice s podrškom za Etherboot. Zatim se kontrola prenosi na bootloader, koji zauzvrat još jednom traži adresu putem DHCP-a i preuzima datoteku s nazivom koji odgovara nazivu datoteke samog bootloadera bez zpxe ekstenzije, to jest, thinstation.nbi. Ova datoteka je slika Thinstation-a. Kada se slika učita, Thinstation pokušava učitati konfiguracijsku datoteku thinstation.conf- iz korijenskog direktorija TFTP poslužitelja, zatim thinstation.conf- . Ako se pronađu takve datoteke, Thinstation kombinira njihov sadržaj s općom konfiguracijskom datotekom thinstation.conf.network, koja, za razliku od dvije gore navedene, mora biti prisutna na TFTP poslužitelju. Pokušajte izbjeći sukobe između glavne datoteke postavki i onih specifičnih za grupu ili stanicu. Osim toga, možete kombinirati cijele grupe IP i MAC adresa s jednom konfiguracijskom datotekom. To se radi pomoću datoteke thinstation.hosts koja ima sljedeći format:

# HOST MAC GRUPE KOMENTARI ws-oper1 0002B3655065 hi_res # Operator br. 1 ws-oper2 0002B3651075 hi_res # Operator br. 2 ws-oper3 0002B365A021 hi_res ssh_en # Operator br. 3

Ovaj primjer pretpostavlja da postoje dvije datoteke thinstation.conf.group-hi_res i thinstation.conf.group-ssh_en. Postavke navedene u prvoj datoteci primjenjuju se na sve tri stanice, a postavke iz druge primjenjuju se samo na računalo ws-oper3.

Na slici možete vidjeti kako se sesije terminalskog klijenta prikazuju u dodatku Terminal Services Manager.


Klijenti s imenima poput ts_ samo su klijentski terminali koji pokreću Thinstation. Klijenti s imenima poput P izvode se pod PXES distribucijom, što je izvan opsega ovog članka. Zatim ću dati jednostavnu, ali potpuno funkcionalnu verziju konfiguracijske datoteke s komentarima. # Opcije sesije # # Prva sesija mora započeti s brojem 0. # Ako nema potrebe za odabirom sesije, na primjer kada koristite # samo rdesktop, možete ukloniti komentar sa sljedećeg parametra i # isključiti izbornik za odabir sesije. #AUTOSTART=Na SESSION_0_TITLE="Windows 2003 terminalski poslužitelj (16 bitna dubina boje)" SESSION_0_TYPE=rdesktop SESSION_0_RDESKTOP_SERVER=192.168.0.1 SESSION_0_RDESKTOP_OPTIONS="-u Administrator -p password -a 16" SESSION_1_TITLE="VNC poslužitelj" SESSION_1_TYPE=vncviewer SESSION_1_VNCVIEWER_SERVER=192.168.0.2 SESSION_2_TITLE="Telnet poslužitelj" SESSION_2_TYPE=telnet SESSION_2_TELNET_SERVER=192.168.0.3 SESSION_3_TITLE="SSH poslužitelj" SESSION_3_TYPE=ssh SESSION_3_SSH_SERVER=192.168.0.4 # Общие опции # # Раскладка клавиатуры. В случае работы с rdesktop она роли не играет KEYBOARD_MAP=en_us # Опции XServer # SCREEN_RESOLUTION="1024x768" SCREEN_COLOR_DEPTH="16" SCREEN_HORIZSYNC="30-64" SCREEN_VERTREFRESH="56-87" MOUSE_RESOLUTION=100 # Опции печати # PRINTER_0_NAME=usb PRINTER_0_DEVICE=/dev/usb/lp0 PRINTER_2_TYPE=U !}

U zaključku članka, želio bih reći da je nakon otklanjanja pogrešaka u radu s terminalnim klijentima najbolje prenijeti funkcije TFTP i DHCP poslužitelja na softver koji može raditi u servisnom načinu na Windows NT/2000/2003/XP, na primjer, kao što sam već rekao, " izvorne" Windows usluge ili koristite odgovarajuće usluge bilo kojeg drugog operativnog sustava.


Osim toga, na web stranici projekta thinstation.sourceforge.net pomoću web sučelja možete neovisno ponovno kompajlirati Thinstation sliku bez preuzimanja izvornih kodova, uključujući sve funkcije koje nedostaju u predizgrađenoj slici, na primjer, preglednik ili isključivanje nepotrebnih modula.

Andrej Markelov. Andrey Markelov (www.markelov.net) - Korištenje Linux stanica bez diska s učitavanjem mreže

Ovaj članak objavljuje metode za pokretanje računala preko mreže pomoću slika disketa/HDD diskova (moguće je koristiti veličine koje nisu 1,44 MB). Ovo može biti potrebno ako pri ruci nemate druge medije za podizanje sustava ili radi lakšeg korištenja u određenim uvjetima. Metode su uspješno isprobane barem jednom u stvarnoj situaciji, a ako poznajete druge, pošaljite svoje opcije administratoru stranice. Ako znate kako pojednostaviti postojeće metode, pošaljite svoje mogućnosti autorima metoda ili ih objavite.

Metoda 1: Thinstation i RIS poslužitelj

Predstavljam članak o mrežnom preuzimanju, koji je napisao sudionik OSZone konferencije.

Predgovor

Imao sam ovu situaciju. Donijeli su kompjuter, jedva živ, Asus S200, kakva sitnica kako se kasnije pokazalo. Disk je bio pravilno podijeljen (dvije particije), a druga je sadržavala Windows distribuciju zahvaljujući prethodnom customizeru koji je olakšao zadatak.

Dakle, imamo računalo bez flopa i CDROM-a. Postoji SIS900 mrežna kartica. BIOS ima mogućnost pokretanja s HDD-a, USB diskete, USB Flasha, USB CDROM-a i preko mreže.

U trenutku kada su muke počele, kod sebe je imao samo flash disk, ali se nije htio dignuti s njega. Nije bilo moguće nabaviti USB CD ili disketu. Ostalo je samo učitavanje mreže. Usput, kako se kasnije pokazalo, jedino bi USB flop stvarno pomogao. USB CD nije prepoznat.

Dok sam čitao MS dokumente i forume za automatsku instalaciju, naišao sam na akronim RIS i napomenu da se možete dignuti s mrežne kartice i instalirati osovinu. Pa sam odlučio provjeriti. Instalirao sam RIS, kreirao sliku, konfigurirao DHCP i... dobio veliku nevolju. Sustav se zapravo pokrenuo, prošao kroz tekstualni dio instalacije i srušio se u BSOD s kodom 0x000000BB. Prema tumačenjima koja se nalaze na Internetu, za popravak je potrebno samo zamijeniti upravljačke programe mrežne kartice u distribuciji ili zamijeniti mrežnu karticu. Skinuo sam novu verziju drajvera, pročitao KB315279 i linkove na njemu, napravio sve kako je opisano, a ples s tamburicom završio je dugim BSOD-om s istim kodom.

U redu, ako to ne možete učiniti odmah, pročitajmo upute. Proučavao sam i proučavao i naišao na mogućnost korištenja gotovo svake slike diska za preuzimanje preko mreže.

Ono što će vam trebati

  • Uslužni program za stvaranje mrežnih slika za podizanje sustava iz uobičajenih. Učitavam
  • Perl. Učitavam. (ova verzija je radila za mene, isprobajte druge, nisam Perl igrač)
  • Bilježnica iz standardnog Windows paketa ili bilo koji drugi ASCII editor
  • Thinstation. , datoteka (8,86 MB) (sasvim je moguće da će neka druga datoteka raditi)
  • Instalacijski disk za Windows 2000 Server
  • Ravne ruke, želja za učenjem :)

Započnimo

Korak 1

Preuzmite i raspakirajte uslužni program za konverziju. Radi jasnoće, u D:\BootDisk\.

Korak 2

Preuzmite i instalirajte Perl.

3. korak

Napravite sliku diskete ili upotrijebite gotovu sliku.

  • Ako nema slike boot diskete u obliku datoteke, tada umetnite boot disketu s MS-DOS-om i izvršite naredbu D:\BootDisk\MKIMAGE.BAT DOS. Podržani su standardni pogoni od 1,44 Mb.
  • Ako slika već postoji, tada mijenjamo datoteku za stvaranje slike za pokretanje.
    1. Otvorite bilježnicu i kopirajte/napišite sljedeći kod
      @echo isključen
      cd mknbi-1.4.1-win
      perl.exe mknbi.pl --nosquash --format=nbi --target=dos ..\image.dos >..\dos.bin
      rem Ako želite svestranost, komentirajte gornji red (dodajte REM)
      rem i odkomentirajte donji (uklonite REM) (pokretanje MKIMAGE2 image_name_with_extension)
      rem perl.exe mknbi.pl --nosquash --format=nbi --target=dos ..\%1 >..\dos.bin
      CD..
      :kraj
      Spremamo ga pod imenom MKIMAGE2.BAT
    2. Kopirajte sliku diskete na ime D:\BootDisk\image.dos
    3. Pokrenite datoteku MKIMAGE2.BAT

Korak 4

Čekamo da batch datoteka završi svoj posao. Provjera veličine dos.bin veće veličine slika.dos otprilike 4 kb.

Korak 5

Raspakirajte thinstation. Iz arhive trebamo datoteku TFtpdRoot\ thinstation.nbi.zpxe. Kopirajte ga u D:\BootDisk\ s imenom dos.bin.zpxe. Ovo je PXE bootloader.

Korak 6

Konfigurirajte DHCP (ako je konfiguriran, idite na korak 7). Imam Win 2000 Server pa ću ga zato opisati.

Ako DHCP nije instaliran, mora se prvo instalirati. ( Upravljačka ploča> - Instalacija i uklanjanje programa- , zatim odaberite Mrežne usluge, Spoj i potvrdite okvir DHCP).

Konfiguriranje DHCP-a. Upravljačka ploča - administracija, lansirati DCHP oprema. Odaberite DHCP poslužitelj koju želimo konfigurirati. Zatim iz kontekstnog izbornika odaberite Stvorite područje. U čarobnjaku koji se pojavi unesite naziv područja i komentar. Dajte smislena imena da za par godina drugi admin ili vi sami to shvatite. Zatim upisujemo početnu i krajnju adresu koju želimo distribuirati putem DHCP-a. Maksimalni kapacitet ovisi o broju strojeva instaliranih istovremeno. Ako je statična adresa uključena u raspon adresa, možete je unijeti na popis izuzetaka na sljedećoj stranici. Dalje po vlastitom nahođenju. Nakon što stvorite područje u odjeljku Mogućnosti područja, trebate konfigurirati parametre 066 IP poslužitelji I 067 Naziv datoteke Za utovar. U parametru 067 unesite ime dos.bin.zpxe.

Korak 7

Instalacija i konfiguracija RIS-a

Upravljačka ploča - Instalacija i uklanjanje programa - Dodavanje i uklanjanje Windows komponenti, staviti kvačicu Usluga daljinskog pokretanja. Nakon dovršetka instalacije idite na administracija - Usluge i pokrenite uslugu Pojednostavljeni FTP demon.

Korak 8

Kopirajte datoteke u C:\tftpdroot dos.bin.zpxe I dos.bin.

Korak 9

Postavljamo računalo da se pokreće s mrežnog adaptera putem PXE-a i pokušavamo se pokrenuti.
Ako je sve normalno, tada će računalo koje se diže tražiti DHCP poslužitelj, tada će bootloader pokazati da je dodijeljena IP adresa i počelo je dizanje sa slike.

Općenite bilješke

Za uređivanje/kreiranje slike diskete, možete koristiti WinImage, dodatak za Total Commander

0. Uvod
Preuzimanje preko mreže vrlo je zgodna, a često i jednostavno nezamjenjiva stvar. Ne morate otvarati kućište računala (ponekad to uopće nije tako jednostavno kao s običnim PC jedinicama), ne trebate cdrom, ne trebate besplatni ide kabel, ne trebate disketni pogon, ne treba vam USB.
Sustav učitavanja je lako promijeniti - ne morate ga nigdje "uploadati" niti zapisivati. To je samo imenik.
Iz nekog razloga, mnogi ljudi se boje i izbjegavaju ovu temu. Čini se da je to nešto složeno, problematično i teško provedivo. Zapravo, sve je, kao i sve drugo genijalno, jednostavno.

1. Što je potrebno za dizanje Linuxa na stroj preko mreže?

  • Stroj mora imati mrežnu karticu koja podržava Intelov PXE. Postoji nekoliko drugih implementacija mrežnih protokola za pokretanje, ali PXE je najčešći i praktički je implicirani mrežni protokol za pokretanje.
  • Konfigurirani Linux sustav (nazovimo ga host stroj), koji će izdati IP adresu i sadržavati bootable kernel i samu sliku sustava. Ovo, zapravo, ne mora nužno biti Linux sustav, ali u ovim uputama to će biti implicirano.
  • Ethernet mreža. Glavno računalo i žrtveno računalo mogu se povezati jednostavnim križnim kabelom ili konvencionalnim metodama. :)
  • Poznavanje MAC adrese žrtvinog stroja. Možete ga vidjeti ili iz zapisa DHCP poslužitelja, ili ga prepisati izravno sa ekrana u trenutku pokretanja putem PXE-a, ili možete bez njega i konfigurirati DHCP poslužitelj tako da izdaje potrebnu IP adresu i sliku svima bez razlike . Ali ovo je potpuno drugačija priča (dobro opisana na Googleu) i nadilazi opseg ovog uputstva.

2. Kako funkcionira proces mrežnog preuzimanja?
Brzi odgovor: Mreža se autokonfigurira preko dhcp-a, bootloader se učitava preko tftp-a, koji učitava kernel preko tftp-a, koji učitava ostatak root sustava preko nfs-a.
Detaljan odgovor: Prva stvar koju stroj s instaliranim PXE bootom napravi prilikom dizanja je slanje DHCP zahtjeva za emitiranje mreži u potrazi za poslužiteljem. Glavni stroj, na kojem DHCP demon mirno spava, daje adresu i stazu do datoteke za bootloader. PXE Boot ROM, na temelju primljenih informacija, konfigurira mrežni adapter. Ako je sve u redu, bootloader se učitava preko TFTP protokola i preuzima daljnji tijek događaja. U općoj shemi događaji se dalje razvijaju ovako - Linux kernel posebno pripremljen za učitavanje preko mreže učitava se koristeći isti TFTP protokol. U ovom slučaju, bootloader prosljeđuje potrebne parametre kernelu za učitavanje putem NFS protokola. Kernel, nakon učitavanja, montira nfs particiju na glavno računalo i odatle pokreće sustav.

3. Kako to sve postaviti i izgraditi od nule?
Pravo pitanje :)
Uostalom, trebamo:
a) instalirani, konfigurirani i pokrenuti dhcp, tftp i nfs poslužitelji
b) bootloader i gotova slika root sustava, u koju možete chrootati i konfigurirati po potrebi, instalirati/dodati pakete itd.
c) kernel pripremljen za učitavanje preko mreže.
Dakle, točku po točku, pod pretpostavkom da je naš sustav Debian (i drago nam je što smo jednom napravili pravi izbor distribucije), te da ćemo sve relevantne datoteke smjestiti u /tftpboot direktorij:

0. Stvaranje direktorija i instaliranje pxelinux boot loadera.
Prvo, stvorimo i definirajmo imenike.
Neka naš "glavni" direktorij bude /tftpboot.
Imat će dva poddirektorija: boot/ (s korijenskim sustavom) i pxelinux.cfg/ (s postavkama bootloadera)

# mkdir /tftpboot # mkdir /tftpboot/boot # mkdir /tftpboot/pxelinux.cfg

# apt-get install syslinux # cp /usr/lib/syslinux/pxelinux.0 /tftpboot/ #

Serial 0 prompt 1 timeout 99 default pxeboot label pxeboot kernel bzImage append ip=dhcp nfsroot=192.168.150.126:/tftpboot/boot root=/dev/nfs init=/sbin/init

Sintaksa mu je slična sintaksi lilo.conf. Čini se da ni komentari nisu potrebni.
Ako trebate stvoriti različite konfiguracije za različite strojeve, možete stvoriti datoteke za svaku MAC adresu zasebno umjesto zadane. Više o tome možete pročitati na pxelinux stranici.

1. Stvaranje korijenskog datotečnog sustava
Ovo je najzanimljivije pitanje. Ovdje je vrijedno formulirati jasnu izjavu o problemu - za što će sustav biti potreban? Koji bi softver trebao biti tamo, na kojem hardveru će raditi itd.
U principu, za najjednostavnije preuzimanje dovoljan je minimalni sustav od nekoliko megabajta. U Googleu postoji more slika i vodiča za njihovu izradu.
To bi mogao biti sustav za spašavanje, mogao bi biti instalacijski program za nešto ili bi mogao biti potpuni stolni sustav.
U mom slučaju, potrebno mi je da se sustav pokrene na gotovo bilo kojem hardveru i pokrene vlastiti instalacijski program. Budući da mi ne smeta prostor, odlučio sam jednostavno instalirati zadani minimalni debian sustav. Drago mi je što sam jednom odabrao pravu distribuciju, pokazalo se da je to vrlo jednostavno učiniti:

# apt-get install debootstrap ... # debootstrap sarge /tftpboot/boot

Kada bude dovršen, direktorij /tftpboot/boot sadržavat će potpuno funkcionalan i funkcionalan sustav koji se može pokrenuti, težak približno 140 MB. Možete chrootavati u ovaj direktorij, instalirati i uklanjati pakete, mijenjati rc skripte i općenito raditi što god želite. To je kao Linux unutar Linuxa.

2. Izrada kernela.
Da bi se kernel mogao učitati preko mreže potrebno je nekoliko uvjeta prilikom sklapanja:
a) uključite opciju "Network Options -> IP: autoconfiguration -> dhcp" (zbog svestranosti, bolje je također omogućiti sve opcije)
b) omogućiti podršku za NFS datotečni sustav
c) omogućite "FS->Mrežni datotečni sustavi->Root preko NFS-a".
Ovo je obavezni dio specifičnosti. Ostalo je po vašem nahođenju. Što je potrebno u ovom kernelu, što nije potrebno. Bolje je ne štedjeti na veličini i kompajlirati više upravljačkih programa u nju, potpuno onemogućivši module, kako biste se riješili potrebe za dvostupanjskim učitavanjem i initrd datotekom.

3. DHCP postavke.
Instalirajte poslužitelj:

# apt-get instaliraj dhcpd

Uređujemo njegovu konfiguracijsku datoteku (/etc/dhcpd.conf) za našu mrežu i dodajemo joj unos za naš žrtvovani stroj:

Host pxeboot (hardverski ethernet 08:00:0e:aa:bb:cc; fiksna adresa 192.168.150.127; naziv datoteke "/tftpboot/pxelinux.0"; )

Predgovor.

Ovo je izmišljeno davno. U svakom slučaju, u članku napisanom krajem prošlog stoljeća (1998.), autor ideju o učitavanju mreže naziva starom. I to ne čudi; učitavanje operativnog sustava preko mreže je san svakog administratora. Uostalom, operativni sustav učitan s poslužitelja uvijek će biti "bijel i pahuljast", i bit će dovoljno izvršiti izmjene i ažuriranja boot slike na poslužitelju, umjesto da trčite s flash diskom po cijeloj floti računala.

Zašto tako dobra ideja nije široko prihvaćena? Zbog složenosti? Ne! Poslužitelji za mrežno pokretanje konfiguriraju se prilično jednostavno, obično s jednom konfiguracijskom tekstualnom datotekom, a gledajući unaprijed, reći ću da se u lanboot_serveru stvaranje konfiguracijskih datoteka vrši automatski. U praksi se to svodi na "uključite ga i gotovi ste".

Što će biti potrebno?

    Ako lokalna mreža nije konfigurirana, konfigurirajte je. Nakon ovoga, slobodno naredite lanboot start i klijenti se mogu dignuti.

    Za zaustavljanje, odnosno, lanboot stop. U ALTLinuxu i Ubuntuu morat ćete raditi svojim rukama, instalirati potrebne stvari i konfigurirati ih.

Međutim, nije sve tako strašno. Lanboot skripta za pokretanje (/usr/sbin/lanboot) također bi trebala raditi u drugim Linux sustavima, na primjer u Simply Linuxu (ALT) skripta je stvorila ispravne konfiguracijske datoteke i poslužitelj se pokrenuo, samo učitavajući datoteke u “TFTP direktorij” ( /var/lib/tftpboot) nije se pokazalo, i to nije iznenađujuće, jer odakle dolaze datoteke PuppyRus u ALTLinuxu.

Nastavimo.

Od čega se prikuplja?

Da bismo pokrenuli Linux preko mreže, trebamo tftp poslužitelj (koristi se tftp-hpa-5.0), bootp ili dhcp (odabrao sam dhcp-4.1.1, iako sam prvo koristio bootp) i inetd ili xinetd (odabrao sam inetd, je jednostavnije).

Kako konfigurirati.

1.Čizma

    Najjednostavnije.

    Pruža IP povezan s MAC adresom klijenta.

    Stoga se može koristiti samo u mrežama sa stalnom flotom strojeva.

Primjer /etc/bootptab

Korišteni parametri:

Td -- TFTP direktorij (datoteke će se preuzimati odavde) - rp -- korijenska staza (put do korijena poslužitelja) - bf -- bootfile (datoteka za preuzimanje) - sa -- adresa poslužitelja za pokretanje (IP TFTP poslužitelja) - sm - - maska ​​podmreže (maska ​​podmreže) - gw -- pristupnici (gateway) - do -- vremenski pomak (sekunde) - ha -- hardverska adresa (hardver, također poznata kao MAC adresa) # Možete pisati ili u stupcu ili u jednom crta. # Postavke zajedničke svim klijentima: .default:td=/var/lib/tftpboot:rp=/var/lib/tftpboot:bf=pxelinux.0:sa=192.168.1.2:sm=255.255.255.0:gw=192.168 . 1.1:to=auto: #ili tako.default:\ td=/var/lib/tftpboot:\ rp=/var/lib/tftpboot:\ bf=pxelinux.0:\ sa=192.168.1.2:\ sm= 255.255 .255.0:\ gw=192.168.1.1:\ to=auto: # Postavke za klijente u drugim podmrežama: #.subnet1:sm=255.255.255.0:gw=192.168.0.1:tc=.default: # Individualne postavke za svakog klijenta (primjeri): #notick:tc=.default:ha=00140B016592:ip=192.168.1.4: #sharick:tc=.default:ha=0123456789ab:ip=192.168.1.2 #bobick:tc=.default:ha=ba9876543210 :ip=192.168.1.5 # itd.

2. Dhcpd

Punopravni dhcp poslužitelj.

Primjer /etc/dhcpd.conf

# dhcpd.conf # # Koristite ovo da omogućite/onemogućite globalno dinamičko dns ažuriranje. ddns-update-style ništa; podmreža 192.168.1.0 mrežna maska ​​255.255.255.0 ( opcija usmjerivači 192.168.1.1; opcija podmrežna maska ​​255.255.255.0; opcija emitirana adresa 192.168.1.255; raspon dinamičkog pokretanja 192.168.1.10 192.168.1 .200; default-lease-time 21600; vrijeme najma 43200; naziv datoteke "pxelinux.0";

3.TFTP

Datotečni poslužitelj s pojednostavljenim protokolom.

Primjer /etc/exports

#Direktoriji dopušteni za tftp boot i nfs mount (no_root_squash - root korisnik je dopušten) /var/lib/tftpboot 192.168.1.0/255.255.255.0(ro,no_root_squash,sync)

4. Inetd

Koristimo ga za pokretanje tftp poslužitelja i bootp poslužitelja. Ali može pokrenuti i druge usluge. Konfiguracijska datoteka /etc/inetd.conf. Fajl je dug, “za sve prilike”. Stoga se citiraju samo nužni redovi.

Primjer /etc/inetd.conf.

# Ovaj red pokreće tftp poslužitelj tftp dgram udp čekanje root /usr/sbin/in.tftpd in.tftpd -s /var/tftpboot # Ovaj red pokreće bootp poslužitelj bootps dgram udp čekanje root /usr/sbin/bootpd bootpd -i

5.Xinetd

Funkcije su iste kao i inetd, ali su postavke kompliciranije. Instalirano u Altlinuxu.

Primjer /etc/xinetd.conf

# # Jednostavna konfiguracijska datoteka za xinetd # # Neke zadane vrijednosti i uključuju /etc/xinetd.d/ zadane ( log_type = SYSLOG authpriv info; log_on_success = PID HOST DURATION; log_on_failure = HOST; instance = 100; per_source = 5; only_from = 127.0 .0.1;) includedir /etc/xinetd.d Za svaki pokrenuti program, posebna konfiguracijska datoteka se nalazi u /etc/xinetd.d Primjer /etc/xinetd.d/tftp # default: off # description: tftp server poslužuje datoteke korištenjem trivijalnog\#protokola za prijenos datoteka. Protokol tftp često se koristi za pokretanje \ # radnih stanica bez diska, preuzimanje konfiguracijskih datoteka na pisače koji rade na mreži \ # i za pokretanje procesa instalacije za neke operativne sustave. usluga tftp ( onemogući = ne; vrsta_utičnice = dgram; protokol = udp; čekaj = da; korisnik = korijen; poslužitelj = /usr/sbin/in.tftpd; server_args = -u tftp -s /var/lib/tftpboot; per_source = 11 cps = 100 2 oznake = samo IPv4_od = 192.168.1.0 )

Automatsko postavljanje.

Za automatsku konfiguraciju, varijable se uzimaju iz izlaza standardnih Linux ifconfig i route naredbi. Stoga se mogu dobiti na bilo kojem Linuxu.

Serv=$(ifconfig | grep inet | grep -v 127.0.0.1 | cut -f 2 -d ":" | cut -f 1 -d " ") mask=$(ifconfig | grep inet | grep -v 127.0.0.1 |. cut -f 4 -d ":") gate=$(route | grep UG | cut -f 10 -d " ") subnet=$(route | grep " U " | cut -f1 -d " ")

Ove varijable su zapisane na odgovarajuća mjesta u predlošcima konfiguracijske datoteke sadržane u lanboot skripti. Kada se skripta izvrši, vrijednosti varijabli zamjenjuju se u predložak i tako generirana konfiguracijska datoteka šalje se "na odredište". To vas također štedi rutinskog rada i ljudskih pogrešaka. Jedini neizostavan uvjet: mreža mora biti konfigurirana, inače odakle će doći vrijednosti varijable?

Lanboot skripta također kopira PuppyRus datoteke u TFTP direktorij: vmlinuz, initrd.gz i pup*-200.sfs, koje su potrebne za pokretanje. Datoteke se preuzimaju iz operativnog sustava na kojem je poslužitelj pokrenut, a ako taj sustav nije PuppyRus, nema ih odakle uzeti. Stoga, na drugim Linux sustavima, gornje datoteke moraju biti smještene u /var/lib/tftpboot ručno (kopiranjem).