Verkkokäynnistys Linuxilla – PXE

Tämä artikkeli liittyy jonkin verran edelliseen artikkeliin, sillä se käsittelee Linuxin käynnistämistä ja asentamista verkon avulla, olipa se sitten paikallinen tai ei. Tällä kertaa käsittelemme Linuxin asentamista ilman optista, levykettä tai muuta irrotettavaa mediaa, pelkästään lähiverkkoa käyttäen. Verkossasi pitäisi olla vähintään kaksi tietokonetta, ja asiakas tarvitsee verkkokortin ja BIOSin, joka pystyy käyttämään PXE:tä. Opastamme sinua alusta loppuun, mutta joitakin perustietoja verkkoyhteyksistä ja Linux-konfiguraatioista sekä valitsemasi editorin käyttö vaaditaan. Opit, mikä PXE on, miten DHCP-palvelin konfiguroidaan, miten TFTP-palvelin konfiguroidaan, jotta asiakas pääsee käsiksi tiedostoihin, sekä paljon mielenkiintoisia asioita, kuten tavallista.

PXE

PXE (lausutaan ”pixie”) on lyhenne sanoista Preboot eXecution Environment (Preboot eXecution Environment), ja sen ottivat käyttöön Intelin ja Systemsoftin edustajat vuonna 1999. Lyhyesti sanottuna se on useimmissa nykyaikaisissa verkkokorteissa ja BIOSeissa oleva ominaisuus, jonka avulla järjestelmä voi käynnistyä lähiverkosta aivan kuten se käynnistyy kiintolevyltä tai CD-ROMilta. PXE-tuki on oltava verkkokortin laiteohjelmistossa, joka, jos se on määritetty vastaavasti BIOSissa, saa IP-osoitteen PXE-palvelimelta ja lataa tarvittavat käynnistyskuvat. Jotta IP-osoite olisi saatavilla, palvelimen on tarjottava DHCP:tä. Kun IP-osoite on vuokrattu, TFTP-palvelin (joka voi olla sama laatikko kuin DHCP-palvelin) jakaa tarvittavat tiedostot asiakkaalle, jotta se voi käynnistää ne lataamisen jälkeen. Siinä on koko idea, joten riittää puheet, ryhdytäänkö töihin?

Tarvittavien työkalujen asentaminen ja asetusten tekeminen

Ennen kuin aloitamme, on tärkeää ymmärtää, miten sen verkon asetukset, jossa testasimme tätä, on järjestetty. Palvelin on Debian-kone, jossa on kaksi verkkokorttia, ja jakelu, jonka asennamme, on myös Debian, nimittäin Squeeze, amd64. Voit käyttää mitä tahansa muuta jakelua, mutta luultavasti joidenkin asetustiedostojen sijainnit eroavat toisistaan. Tässä artikkelissa ei käsitellä sitä, miten ohjelmalähteet asetetaan varsinaista asennusta varten. Viemme sinut vain toimivaan debian-asennusohjelmaan ja siinä kaikki. Löydät paljon opetusohjelmia siitä, miten perustaa paikallinen Debian-tietovarasto tai miten konfiguroida yhdyskäytävä Linuxissa.

Tarkistuslista : tarvitsemme DHCP-palvelimen, TFTP-palvelimen sekä initrd:n ja ytimen kuvan siirrettäväksi asiakkaalle. Valitsimme asetuksessamme melko epätavallisen lähestymistavan, ja näet miksi.

 Outside world ------> Router ------> Switch ------>(eth0) Server(eth1) ------> Client

Reititin antaa siis DHCP-osoitteita (pieni, kotireititin) muodossa 192.168.0.x . Palvelimella, joka myös jakaa DHCP-osoitteita, on ulkoinen yhteys eth0:n kautta ja sisäinen yhteys asiakkaalle eth1:n kautta. Asiakkaalla on ainoa Ethernet-yhteys suoraan PXE-palvelimeen, mutta se ei tarkoita, ettetkö voisi määrittää palvelinta yhdyskäytäväksi netinstallille tai lisätä asiakkaaseen toisen verkkokortin ulkoista yhteyttä varten. Mahdollisuuksia on paljon, tärkeintä on käynnistys PXE:n kautta. Aloitetaan asentamalla TFTP-palvelin.

TILAA UUTISKIRJE & RSS
Tilaa RSS ja UUTISKIRJE ja vastaanota viimeisimmät Linux-uutiset, työpaikat, uraneuvonta ja opetusohjelmat.

TFTP

TFTP on lyhenne sanoista Trivial File Transfer Protocol (Triviaalinen tiedostonsiirtoprotokolla) ja se on de facto ”kieli”, kun on kyse tiedostojen siirtämisestä PXE:n kanssa käytettäväksi. Debianissa asennamme sen näin:

 # aptitude install tftpd-hpa

Jatkossa meidän on konfiguroitava se oikein. Ennen kaikkea, esimerkissämme ajamme tftpd:tä itsenäisesti, eli emme käytä xinetd:tä. Konfigurointi on erilainen, jos aiot käyttää xinetd:tä, emmekä suosittele sitä. Nyt meidän on vain muokattava /etc/default/tftpd-hpa :

#make sure these lines are presentRUN_DAEMON=yesTFTP_OPTIONS="-l -s /var/lib/tftpboot"

Varmennetaan, että yllä oleva hakemisto on olemassa, ja käynnistetään daemon:

 # mkdir -p /var/lib/tftpboot # /etc/init.d/tftpboot-hpa start

DHCP

Meidän on tarjottava asiakkaalle osoite, ennen kuin aloitamme asentamisen verkon välityksellä, ja tämä tapahtuu Dynamic Host Configuration Protocol -protokollan avulla. DHCP-palvelimella on joukko osoitteita, joista se tarjoaa pyydettäessä IP-osoitteita. Asennetaan palvelinosa komennolla

 # aptitude install dhcp3-server

Nyt meidän on asetettava eth1:n verkkotiedot, jotka löytyvät tiedostosta /etc/network/interfaces :

allow-hotplug eth1iface eth1 inet staticaddress 192.168.1.2netmask 255.255.255.0

Käynnistetään verkko uudelleen ja olemme melkein valmiita:

 # ifdown eth1 # ifup eth1

PXE:n konfigurointi

Meidän on nyt konfiguroitava tiedosto, jota asiakas pyytää, tiedosto, jossa kerromme sille, miten se löytää tarvitsemansa. Luodaan siis hakemisto pxelinux.cfg :

 # mkdir /var/lib/tftpboot/pxelinux.cfg 

ja luodaan tiedosto nimeltä ”default”, jonka sisältö on seuraava:

Näet viittauksen tiedostoon boot.txt , joten luo se tiedostoon /var/lib/tftpboot ja lisää siihen rivi ”squeeze_amd64_install”.

Kopioi nyt tarvittavat tiedostot jonnekin asiakkaan löydettäväksi:

Nyt, toivoen, että kaikki on kunnossa, voit vain käynnistää asiakkaasi ja muuttaa sen BIOS-asetuksia verkkokäynnistystä varten. Ennen kuin lopetamme, olemme sinulle selityksen velkaa valitsemastamme verkkoasetuksesta. Olisimme luultavasti voineet tehdä sen yksinkertaisemmaksi, kuten käyttää suoraan ISP:n yhteyttä ja päästä myös verkkoon (Internetiin). Ajatuksena on, että skenaariomme PXE-palvelin ei voi saada IP-osoitettaan (eth0) DHCP:stä, koska tämä asetelma ei toimi: jos et aio käyttää palvelimessa kahden verkkokortin skenaariota, kuten me teimme, tarvitset jonkinlaisen kiinteän IP-osoitteen. Mahdollisuudet ovat siis seuraavat: PXE/DHCP/TFTP-palvelimesta voidaan tehdä myös yhdyskäytävä tai luoda paikallinen tietovarasto. Valitsimme jälkimmäisen vaihtoehdon, koska se sopii parhaiten topologiaamme ja tarkoituksiimme, ja siihen kuuluu oikeastaan vain verkkopalvelimen perustaminen lähiverkkoon. Jos olisimme selittäneet kaikki vaihtoehdot, mukaan lukien iptables yhdyskäytäväksi tai apache HTTP-palvelimeksi, tämä artikkeli olisi ollut valtava. Sen sijaan pidimme mieluummin kiinni otsikosta ja annoimme sinulle juuri sen:

Muista, että tämä on vain esimerkki: kuten NetbootCD:n kanssa, voit lisätä niin monta jakelua kuin haluat, kunhan sinulla on tarvittava tila palvelimella.

Loppuajatuksia

Vastaa

Sähköpostiosoitettasi ei julkaista.