Ubuntu: tinklo diegimas. PXE – viskas įkeliama! Įsisavinimas kelių įkrovų per vietinį tinklą Linux diegimas tinkle

Šis straipsnis apims Ubuntu Linux diegimą iš tinklo įkrovos saugyklos.

Taigi, mes įdiegsime Ubuntu 10.04 klientų kompiuteriuose iš serverio 192.168.0.3, kuriame yra tinklo įkrovos serveris ir dhcpd. Norint įdiegti, saugykloje turi būti katalogas dists/lucid/main/debian-installer. Jei pridedate panašius katalogus kitoms saugykloms (daugiapasaulė, visata, ribota), tada etape „Programinės įrangos pasirinkimas ir diegimas“ programinės įrangos sąrašas bus didesnis. Šiame vadove apsvarstysiu šią parinktį. Jei sukūrėte veidrodinį veidrodį, greičiausiai šių katalogų apskritai neturite. Galite juos atsisiųsti, pavyzdžiui, iš ftp://mirror.yandex.ru. Be to, diegimo metu diegimo programa, nepriklausomai nuo pasirinktos saugyklos, dažnai pasiekia security.ubuntu.com.

1 veiksmas: serverio diegimas

Būtinų programų diegimas:

apt-get install tftpd-hpa openbsd-inetd

Atsisiųskite ir išpakuokite vaizdą tinklo diegimui:

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

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

Norėdami įkelti iš tinklo, klientui turite perduoti 2 parametrus: įkrovos failo pavadinimą ir įkrovos failo serverį (dhcpd tai yra failo pavadinimas ir kito serverio parametrai):

kitas serveris 192.168.0.3;
failo pavadinimas "pxelinux.0";

Serveris įdiegtas, galite įdiegti sistemą.

2 veiksmas: sistemos diegimas

Norėdami įdiegti sistemą iš tinklo serverio, BIOS turite įjungti tinklo įkrovą (PXE). Jei jūsų BIOS palaiko įkrovos meniu, geriau jį naudoti norėdami pasirinkti įkrovos įrenginį - kad nekiltų problemų, jei pamirštumėte pakeisti įkrovos tvarką.

Jei viskas gerai, pamatysite diegimo programos pasveikinimo ekraną:

  • Pagrindinis Ubuntu serveris
  • Vardų serveris (DNS)
  • Edubuntu serveris
  • LAMP serveris
  • Pašto serveris
  • OpenSSH serveris
  • PostgreSQL duomenų bazė
  • Spausdinimo serveris
  • Samba failų serveris
  • Ubuntu Enterprise Cloud
  • Virtualios mašinos priegloba
  • 2D/3D kūrimo ir redagavimo rinkinys
  • Garso kūrimo ir redagavimo rinkinys
  • Edubuntu KDE darbalaukis
  • Edubuntu darbalaukis
  • Kubuntu darbalaukis
  • Kubuntu netbook
  • LADSPA ir DSSI garso įskiepiai
  • Didelis šriftų paketų pasirinkimas
  • Mythbuntu papildomi vaidmenys
  • Mythbuntu frontend
  • Mythbuntu master backend
  • Mythbuntu vergas backend
  • Ubuntu netbook
  • Ubuntu darbalaukis
  • Vaizdo įrašų kūrimo ir redagavimo rinkinys
  • Xubuntu darbalaukis
  • Rankinis paketo pasirinkimas

Straipsnyje išsamiai nagrinėjamas „plonų klientų“ tinklo, valdomo „Thinstation Linux“ paskirstymo ir naudojant „Windows 2000“ pagrįstą programų serverį, diegimo procesas.

„Linux“ stočių be diskų naudojimas su tinklo įkrova

Pirmą kartą publikuotas žurnale „Sistemos administratorius“ N11/2004

Problemos formulavimas

Automatikos skyriaus darbuotojo darbas – tai nuolatinė kova su problemomis ir problemų sprendimas, kurias pakaitomis pateikia vartotojai, naudojamos programinės įrangos kūrėjai ir organizacijos vadovybė. Ir jei pirmosios dvi darbo sritys yra tiesiog „kova dėl laivo išgyvenimo“, tada paskutinė, kaip taisyklė, yra progresyvus judėjimas į priekį. Sprendžiant vieną iš šių problemų ir gimė šis straipsnis.

Taigi automatikos skyriui buvo pavesta greitai paleisti du naujus nuotolinius biurus, kurių kiekviename būtų nuo penkių iki dešimties žmonių. Tiek biurai, tiek „galva“ per VPN technologijas buvo sujungti į vieną tinklą. Mažiausias kanalo plotis tarp trijų taškų buvo 256 Kbps, o tai visiškai patenkino mūsų poreikius. Kiekviename biure buvo įdiegtas papildomas Windows 2000 domeno valdiklis, o domenas buvo padalintas į kelias svetaines, kad būtų sumažintas srautas. Viskas, kas aprašyta aukščiau, yra standartinis sprendimas, ir aš čia nesitikėjau jokių netikėtumų. Pagrindinis klausimas mums buvo, kaip elgsis pagrindinė organizacijos darbuotojų darbo aplinka – sudėtinga automatizavimo sistema, su kuria dirbant net vienoje vietoje buvo nemaža problemų. Iš pradžių buvo skirta Novell/BTRIVE 6.15 po tinklo perkėlimo į Windows, ji veikė Windows/Pervasive.SQL 7.

Po savaitės šios pagrindinės organizacijos verslo programos testavimo paaiškėjo, kad kūrėjas mums visiškai nepaliko pasirinkimo, nes naudojamos automatizuotos sistemos integruoto terminalo režimo naudojimas mums netiko. priežasčių. Vėlgi, dėl veikimo ypatybių terminalo serveriu pasirinkta Microsoft Windows Server platforma. Citrix sprendimų nebandėme, nes darbas su „gimtinėmis“ Windows terminalo paslaugomis mus visiškai tenkino, o priedų naudojimas tik padidina visos sistemos kainą.

Kai viskas buvo nuspręsta dėl serverio dalies, iškilo klausimas dėl sistemos kliento komponento. Visų pirma, norėčiau sumažinti vartotojų mašinų administravimo poreikį, nes nebuvo planuota turėti tam skirto administratoriaus nutolusiose svetainėse. Be to, atrodė, kad pageidautina sumažinti sprendimo kainą, kuri išaugo dėl būtinybės įsigyti terminalo licencijas. Taip pat reikėjo atsižvelgti į pasenusius Celeron-400 klasės kompiuterius su nuo 32 iki 64 MB RAM talpos biuruose.

Visais požiūriais pasirodė idealu naudoti bediskos stotis su tinklo įkėlimu kaip darbo stotis. Šiuo atveju vienintelis kompiuteris, kuriam reikia administratoriaus dėmesio, yra papildomas domeno valdiklis kiekviename biure, valdomas per VNC. Savaime suprantama, kad šiame straipsnyje aš nekreipiau dėmesio į įrangą ir programinę įrangą, kuri užtikrina srauto šifravimą, prieigą prie interneto ir kt.

OS, kuri bus įkeliama į darbo vietas per tinklą, vaidmenyje pasirinkau „Linux“, kuri užtikrina licencijuotą sprendimo grynumą (bent jau kol kas). Prieiga prie Windows 2003 darbalaukio turėjo būti pasiekta sukūrus www.rdesktop.org projektą, kuris tapo šios problemos sprendimo standartu. Kadangi tokiam įkėlimui reikalingi DHCP ir TFTP serveriai, būtų logiška naudoti papildomus Windows 2000 domeno valdiklius, kurie jau yra prieinami kiekvienoje svetainėje . Tačiau TFTP yra nuotolinio diegimo paslaugose (RIS).

Klientų mašinų tinklo plokštės natūraliai turi palaikyti galimybę paleisti per Etherboot/PXE. Kai kuriais atvejais dėl aparatinės įrangos nesuderinamumo leidau naudoti įkrovos įkroviklį, esantį diskelyje.

Linux diegimo pasirinkimas

Renkantis Linux OS parinktį su galimybe paleisti per tinklą, pirmiausia atkreipiau dėmesį į paruoštus panašaus dėmesio paskirstymo rinkinius su įmontuotu rdesktop paketu. Žymiausi iš jų – nuo ​​2002 m. pabaigos beta versijoje įšaldyta „NetStation“ (netstation.sourceforge.net) ir jos įpėdiniai: PXES (pxes.sourceforge.net), Thinstation (thinstation.sourceforge.net) ir DIET-PC (dieta-pc.sourceforge.net). Tuo pačiu metu DIET-PC visų pirma skirtas vartotojams, kurie yra susipažinę su Linux OS, todėl ji iš karto neįtraukiama į svarstymo sritį. Kadangi jo nustatymo procedūra yra gana kruopšti, o DIET-PC yra gana daug nustatymų, kurių paprastam mirtingajam, o ne Linux guru, niekada neprireiks. PXES yra „pažangiausias“ su daugybe papildomų funkcijų, įskaitant savo grafinę aplinką, kuri mano atveju taip pat nereikalinga. Mano konfigūracijoje klientas, apeidamas tarpinius meniu, turėjo iš karto įkelti nuotolinį darbalaukį ir eiti į „Windows 2003 Server“ slaptažodžio įvedimo langą. Taigi aš atkreipiau dėmesį į likusį platinimą - Thinstation.

Trumpai pažvelkime į jo galimybes:

X, RDP, VNC, SSH, Telnet, ICA ir Tarantella protokolų palaikymas;

galimybė naudotis Firefox naršykle;

darbas x86-100 MHz klasės kompiuteriu su 16 MB RAM;

iš anksto sukurto vaizdo buvimas ir galimybė savarankiškai surinkti naudojant žiniatinklio sąsają;

vietinių diskų, USB ir LPT spausdintuvų palaikymas

Iš visų įkrovos parinkčių paprasčiausias yra PXE, naudojant Etherboot įkrovos įkroviklį. Šiame straipsnyje mes eisime paprasčiausiu keliu – naudosime iš anksto sukompiliuotą vaizdą.

Įdiegimas ir pradinis nustatymas

Pradėkime atsisiųsdami iš puslapio http://struktur.kemi.dtu.dk/thinstation/download/, pasiekiamą per nuorodą oficialioje svetainėje, paskutinį archyvą, mano atveju tai buvo Thinstation-2.0.2- iš anksto sukurta NetBoot .zip. Archyve yra viskas, ko jums reikia, įskaitant TFTP/DHCP serverį Tftpd32, kuris yra patogus pradinei sąrankai ir konfigūracijai. Beje, jei naudositės, rekomenduočiau iš karto atnaujinti iš pagrindinio puslapio, kur yra naujesnė versija. Beje, Tftpd32 (http://tftpd32.jounin.net/) pati savaime yra puiki programa. Tiek, kad kai kuriems įmonės klientų poreikiams jį netgi rekomenduoja Cisco.

Išplėtę archyvą, gauname penkis katalogus:

BootDisk – diskelio vaizdas su Etherboot įkrovos programa, skirtas kompiuteriams su nepalaikomomis tinklo plokštėmis

BootPXE – PXE įkrovos įkroviklis, skirtas Etherboot emuliacijai

BuildFiles – konfigūracijos failų pavyzdžiai

TFtp – Tftpd32 serveris

TftpdRoot – šakninis TFTP serverio katalogas

Taigi, visų pirma, paleidžiame savaime išsiskleidžiantį archyvą thinstation.nbi (autoextract).exe, kuriame yra vienas Thinstation.nbi failas. Archyvas sukurtas tam, kad turėtumėte galimybę susipažinti su „CITRIX(R) LICENCIJOS SUTARTIS“.

Dabar nukopijuojame TFtp ir TftpdRoot į Windows serverį mūsų tinklo segmente. Naudojant Tftpd32, bet kuris Windows įrenginys su statiniu IP adresu gali veikti kaip toks serveris. Tarkime, kad abu katalogus nukopijavome į C:\ diską. Paleidžiame C:\TFtp\Tftpd32.exe vykdyti. Programos lango išvaizda parodyta paveikslėlyje.

Turite nustatyti serverio parametrus. Spustelėkite mygtuką „Nustatymai“ ir įveskite reikšmę „C:\TftpdRoot“ kaip „bazinį katalogą“. Tada eikite į skirtuką „DHCP serveris“. Ten reikia nurodyti pradinį IP adresą, kurį skiria DHCP serveris („IP telkinio pradinis adresas“), adresų telkinio dydį („Size of pool“), potinklio kaukę („Kaukė“), serverio pavadinimą. failą su Etherboot įkrovikliu („Boot file“ ), mūsų atveju tai yra thinstation.nbi.zpxe. Spustelėkite mygtuką „Išsaugoti“, kad išsaugotumėte nustatymus ir uždarytumėte programą.

Viskas paruošta eiti. Galite pabandyti įjungti vieną iš mašinų su tinklo plokšte, kuri palaiko PXE įkrovą, nepamiršdami nustatyti įkrovos tvarkos stoties BIOS. Įjungtas įrenginys turi gauti IP adresą iš paskirto diapazono ir atsisiųsti failą thinstation.nbi.zpxe per TFTP. Jame yra įkrovos įkroviklis, kuris imituoja tinklo plokštės su Etherboot palaikymu veikimą. Tada valdymas perduodamas įkrovos įkrovikliui, kuris savo ruožtu vėl prašo adreso per DHCP ir atsisiunčia failą, kurio pavadinimas atitinka paties įkrovos įkroviklio failo pavadinimą, atėmus zpxe plėtinį, tai yra, thinstation.nbi. Šis failas yra Thinstation vaizdas. Kai vaizdas įkeliamas, Thinstation bando įkelti konfigūracijos failą thinstation.conf- iš šakninio TFTP serverio katalogo, tada thinstation.conf-. Jei tokie failai randami, Thinstation sujungia jų turinį su bendrosios konfigūracijos failu thinstation.conf.network, kuris, skirtingai nei du aukščiau išvardyti, turi būti TFTP serveryje. Stenkitės išvengti konfliktų tarp pagrindinių nustatymų failo ir konkrečiai grupei ar stočiai būdingų failų. Be to, su vienu konfigūracijos failu galite sujungti visas IP ir MAC adresų grupes. Tai atliekama naudojant Thinstation.hosts failą, kurio formatas yra toks:

# PAGRINDINĖS MAC GRUPĖS KOMENTARAI ws-oper1 0002B3655065 hi_res # Operatoriaus Nr. 1 ws-oper2 0002B3651075 hi_res # Operatoriaus Nr. 2 ws-oper3 0002B365A021 hi_res No. ssh_en

Šiame pavyzdyje daroma prielaida, kad yra du failai thinstation.conf.group-hi_res ir thinstation.conf.group-ssh_en. Pirmajame faile nurodyti nustatymai taikomi visoms trims stotims, o antrojo – tik kompiuteriui ws-oper3.

Paveiksle esančiame terminalo paslaugų tvarkyklės papildinyje galite pamatyti, kaip rodomi terminalo kliento seansai.


Klientai su tokiais pavadinimais kaip ts_ yra tik kliento terminalai, kuriuose veikia Thinstation. Klientai su tokiais pavadinimais kaip P veikia pagal PXES paskirstymą, o tai nepatenka į šio straipsnio taikymo sritį. Toliau pateiksiu paprastą, bet visiškai funkcionalią konfigūracijos failo versiją su komentarais. # Seanso parinktys # # Pirmoji sesija turi prasidėti skaičiumi 0. # Jei nereikia pasirinkti seanso, pavyzdžiui, kai naudojate # tik rdesktop, galite atšaukti šio parametro komentarą ir # neįtraukti seanso pasirinkimo meniu. #AUTOSTART=SESSION_0_TITLE="Windows 2003 terminalo serveris (16 bitų spalvų gylis)" 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 serveris" SESSION_1_TYPE=vncviewer SESSION_1_VNCVIEWER_SERVER=192.168.0.2 SESSION_2_TITLE="Telnet serveris" SESSION_2_TYPE=telnet SESSION_2_TELNET_SERVER=192.168.0.3 SESSION_3_TITLE="SSH serveris" 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 !}

Baigdamas straipsnį norėčiau pasakyti, kad derinant darbą su terminalo klientais, geriausia perkelti TFTP ir DHCP serverių funkcijas į programinę įrangą, kuri gali veikti aptarnavimo režimu Windows NT/2000/2003/XP, pavyzdžiui, kaip jau sakiau, „gimtosios“ „Windows“ paslaugos arba naudokite atitinkamas bet kurios kitos operacinės sistemos paslaugas.


Be to, projekto svetainėje thinstation.sourceforge.net naudodami žiniatinklio sąsają galite savarankiškai perkompiliuoti Thinstation vaizdą neatsisiųsdami šaltinio kodų, įskaitant visas funkcijas, kurių trūksta iš anksto sukurtame vaizde, pavyzdžiui, naršyklę, arba neįtraukdami nereikalingų modulių.

Andrejus Markelovas. Andrejus Markelovas (www.markelov.net) – „Linux“ stočių be diskų naudojimas su tinklo įkėlimu

Šiame straipsnyje skelbiami būdai, kaip paleisti kompiuterį tinkle naudojant diskelių/HDD disko vaizdus (galima naudoti ir kitokio dydžio nei 1,44 MB). Tai gali prireikti, jei po ranka neturite kitos įkrovos laikmenos arba norint palengvinti naudojimą tam tikromis sąlygomis. Metodai buvo sėkmingai išbandyti bent kartą realioje situacijoje, o jei žinote kitus, tada siųskite savo parinktis svetainės administratoriui. Jei žinote, kaip supaprastinti esamus metodus, siųskite savo parinktis metodų autoriams arba paskelbkite jas.

1 būdas: Thinstation ir RIS serveris

Pristatau straipsnį apie atsisiuntimą iš tinklo, kurį parašė OSZone konferencijos dalyvis.

Pratarmė

Man buvo tokia situacija. Jie atnešė kompiuterį, vos gyvą, Asus S200, kokia smulkmena, kaip vėliau paaiškėjo. Diskas buvo tinkamai padalintas (du skaidiniai), o antrajame buvo „Windows“ paskirstymo rinkinys dėl ankstesnio tinkinimo priemonės, kuri palengvino užduotį.

Taigi, mes turime kompiuterį be šnipštas ir CDROM. Yra SIS900 tinklo plokštė. BIOS turi galimybę paleisti iš HDD, USB diskelio, USB Flash, USB kompaktinio disko ir per tinklą.

Tuo metu, kai prasidėjo kankinimai, jis su savimi turėjo tik „flash drive“, bet atsisakė iš jos paleisti. Nebuvo įmanoma gauti USB kompaktinio disko ar diskelio. Liko tik tinklo įkėlimas. Beje, kaip vėliau paaiškėjo, tikrai padėtų tik USB šnipštas. USB kompaktinis diskas nebuvo atpažintas.

Skaitydamas MS dokumentus ir automatinio diegimo forumus aptikau akronimą RIS ir paminėjimą, kad galima paleisti iš tinklo plokštės ir įdiegti ašį. Taigi nusprendžiau tai patikrinti. Įdiegiau RIS, sukūriau atvaizdą, sukonfigūravau DHCP ir... gavau didžiulį bėdą. Sistema iš tikrųjų buvo paleista, perėjo tekstinę diegimo dalį ir sudužo į BSOD su kodu 0x000000BB. Remiantis internete rastomis interpretacijomis, norint tai sutvarkyti tereikia pakeisti tinklo plokštės tvarkykles paskirstyme arba pakeisti tinklo plokštę. Atsisiunčiau naują tvarkyklių versiją, perskaičiau KB315279 ir jame esančias nuorodas, padariau viską kaip aprašyta, o šokiai su tamburinu baigėsi ilgu BSOD su tuo pačiu kodu.

Gerai, jei negalite to padaryti iš karto, perskaitykite instrukcijas. Studijavau, studijavau ir susidūriau su galimybe naudoti beveik bet kokį disko vaizdą atsisiuntimui per tinklą.

Ko tau prireiks

  • Priemonė, skirta sukurti įkrovos tinklo vaizdus iš įprastų. Įkeliama
  • Perl. Įkeliama. (ši versija man pasiteisino, pabandykite patys, aš nesu Perl žaidėjas)
  • Notepad iš standartinio Windows paketo arba bet kurio kito ASCII redaktoriaus
  • Thinstation. , failas (8,86 MB) (visai įmanoma, kad veiks kitas failas)
  • Windows 2000 Server diegimo diskas
  • Tiesios rankos, noras mokytis :)

Pradėkime

1 žingsnis

Atsisiųskite ir išpakuokite konvertavimo įrankį. Aiškumo dėlei, D:\BootDisk\.

2 žingsnis

Atsisiųskite ir įdiekite „Perl“.

3 veiksmas

Sukurkite diskelio vaizdą arba naudokite paruoštą vaizdą.

  • Jei failo pavidalu nėra įkrovos diskelio vaizdo, įdėkite įkrovos diskelį su MS-DOS ir vykdykite komandą D:\BootDisk\MKIMAGE.BAT DOS. Palaikomi standartiniai 1,44 Mb diskai.
  • Jei vaizdas jau yra, modifikuojame įkrovos vaizdo kūrimo failą.
    1. Atidarykite užrašų knygelę ir nukopijuokite / parašykite šį kodą
      @echo išjungtas
      cd mknbi-1.4.1-win
      perl.exe mknbi.pl --nosquash --format=nbi --target=dos ..\image.dos >..\dos.bin
      rem Jei norite universalumo, komentuokite viršutinėje eilutėje (pridėkite REM)
      rem ir panaikinkite apatinį komentarą (pašalinkite REM) (veikia MKIMAGE2 image_name_with_extension)
      rem perl.exe mknbi.pl --nosquash --format=nbi --target=dos ..\%1 >..\dos.bin
      cd..
      :galas
      Išsaugome jį pavadinimu MKIMAGE2.BAT
    2. Nukopijuokite diskelio vaizdą pavadinimu D:\BootDisk\image.dos
    3. Paleiskite failą MKIMAGE2.BAT

4 veiksmas

Laukiame, kol paketinis failas baigs savo darbą. Tikrinama, ar dydis dos.bin didesnio dydžio vaizdas.dos maždaug 4 kb.

5 veiksmas

Išpakuokite Thinstation. Iš archyvo mums reikia failo TFtpdRoot\ thinstation.nbi.zpxe. Nukopijuokite jį į D:\BootDisk\ su pavadinimu dos.bin.zpxe. Tai PXE įkrovos programa.

6 veiksmas

Sukonfigūruokite DHCP (jei sukonfigūruota, pereikite prie 7 veiksmo). Aš turiu Win 2000 Server, todėl aš jį aprašysiu.

Jei DHCP neįdiegtas, pirmiausia jį reikia įdiegti. ( Valdymo skydas> - Programų diegimas ir pašalinimas- , tada pasirinkite Tinklo paslaugos, Junginys ir pažymėkite langelį DHCP).

DHCP konfigūravimas. Kontrolės skydelis - Administracija, paleisti DCHP įranga. Pasirinkite DHCP serveris kurį norime sukonfigūruoti. Tada kontekstiniame meniu pasirinkite Sukurkite sritį. Pasirodžiusiame vedlyje įveskite srities pavadinimą ir komentarą. Duokite prasmingus vardus, kad po poros metų kitas adminas arba jūs patys tai išsiaiškintumėte. Tada įvedame pradžios ir pabaigos adresus, kuriuos norime platinti per DHCP. Didžiausia talpa priklauso nuo vienu metu sumontuotų mašinų skaičiaus. Jei į adresų diapazoną įtrauktas statinis adresas, galite įvesti jį į išimčių sąrašą kitame puslapyje. Toliau savo nuožiūra. Sukūrę sritį srityje Sritys parinktys, turite sukonfigūruoti parametrus 066 IP serveriai Ir 067 Failo pavadinimas Dėl pakrovimo. Pagal parametrą 067 įveskite vardą dos.bin.zpxe.

7 veiksmas

RIS diegimas ir konfigūravimas

Kontrolės skydelis - Programų diegimas ir pašalinimas - „Windows“ komponentų pridėjimas ir pašalinimas, pažymėkite varnelę Nuotolinio paleidimo paslauga. Baigę diegti, eikite į Administracija - Paslaugos ir paleiskite paslaugą Supaprastintas FTP demonas.

8 veiksmas

Nukopijuokite failus į C:\tftpdroot dos.bin.zpxe Ir dos.bin.

9 veiksmas

Nustatome kompiuterį paleisti iš tinklo adapterio per PXE ir bandome paleisti.
Jei viskas normalu, paleidžiamas kompiuteris ieškos DHCP serverio, tada įkrovos įkroviklis parodys, kad priskirtas IP adresas ir pradėtas paleidimas iš vaizdo.

Pagrindiniai užrašai

Norėdami redaguoti / sukurti diskelio vaizdą, galite naudoti WinImage, Total Commander įskiepį

0. Įvadas
Atsisiuntimas per tinklą yra labai patogus, o dažnai net tiesiog nepakeičiamas dalykas. Jums nereikia atidaryti kompiuterio korpuso (kartais tai nėra taip paprasta, kaip naudojant įprastus asmeninius kompiuterius), jums nereikia cdromo, nereikia nemokamo ide laido, nereikia diskelių įrenginys, jums nereikia USB.
Pakrovimo sistemą lengva pakeisti – nereikia jos niekur „įkelti“ ar užsirašyti. Tai tik katalogas.
Kažkodėl daugelis bijo ir vengia šios temos. Atrodo, kad tai sudėtingas, problemiškas ir sunkiai įgyvendinamas dalykas. Iš tikrųjų viskas, kaip ir visa kita, kas išradinga, yra paprasta.

1. Ko reikia norint paleisti Linux kompiuteryje per tinklą?

  • Įrenginys turi turėti tinklo plokštę, kuri palaiko „Intel“ PXE. Yra keletas kitų tinklo įkrovos protokolų, tačiau PXE yra labiausiai paplitęs ir praktiškai yra numanomas tinklo įkrovos protokolas.
  • Sukonfigūruota Linux sistema (vadinkime ją pagrindiniu kompiuteriu), kuri išduos IP adresą ir turės įkrovos branduolį bei patį sistemos vaizdą. Tiesą sakant, tai nebūtinai gali būti „Linux“ sistema, tačiau šioje instrukcijoje tai bus numanoma.
  • Ethernet tinklas. Pagrindinis įrenginys ir nukentėjusioji mašina gali būti sujungti naudojant paprastą kryžminį kabelį arba naudojant įprastinius metodus. :)
  • Žinant aukos mašinos MAC adresą. Galite peržiūrėti jį iš DHCP serverio žurnalų arba perrašyti tiesiai iš ekrano tuo metu, kai prasideda paleidimas per PXE, arba galite apsieiti be jo ir sukonfigūruoti DHCP serverį taip, kad jis visiems be atodairos išduotų reikiamą IP ir vaizdą. . Tačiau tai visiškai kitokia istorija (gerai aprašyta „Google“) ir ji peržengia šios instrukcijos taikymo sritį.

2. Kaip veikia tinklo atsisiuntimo procesas?
Greitas atsakymas: Tinklas automatiškai sukonfigūruojamas per dhcp, bootloader įkeliamas per tftp, kuris įkelia branduolį per tftp, kuris įkelia likusią šakninę sistemą per nfs.
Išsamus atsakymas: Pirmas dalykas, kurį mašina su įdiegta PXE įkrova daro paleidžiant, yra DHCP transliacijos užklausos siuntimas į tinklą, ieškantį serverio. Pagrindinis kompiuteris, kuriame DHCP demonas ramiai miega, pateikia adresą ir kelią į įkrovos tvarkyklės failą. PXE įkrovos ROM, remdamasi gauta informacija, sukonfigūruoja tinklo adapterį. Jei viskas klostosi gerai, įkrovos įkroviklis įkeliamas per TFTP protokolą ir perima tolesnę įvykių eigą. Bendroje schemoje įvykiai vystosi toliau taip – ​​naudojant tą patį TFTP protokolą įkeliamas specialiai įkelti per tinklą paruoštas Linux branduolys. Tokiu atveju įkrovos įkroviklis perduoda branduoliui reikalingus parametrus, kad būtų galima įkelti per NFS protokolą. Branduolys, po įkėlimo, prijungia nfs skaidinį prie pagrindinio kompiuterio ir paleidžia sistemą iš ten.

3. Kaip visa tai nustatyti ir sukurti nuo nulio?
Tikras klausimas :)
Juk mums reikia:
a) įdiegti, sukonfigūruoti ir veikia dhcp, tftp ir nfs serveriai
b) įkrovos įkroviklis ir paruoštas šakninės sistemos vaizdas, į kurį galima chroot ir pagal poreikį konfigūruoti, įdiegti/pridėti paketus ir pan.
c) branduolys, paruoštas įkelti per tinklą.
Taigi, taškas po taško, darant prielaidą, kad mūsų sistema yra „Debian“ (ir džiaugiamės, kad kažkada teisingai pasirinkome platinimą) ir kad visus susijusius failus patalpinsime į /tftpboot katalogą:

0. Katalogų kūrimas ir pxelinux įkrovos tvarkyklės įdiegimas.
Pirmiausia sukurkime ir apibrėžkime katalogus.
Tegul mūsų „pagrindinis“ katalogas yra /tftpboot.
Jis turės du pakatalogius: boot/ (su šaknine sistema) ir pxelinux.cfg/ (su įkrovos įkrovos nustatymais)

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

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

0 serijos raginimas 1 skirtasis laikas 99 numatytoji pxeboot etiketė pxeboot branduolys bzImage apend ip=dhcp nfsroot=192.168.150.126:/tftpboot/boot root=/dev/nfs init=/sbin/init

Jo sintaksė panaši į lilo.conf. Komentarų, atrodo, irgi nereikia.
Jei reikia sukurti skirtingas konfigūracijas skirtingiems įrenginiams, galite sukurti failus kiekvienam MAC adresui atskirai, o ne pagal numatytuosius nustatymus. Daugiau apie tai galite perskaityti pxelinux puslapyje.

1. Šakninės failų sistemos kūrimas
Tai įdomiausias klausimas. Čia verta suformuluoti aiškų problemos teiginį – kam ta sistema bus reikalinga? Kokia programinė įranga turėtų būti, kokia aparatinė įranga veiks ir pan.
Iš esmės paprasčiausiam atsisiuntimui pakanka minimalios poros megabaitų sistemos. „Google“ yra daugybė vaizdų ir vadovų, kaip juos sukurti.
Tai gali būti gelbėjimo sistema, ko nors montuotojas arba visavertė darbalaukio sistema.
Mano atveju man reikia, kad sistema būtų paleista beveik bet kurioje aparatinėje įrangoje ir paleistų savo diegimo programą. Kadangi man nerūpi erdvė, nusprendžiau tiesiog įdiegti numatytąją minimalią debiano sistemą. Džiaugiuosi, kad kartą pasirinkau tinkamą paskirstymą, tai padaryti buvo labai paprasta:

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

Kai baigsite, kataloge /tftpboot/boot bus pilnai veikianti, funkcionali ir paleidžiama sistema, sverianti maždaug 140 MB. Galite prisijungti prie šio katalogo, įdiegti ir pašalinti paketus, keisti rc scenarijus ir apskritai daryti viską, ką norite. Tai kaip Linux sistemoje.

2. Branduolio sukūrimas.
Kad branduolį būtų galima įkelti per tinklą, jį surenkant reikia kelių sąlygų:
a) įgalinkite parinktį "Tinklo parinktys -> IP: automatinė konfigūracija -> dhcp" (įvairiapusiškumui geriau įjungti ir visas parinktis)
b) įjungti NFS failų sistemos palaikymą
c) įjunkite „FS->Tinklo failų sistemos->Root Over NFS“.
Tai yra privaloma specifikos dalis. Likusi dalis yra jūsų nuožiūra. Ko reikia šiame branduolyje, ko nereikia. Geriau negailėti dydžio ir sukompiliuoti į jį daugiau tvarkyklių, visiškai išjungdami modulius, kad nereikėtų dviejų etapų įkėlimo ir initrd failo.

3. DHCP nustatymas.
Įdiekite serverį:

# apt-get install dhcpd

Redaguojame savo tinklo konfigūracijos failą (/etc/dhcpd.conf) ir pridedame įrašą mūsų nukentėjusiam kompiuteriui:

Priegloba pxeboot (aparatinės įrangos eternetas 08:00:0e:aa:bb:cc; fiksuotas adresas 192.168.150.127; failo pavadinimas „/tftpboot/pxelinux.0“; )

Pratarmė.

Tai buvo sugalvota seniai. Bet kokiu atveju, praėjusio amžiaus pabaigoje (1998 m.) parašytame straipsnyje autorius tinklo įkrovimo idėją vadina sena. Ir tai nenuostabu, kad operacinės sistemos įkėlimas per tinklą yra bet kurio administratoriaus svajonė. Juk iš serverio įkeliama operacinė sistema visada bus „balta ir pūkuota“, užteks atlikti serverio įkrovos vaizdo pakeitimus ir atnaujinimus, o ne lakstyti su „flash drive“ per visą parką. kompiuteriai.

Kodėl tokia gera idėja nėra plačiai priimta? Dėl sudėtingumo? Ne! Tinklo įkrovos serveriai sukonfigūruojami gana paprastai, dažniausiai su vienu konfigūracijos tekstiniu failu, o žvelgdamas į priekį pasakysiu, kad lanboot_server konfigūracijos failų kūrimas vyksta automatiškai. Praktiškai tai reiškia, kad „įjunkite ir viskas“.

Ko reikės?

    Jei vietinis tinklas nesukonfigūruotas, sukonfigūruokite jį. Po to drąsiai duokite komandą lanboot start ir klientai galės paleisti.

    Norėdami sustabdyti, atitinkamai, lanboot stop. ALTLinux ir Ubuntu turėsite dirbti savo rankomis, įdiegti reikalingus dalykus ir juos sukonfigūruoti.

Tačiau ne viskas taip baisu. Lanboot paleisties scenarijus (/usr/sbin/lanboot) taip pat turėtų veikti kitose Linux sistemose, pavyzdžiui, Simply Linux (ALT) scenarijus sukūrė teisingus konfigūracijos failus ir serveris paleido, tik įkeldamas failus į "TFTP katalogą" ( /var/lib/tftpboot) nepasirodė, ir tai nenuostabu, nes iš kur ALTLinux yra PuppyRus failai.

Tęskime.

Iš ko jis surinktas?

Norėdami paleisti Linux per tinklą, mums reikia tftp serverio (naudojamas tftp-hpa-5.0), bootp arba dhcp (aš pasirinkau dhcp-4.1.1, nors pirmą kartą naudojau bootp) ir inetd arba xinetd (aš pasirinkau inetd, tai yra paprastesnis).

Kaip sukonfigūruoti.

1.Boot

    Paprasčiausias.

    Pateikiamas IP, susietas su kliento MAC adresu.

    Todėl jis gali būti naudojamas tik tinkluose su nuolatiniu mašinų parku.

Pavyzdys /etc/bootptab

Naudojami parametrai:

Td - TFTP katalogas (failai bus atsisiunčiami iš čia) - rp - šakninis kelias (kelias į serverio šaknį) - bf - įkrovos failas (atsisiunčiamas failas) - sa - įkrovos serverio adresas (TFTP serverio IP) - sm - - potinklio kaukė (potinklio kaukė) - gw - šliuzai (šliuzai) - į - laiko poslinkis (sekundėmis) - ha - aparatinės įrangos adresas (aparatinė įranga, taip pat žinomas kaip MAC adresas) # Galite rašyti stulpelyje arba viename linija. # Visiems klientams bendri nustatymai: .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: #or so.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: # Klientų nustatymai kituose potinkluose: #.subnet1:sm=255.255.255.0:gw=192.168.0.1:tc=.default: # Individualūs kiekvieno kliento nustatymai (pavyzdžiai): #notick:tc=.default:ha=00140B016592:ip=192.168.1.4: #sharick:tc=.default:ha=0123456789ab:ip=192.168.1.2 #bobick:tc=5492707. :ip=192.168.1.5 # ir kt.

2. Dhcpd

Pilnas dhcp serveris.

Pavyzdys /etc/dhcpd.conf

# dhcpd.conf # # Naudokite tai norėdami įjungti / išjungti dinaminius DNS naujinimus visame pasaulyje. ddns-update-style jokio; potinklis 192.168.1.0 tinklo kaukė 255.255.255.0 (pasirinktis maršrutizatoriai 192.168.1.1; parinktis potinklio kaukė 255.255.255.0; parinktis transliacijos adresas 192.168.1.255; diapazonas dynamic-bootp.1.6.1.6.1 21600 numatytoji nuomos trukmė; nuomos laikas 43200 failo pavadinimas "pxelinux.0";

3.TFTP

Failų serveris su supaprastintu protokolu.

Pavyzdys /etc/exports

#Katalogai leidžiami tftp įkrovimui ir nfs prijungimui (no_root_squash – root naudotojas leidžiamas) /var/lib/tftpboot 192.168.1.0/255.255.255.0(ro,no_root_squash,sync)

4. Inetd

Mes naudojame jį tftp serveriui ir įkrovos serveriui paleisti. Tačiau ji taip pat gali paleisti kitas paslaugas. Konfigūracijos failas /etc/inetd.conf. Failas ilgas, „visoms progoms“. Todėl cituojamos tik būtinos eilutės.

Pavyzdys /etc/inetd.conf.

# Ši eilutė paleidžia tftp serverį tftp dgram udp laukti šaknį /usr/sbin/in.tftpd in.tftpd -s /var/tftpboot # Ši eilutė paleidžia įkrovos serverį bootps dgram udp laukti root /usr/sbin/bootpd bootpd -i

5.Xinetd

Funkcijos yra tokios pačios kaip inetd, tačiau nustatymai yra sudėtingesni. Įdiegta Altlinux.

Pavyzdys /etc/xinetd.conf

# # Paprastas xinetd konfigūracijos failas # # Kai kurie numatytieji nustatymai, įskaitant /etc/xinetd.d/ defaults ( log_type = SYSLOG authpriv info; log_on_success = PID HOST DURATION; log_on_failure = HOST; egzemplioriai = 100; per_source = 5; only_from.0 = 12 .0.1; ) includeir /etc/xinetd.d Kiekvienai paleistai programai į /etc/xinetd.d įdedamas atskiras konfigūracijos failas. naudojant trivialų failų perkėlimo\#protocol. tftp protokolas dažnai naudojamas darbo stotims be diskų paleisti, konfigūracijos failams atsisiųsti į tinklą veikiančius spausdintuvus ir kai kurių operacinių sistemų diegimo procesui pradėti. paslauga tftp ( išjungti = ne; socket_type = dgram; protokolas = udp; laukti = taip; vartotojas = root; serveris = /usr/sbin/in.tftpd; server_args = -u tftp -s /var/lib/tftpboot; per_source = 11 cps = 100 2 vėliavėlės = tik IPv4_nuo = 192.168.1.0 )

Automatinis nustatymas.

Automatiniam konfigūravimui kintamieji paimami iš standartinių Linux ifconfig ir maršruto komandų išvesties. Todėl juos galima gauti bet kurioje „Linux“.

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 ":") vartai=$(maršrutas | grep UG | cut -f 10 -d " ") potinklis=$(maršrutas | grep " U " | cut -f1 -d " ")

Šie kintamieji įrašomi į atitinkamas vietas konfigūracijos failo šablonuose, esančiuose lanboot scenarijuje. Kai scenarijus vykdomas, kintamųjų reikšmės pakeičiamos į šabloną ir taip sugeneruotas konfigūracijos failas siunčiamas „į paskirties vietą“. Taip išvengsite įprastų darbų ir žmogiškųjų klaidų. Vienintelė būtina sąlyga: tinklas turi būti sukonfigūruotas, kitaip iš kur bus kintamosios reikšmės?

Lanboot scenarijus taip pat nukopijuoja PuppyRus failus į TFTP katalogą: vmlinuz, initrd.gz ir pup*-200.sfs, kurie reikalingi paleidimui. Failai paimti iš operacinės sistemos, kurioje veikia serveris, ir jei ši sistema nėra PuppyRus, tai nėra iš kur jų paimti. Todėl kitose „Linux“ sistemose minėtus failus reikia įdėti į /var/lib/tftpboot rankiniu būdu (kopijuojant).