4.4. Pregătirea fișierelor pentru pornirea prin rețea utilizînd TFTP

Dacă mașina dvs. este conectată la o rețea locală, este posibil s-o puteți porni prin rețea de pe o altă mașină, utilizând TFTP. Dacă intenționați să porniți sistemul de instalare de pe o altă mașină, fișierele de pornire vor trebui să fie plasate în anumite locații de pe acea mașină, iar mașina să fie configurată să accepte pornirea mașinii dvs. specifice.

Trebuie să configurați un server TFTP și, pentru multe mașini, un server DHCP sau un server RARP sau un server BOOTP, de asemenea.

Protocolul de rezoluție inversă a adreselor („Reverse Address Resolution Protocol”: RARP) este o modalitate de a spune clientului dvs. ce adresă IP să folosească pentru el însuși. O altă modalitate este să utilizați protocolul BOOTP. BOOTP este un protocol IP care informează un calculator despre adresa sa IP și de unde poate obține o imagine de pornire din rețea. Protocolul de configurare dinamică a gazdei („Dynamic Host Configuration Protocol”: DHCP) este o extensie mai flexibilă, compatibilă cu versiunea inversă a BOOTP. Unele sisteme pot fi configurate numai prin DHCP.

Protocolul de transfer de fișiere trivial („Trivial File Transfer Protocol”: TFTP) este utilizat pentru a transfera imaginea de pornire către client. Teoretic, poate fi folosit orice server, pe orice platformă, care implementează aceste protocoale. În exemplele din această secțiune, vom furniza comenzi pentru SunOS 4.x, SunOS 5.x (alias Solaris) și GNU/Linux.

4.4.1. Configurarea serverului RARP

Pentru a configura RARP, trebuie să cunoașteți adresa Ethernet (cunoscută și sub numele de adresa MAC) a calculatoarelor client care urmează să fie instalate. Dacă nu cunoașteți aceste informații, puteți porni în modul Recuperare (Rescue) și să utilizați comanda ip addr show dev eth0.

Pe un sistem server RARP care utilizează un nucleu Linux sau Solaris/SunOS, utilizați programul rarpd. Trebuie să vă asigurați că adresa plăcii Ethernet pentru client este listată în baza de date ethers (fie în fișierul /etc/ethers, fie prin NIS/NIS+) și în baza de date hosts (gazde). Apoi trebuie să porniți demonul RARP. Lansați comanda (ca root): /usr/sbin/rarpd -a pe majoritatea sistemelor Linux și SunOS 5 (Solaris 2), /usr/sbin/in.rarpd -a pe alte sisteme Linux sau /usr/etc/rarpd -a în SunOS 4 (Solaris 1).

4.4.2. Configurarea unui server DHCP

Un server DHCP cu software liber este ISC dhcpd. Pentru Debian GNU/Linux, este recomandat pachetul isc-dhcp-server. Iată un exemplu de fișier de configurare pentru acesta (consultați „/etc/dhcp/dhcpd.conf”):

option domain-name "exemplu.com";
option domain-name-servers ns1.example.com;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name "numele-serverului";

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.200 192.168.1.253;
  option routers 192.168.1.1;
}

host clientname {
  filename "/tftpboot.img";
  server-name "numele-serverului";
  next-server numele-serverului;
  hardware ethernet 01:23:45:67:89:AB;
  fixed-address 192.168.1.90;
}

În acest exemplu, există un server numele-serverului care realizează toată munca serverului DHCP, serverului TFTP și a pasarelei de rețea (porții de acces la rețea). Aproape sigur va trebui să schimbați opțiunile de nume de domeniu, precum și numele serverului și adresa plăcii Ethernet a clientului. Opțiunea nume fișier trebuie să fie numele fișierului care va fi preluat prin TFTP.

După ce ați editat fișierul de configurare al demonului dhcp „dhcpd”, reporniți-l cu comanda: /etc/init.d/isc-dhcp-server restart.

4.4.3. Configurarea unui server BOOTP

Există două servere BOOTP disponibile pentru GNU/Linux. Primul este CMU bootpd. Celălalt este de fapt un server DHCP: ISC dhcpd. În Debian GNU/Linux acestea sunt conținute în pachetele bootp și, respectiv, isc-dhcp-server.

Pentru a utiliza CMU bootpd, trebuie mai întâi să decomentați (sau să adăugați) linia relevantă în fișierul /etc/inetd.conf. În Debian GNU/Linux, puteți rula: update-inetd --enable bootps, și apoi /etc/init.d/inetd reload, pentru a face acest lucru. În cazul în care serverul dvs. BOOTP nu rulează Debian, linia în cauză ar trebui să arate astfel:

bootps  dgram  udp  wait  root  /usr/sbin/bootpd  bootpd -i -t 120

Acum, trebuie să creați un fișier /etc/bootptab. Acesta are același tip de format familiar și criptic ca vechile fișiere BSD printcap, termcap și disktab. Consultați pagina de manual bootptab pentru mai multe informații. Pentru CMU bootpd, va trebui să știți adresa plăcii Ethernet (MAC) a clientului. Iată un fișier /etc/bootptab de exemplu:

client:\
  hd=/tftpboot:\
  bf=tftpboot.img:\
  ip=192.168.1.90:\
  sm=255.255.255.0:\
  sa=192.168.1.1:\
  ha=0123456789AB:

Va trebui să schimbați cel puțin opțiunea ha, care specifică adresa plăcii Ethernet a clientului. Opțiunea bf specifică fișierul pe care un client ar trebui să îl recupereze prin TFTP; consultați Secțiune 4.4.5, „Mutați Imaginile TFTP la locul lor” pentru mai multe detalii.

Prin contrast, configurarea BOOTP cu ISC dhcpd este foarte ușoară, deoarece tratează clienții BOOTP ca pe un caz moderat special de clienți DHCP. Unele arhitecturi necesită o configurație complexă pentru pornirea clienților prin BOOTP. Dacă cea a dvs. este una dintre acestea, citiți secțiunea Secțiune 4.4.2, „Configurarea unui server DHCP”. În caz contrar, probabil că veți putea scăpa adăugând pur și simplu directiva allow bootp la blocul de configurare pentru subrețeaua care conține clientul în fișierul /etc/dhcp/dhcpd.conf, și să reporniți dhcpd cu comanda /etc/init.d/isc-dhcp-server restart.

4.4.4. Activarea serverului TFTP

Pentru a pregăti serverul TFTP, mai întâi trebuie să vă asigurați că tftpd este activat.

În cazul tftpd-hpa există două moduri în care serviciul poate fi rulat. Poate fi pornit la cerere de demonul inetd al sistemului sau poate fi configurat să ruleze ca un demon independent. Care dintre aceste metode este utilizată este selectată atunci când pachetul este instalat și poate fi schimbată prin reconfigurarea pachetului.

[Notă] Notă

Din punct de vedere istoric, serverele TFTP foloseau /tftpboot ca director din care să servească imagini. Cu toate acestea, pachetele Debian GNU/Linux pot folosi alte directoare pentru a se conforma cu Standardul de ierarhie a sistemului de fișiere („Filesystem Hierarchy Standard”: FHS). De exemplu, tftpd-hpa utilizează în mod implicit directorul /srv/tftp. Poate fi necesar să ajustați exemplele de configurare din această secțiune în consecință.

Toate alternativele in.tftpd disponibile în Debian ar trebui să înregistreze cererile TFTP în jurnalele de sistem în mod implicit. Unele dintre ele acceptă un argument -v pentru a crește nivelul de detalii al informațiilor. Este recomandat să verificați aceste mesaje de jurnal în cazul unor probleme de pornire deoarece sunt un bun punct de plecare pentru diagnosticarea cauzei erorilor.

4.4.5. Mutați Imaginile TFTP la locul lor

După aceea, plasați imaginea de pornire TFTP de care aveți nevoie, așa cum se găsește în Secțiune 4.2.1, „Unde găsiți fișierele de instalare”, în directorul de imagini de pornire tftpd. Poate fi necesar să faceți o legătură de la acel fișier către fișierul pe care tftpd îl va folosi pentru pornirea unui anumit client. Din păcate, numele fișierului este determinat de clientul TFTP și nu există standarde stabilite.