Pornirea în rețea cu Linux – PXE

Acest articol este oarecum înrudit cu cel precedent, în sensul că tratează subiectul pornirii și instalării Linux folosind rețeaua, fie ea locală sau nu. De data aceasta vom trata instalarea Linux fără suporturi optice, dischete sau alte suporturi detașabile, folosind doar rețeaua locală. Este de așteptat să aveți cel puțin două calculatoare în rețea, iar clientul va avea nevoie de o NIC și de un BIOS capabil să folosească PXE. Vă vom ghida de la început până la sfârșit, dar sunt necesare câteva cunoștințe de bază despre rețele și configurare Linux, precum și utilizarea unui editor la alegere. Veți învăța ce este PXE, cum să configurați un server DHCP, cum să configurați un server TFTP pentru ca clientul să aibă acces la fișiere, plus o mulțime de lucruri interesante, ca de obicei.

PXE

PXE (pronunțat „pixie”) înseamnă Preboot eXecution Environment și a fost introdus de Intel și Systemsoft în 1999. Pe scurt, este o capabilitate pe care o au majoritatea plăcilor de rețea și BIOS-urilor moderne, care permite sistemului să pornească de pe LAN, la fel cum ar porni de pe hard disk sau CD-ROM. Suportul PXE trebuie să fie prezent în firmware-ul NIC-ului care, dacă este configurat corespunzător în BIOS, va obține o adresă IP de la serverul PXE și va descărca imaginile de pornire necesare. Pentru ca o adresă IP să fie disponibilă, serverul trebuie să ofere DHCP. După ce o adresă IP este închiriată, serverul TFTP (care poate fi aceeași cutie ca și serverul DHCP) distribuie fișierele necesare către client, astfel încât acesta să le poată porni după încărcare. Aceasta este întreaga idee, așa că destulă vorbărie, să trecem la treabă, da?

Instalarea instrumentelor necesare și configurarea

Înainte de a începe, este important să înțelegem cum este configurată rețeaua pe care am testat acest lucru. Serverul este o mașină Debian cu două plăci de rețea, iar distribuția pe care o vom instala este tot Debian, și anume Squeeze, amd64. Puteți folosi orice altă distribuție, dar probabil că unele locații ale fișierelor de configurare vor fi diferite. Acest articol nu se ocupă de modul în care veți configura sursele software pentru instalarea propriu-zisă. Vă vom duce doar la un debian-installer funcțional și cam atât. Veți găsi o mulțime de tutoriale despre cum să configurați un depozit Debian local sau despre cum să configurați un gateway pe Linux.

Deci, lista de verificare : vom avea nevoie de un server DHCP, de un server TFTP și de initrd și imaginea kernelului care să fie transferate către client. Am ales o abordare destul de neobișnuită în configurația noastră, și veți vedea de ce.

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

Așadar, routerul oferă adrese DHCP (router mic, de casă) sub forma 192.168.0.x . Serverul, care va distribui de asemenea adrese DHCP, are conexiunea exterioară prin eth0 și conexiunea interioară pentru client prin eth1. Clientul are singura conexiune Ethernet direct la serverul PXE, dar asta nu înseamnă că nu puteți configura serverul ca gateway pentru netinstall sau că nu puteți adăuga o altă NIC la client pentru accesul exterior. Există o mulțime de posibilități, problema importantă la îndemână este pornirea prin PXE. Să începem prin a instala serverul TFTP.

ABONEAZĂ-TE LA NEWSLETTER & RSS
Abonează-te la RSS și NEWSLETTER și primește cele mai recente știri despre Linux, locuri de muncă, sfaturi de carieră și tutoriale.

TFTP

TFTP înseamnă Trivial File Transfer Protocol (protocol trivial de transfer de fișiere) și este „limbajul” de facto când vine vorba de transferul de fișiere pentru a fi utilizate cu PXE. Pe Debian, îl instalăm astfel:

 # aptitude install tftpd-hpa

Acum trebuie să-l configurăm corespunzător. Înainte de orice, în exemplul nostru vom rula tftpd standalone, ceea ce înseamnă că nu vom folosi xinetd. Configurația va fi diferită dacă intenționați să folosiți xinetd, iar noi nu vă recomandăm acest lucru. Acum tot ce trebuie să facem este să edităm /etc/default/tftpd-hpa :

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

Să ne asigurăm că directorul de mai sus există și să pornim daimonul:

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

DHCP

Trebuie să oferim clientului o adresă înainte de a începe instalarea prin rețea, iar acest lucru se face prin utilizarea Dynamic Host Configuration Protocol. Serverul DHCP are un grup de adrese din care oferă IP-uri atunci când este solicitat. Se instalează partea de server cu

 # aptitude install dhcp3-server

Acum trebuie să setăm informațiile de rețea ale lui eth1, care se găsesc în /etc/network/interfaces :

allow-hotplug eth1iface eth1 inet staticaddress 192.168.1.2netmask 255.255.255.0

Reporniți rețeaua și suntem aproape gata:

 # ifdown eth1 # ifup eth1

Configurarea PXE

Acum trebuie să configurăm fișierul pe care clientul îl va solicita, un fișier în care îi vom spune cum să găsească ceea ce are nevoie. Așadar, să creăm directorul pxelinux.cfg :

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

și să creăm un fișier numit „default” care va avea următorul conținut:

Vedeți o referință la fișierul boot.txt , așa că creați-l în /var/lib/tftpboot și adăugați-i linia „squeeze_amd64_install”.

Acum, pentru a copia fișierele necesare undeva pentru a fi găsite de către client:

Acum, în speranța că totul este în regulă, puteți doar să vă porniți clientul și să modificați setările BIOS-ului său pentru pornirea prin rețea. Înainte de a termina, vă datorăm o explicație pentru această configurație de rețea pe care am ales-o. Probabil că am fi putut să o facem mai simplă, cum ar fi să folosim direct conexiunea ISP-ului nostru și să putem accesa și rețeaua (internetul). Ideea este că serverul PXE din scenariul nostru nu-și poate obține adresa IP (eth0) de la DHCP, deoarece această configurație nu va funcționa: dacă nu veți folosi scenariul cu două NIC-uri pe server, așa cum am făcut noi, aveți nevoie de un fel de adresă IP fixă. Așadar, posibilitățile ar fi: ISP conectat direct, setați routerul pentru a oferi doar IP-uri statice, faceți din serverul PXE/DHCP/TFTP și un gateway sau creați un depozit local. Noi am ales cea din urmă variantă deoarece se potrivește cel mai bine topologiei și scopurilor noastre și, de fapt, implică doar configurarea unui server web pe LAN. Dacă am fi explicat toate opțiunile, inclusiv iptables pentru un gateway sau apache pentru un server HTTP, acest articol ar fi fost imens. În schimb, am preferat să ne ținem de titlu și să vă oferim exact asta: Pornirea în rețea cu Linux.

Rețineți că acesta este doar un exemplu: ca și în cazul NetbootCD, puteți adăuga câte distribuții doriți, cu condiția să aveți spațiul necesar pe server.

Gânduri finale

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.