Agora
Media
Libraria Byblos



AgoraNews  





PC Magazine Ro  




NET Report   




Ginfo   




agora ON line   





PC Concrete   





Liste de discuții   




Cartea de oaspeți   




Mesaje   





Agora   








Clic aici
PC Report - ultimul numar aparut


Soluții - PC Magazine Romania, Septembrie  2002

Motto: "- Băiete, porți pistoalele prea jos !
- Vechiul șerif, Parker, le purta așa ...
- Știu. Șeriful Parker e mort."
(Henry Fonda instruind un proaspăt șerif, în filmul western Steaua de tinichea)

Numele trandafirului

Răzvan Sandu

 

Începând cu acest episod, vom pătrunde în detaliile sistemului de operare Linux abordând, unul câte unul, serviciile pe care acesta le oferă. Veți avea ocazia să descoperiți de ce Linux este un concurent atât de puternic pentru sistemele de operare comerciale: în distribuție primiți gratuit un set de unelte de nivel "profesional", care vă oferă o maximă flexibilitate și viteză de lucru. Nu în ultimul rând, veți putea să înțelegeți mecanismele interne de funcționare ale rețelelor private și internetului, mecanisme care, privite prin prisma altor platforme, vă sunt accesibile doar "din exterior".

Smog
Cei care au cât de cât experiență în Windows știu că, începând cu Windows 2000, Microsoft a făcut eforturi majore pentru a-și adapta propriul sistem de operare funcționării în internet. În această întrecere, firma din Redmond are de recuperat decalajul considerabil - "de cultură", aș putea zice - pe care-l are față de promotorii Unix, ocupanții tradiționali ai pieței serverelor și ai marilor noduri internet: în principal AT&T, Sun, Hewlett-Packard și uriașul IBM.

Lupta se anunță grea, fiindcă eficiența și flexibilitatea Unix-ului nu pot fi concurate ușor de un sistem ce-și are rădăcinile în tehnologiile primelor PC-uri single-user.

Pentru a se putea integra internetului, mașinile Windows trebuiau, în primul rând, să adopte mecanismele de adresare și denumire folosite pe rețeaua mondială. De mulți ani, aceste mecanisme sunt sinonime cu structura ierarhică de domenii și cu serviciul client-server Domain Name Service (DNS). Campionul tehnologiilor proprietare se vede astfel nevoit să se alinieze unor standarde bine cunoscute și care nu se află sub controlul său. Pentru utilizatorul final, rezultatul este unul singur: indiferent că administrați o mașină Windows sau una Linux, trebuie să vă familiarizați cu DNS - o zonă care, pentru mulți, era până nu demult o "pată albă".
Despre acest serviciu va fi vorba în cele ce urmează.

Istorie
Pentru a comunica într-o rețea cât de mică bazată pe TCP/IP, calculatoarele au nevoie să fie identificate unic prin adrese numerice. Conform standardului IPv4 (care va fi înlocuit în foarte scurt timp cu IPv6), o adresă numerică IP are forma unui număr exprimat pe 32 de biți, de forma 192.168.0.1.

Fiind numerice, adresele IP sunt perfecte pentru prelucrarea într-un sistem de calcul, dar greu de reținut pentru oameni. Aceștia preferă să denumească mașinile folosind nume. Pentru a introduce puțină ordine în marea de calculatoare răspândite în internet, numele au o structură ierarhică: mașina www.ibm.com. aparține domeniului organizațiilor comerciale (.com), respectiv firmei IBM și este serverul său de World Wide Web (www).

Aceasta introduce o nouă problemă: cum se pot asocia (în mod neechivoc) numele mașinilor cu adresele lor IP? Cum poate fi consultată această bază de date? Operația de găsire a adresei IP atunci când se cunoaște numele mașinii este cunoscută sub denumirea de rezolvare a numelui în sens direct (forward), iar cea contrară sub denumirea de rezolvare inversă (reverse). După cum bănuiți, acest mecanism este intens folosit și foarte important: este suficient să deschideți un browser web și să tastați în bara de adrese un nume ca www.debian.org pentru ca mașina dvs. să fie nevoită să găsească adresa IP a serverului căutat - altfel, nu veți putea primi pagina web stocată acolo.

În zilele de început ale internetului, soluția găsită era un simplu fișier text în care se scriau, linie cu linie, asocierile stabilite. Orice mașină Unix posedă un asemenea fișier: este fișierul /etc/hosts:

192.168.0.1 computer.firma.com.
192.168.0.2 server.sit.net.

Fișierul /etc/hosts este folosit și astăzi, dar numai în rețele mici, neconectate la internet. Pe măsura dezvoltării internetului, fișierul /etc/hosts căpăta o dimensiune uriașă și devenea dificil de sincronizat între mașinile participante în rețea. Gândiți-vă câte milioane de linii, fără nici o greșeală, ar trebui să posede un asemenea fișier în zilele noastre ! O altă soluție trebuia inventată rapid - una care să ofere flexibilitate și viteză ...

Botezătorul
Răspunsul a venit tot din zona marilor centre Unix (universități, noduri internet, sisteme bancare și militare) internet Software Consortium (www.isc.org) a dezvoltat programul bind, care, ajuns azi la versiunea 9, rămâne și acum cea mai folosită implementare a serviciului DNS, eficientă și bine standardizată. În paralel, Microsoft au adăugat și ei o versiune proprie a acestui serviciu, care se distribuie odată cu Windows 2000 Server.

Un domeniu reprezintă un grup de mașini ce aparțin aceleiași organizații, aceluiași grup sau aceleiași zone geografice. Exemple de domenii pot fi .com, domeniul firmelor comerciale, .mitedu., domeniul Institutului de Tehnologie din Massachussets sau .xnet.ro., domeniul unui furnizor de internet din România. Domeniul rădăcină (root), care le include pe toate celelalte, este notat cu un punct (.). Sub el, la primul nivel ierarhic, veți întâlni domenii importante, cum ar fi domeniul militar al Statelor Unite (.mil.), domeniul guvernamental (.gov.), domeniile geografice ca .ro., .de. sau .uk., domeniul administrativ al internetului (.net.), domeniul organizațiilor non-profit (.org.) ș.a. Pe a doua treaptă ierarhică, pot fi înregistrate domenii aparținând diverselor organizații sau state, cum ar fi .hp.com., fsf.org. sau pub.ro.. De obicei, la nivelul al treilea întâlniți deja numele mașinilor care aparțin unui anumit domeniu - www.protv.ro. este serverul web al postului de televiziune ProTV.

Se observă că domeniile (și numele lor) au structură ierarhică. Numele complet al unei mașini, care o identifică univoc - cum ar fi www.hp.com. (inclusiv punctul final) - poartă denumirea de Fully Qualified Domain Name (FQDN).

O zonă (care se suprapune întotdeauna peste un domeniu) reprezintă o grupare de mașini care se găsesc sub aceeași administrare. Spre exemplu, fizica.pub.ro. poate fi domeniul aparținând Laboratorului de Fizică al politehnicii din București și totodată o zonă, fiindcă administrarea denumirii calculatoarelor ce il alcătuiesc este delegată personalului de acolo.

Ping-pong în rețea
Un client DNS este o mașină care dorește să afle adresa IP a unei alte mașini pe baza numelui său (sau invers). Pentru asta, el contactează un server DNS (a cărui adresă IP trebuie să o cunoască în prealabil) pentru a obține răspunsul. Un server DNS poate conține mapările nume-IP pentru una sau mai multe zone (se spune că are autoritate asupra acelor zone). În acest caz, el le va comunica clientului. În caz contrar, va încerca să găsească, prin căutări recursive, serverul DNS care are autoritate pentru zona solicitată de client și va obține soluția de la acesta. Procesul poate fi complicat și poate genera mult trafic de rețea, dar este o metodă eficientă de căutare într-o bază de date distribuită. Desigur, folosirea unui server DNS dintr-o locație cât mai apropiată geografic de client va micșora încărcarea rețelei și va genera, probabil, răspunsuri mai rapide.

Pentru ca un client să poată beneficia întotdeauna de un serviciu DNS, se definesc servere DNS principale (master sau primary), care conțin definițiile zonelor aflate sub autoritatea lor și servere secundare (slave sau secondary) care nu fac decât să "copieze" aceste definiții. Redundanța mecanismului asigură întotdeauna un punct de salvare în cazul în care serverul DNS principal nu este accesibil sau când încărcarea rețelei este prea mare.

Practic ...
Proaspăt instalatul sistem Linux conține implicit serverul DNS bind pe care îl puteți utiliza pe rețeaua firmei, presupunând că tocmai v-ați înregistrat un domeniu de tipul firma.com. prin furnizorul dvs. de internet. Înregistrarea constă tocmai în a introduce în baza de date a furnizorului maparea între numele domeniului firma.com. și adresele IP ale serverelor de nume care vor opera pe rețeaua dvs. Astfel, toți clienții care vor căuta situl www.firma.com. vor ajunge - prin intermediul ISP-ului la care sunteți conectat - să "întrebe" serverele DNS din cadrul organizației dvs. Desigur, domeniul www. firma.com. poate rămâne și în administrarea ISP-ului, dar toate firmele mai mari vor dori să îl aibă sub propriul control (adică să creeze o nouă zonă).

Pentru a exploata bind, trebuie să creați mai întâi fișierele de configurare care îl comandă. Acestea sunt /etc/named.conf și fișierele-zonă aflate în directorul /var/named. Odată scrise aceste fișiere, nu vă rămâne decât să porniți daemonul named și serverul dvs. DNS este funcțional. Pe sistemul meu Red Hat, named poate fi pornit prin intermediul utilitarului ntsysv, o unealtă foarte comodă.

Listingul care urmează prezintă un exemplu de fișier /etc/named.conf, care este responsabil cu stabilirea parametrilor globali de configurare și cu listarea tuturor zonelor administrate de nameserver.

## named.conf - configuration for bind
#
# Generated automatically by bindconf, alchemist et al.
controls {
inet 127.0.0.1 allow { localhostc} keys { rndckey; };
};

include "/etc/rndc.key";

options {
directory "/var/named/";
};


zone "." {
type hint;
file "named.ca";
};


zone "0.0.127.in-addr.arpa" {
type master;
file "0.0.127.in-addr.arpa.zone";
};

zone "localhost" {
type master;
file "localhost.zone";
};

În fișierul de mai sus, puteți observa că serverul DNS instalat are autoritate (master) asupra zonelor localhost (un nume de gazdă fals, pentru calculatoare neconectate la internet), directă și 0.0.127.in-addr.arpa, inversă. Definiția acestor zone se găsește în fișierele cu același nume.
Un alt fișier important, pe care însă nu-l veți modifica niciodată, este /var/named/named.ca. El conține adresele IP și numele serverelor DNS care au autoritate asupra domeniului rădăcină (.).

Adăugând în secțiunea options o subsecțiune de forma:

forward first;
forwarders {
192.168.5.4;
192.168.3.6;
};

puteți indica serverului dvs. DNS să interogheze alte servere DNS externe (de exemplu, cele ale ISP-ului) ale căror adrese IP sunt cunoscute. Mecanismul este util mai ales în cazul rețelelor locale care dispun de o legătură lentă cu internetul.

Iată mai jos și conținutul celor două fișiere de zonă:

localhost.zone

$TTL 86400
@ IN SOA localhost root.localhost (
1 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttl
)


@ IN NS localhost.


@ IN A 127.0.0.1


și 0.0.127.in-addr.arpa.zone:

$TTL 86400

@ IN SOA localhost. root.localhost (
1 ; serial
28800 ; refresh
7200 ; retry
604800 ; expire
86400 ; ttk
)


@ IN NS localhost.

1 IN PTR localhost.

Mașina ce are autoritate asupra acestor zone este calculatorul local localhost, iar eventualele e-mail-uri generate de sistem sunt trimise la [email protected] Primul fișier conține, pe ultima linie, o înregistrare de tip A care asociază numele localhost cu adresa interfeței loopback 127.0.0.1. Al doilea fișier face maparea în sens invers: pointerul PTR asociază adresa 127.0.0.1 cu numele localhost.

Frumosul este alcătuit din detalii...
Complicat, nu? Dacă vă simțiți intimidat, documentul DNS-HOWTO de la www.tldp.org vă descrie cu mai multe amănunte ce aveți de făcut. De obicei, nu trebuie decât să modificați corespunzător fișierele de configurare (folosindu-le pe cele prezentate ca șablon), să porniți daemonul named și ... la drum.

DNS conține înregistrări (resource records) care pot oferi informații valoroase despre o anumită mașină. în timp ce înregistrările de tip A (vezi mai sus) mapează nume, înregistrările NS precizează care sunt nameserverele pentru domeniul firma.com. (primary și secondary), cele MX stabilesc mașinile care pot primi poșta electronică pentru domeniu (mailservere), iar HINFO oferă informații despre hardware-ul unei anume mașini. În plus, se pot utiliza și alias-uri pentru un anume calculator (înregistrările CNAME).

Puteți testa serverul DNS pe care l-ați pus în funcțiune într-un mod foarte simplu. Asigurați-vă că dispuneți de un fișier /etc/resolv.conf de forma:

search firma.com
nameserver 127.0.0.1

și folosiți programul dig pentru a vedea ce răspunsuri veți primi atunci când doriți să obțineți toate înregistrările care se referă la domeniul oarecare.com.:

dig oarecare.com. any

Puteți restrânge informațiile solicitate folosind alte clase de interogări în loc de any: mx pentru a identifica serverele de mail ale domeniului, ns pentru a obține nameserverele care îl deservesc sau chiar hw pentru a căuta detalii despre hardware-ul folosit.

Comanda de bază hostname și utilitare cum ar fi linuxconf vă permit să stabiliți după dorință numele mașinii dvs. Linux. Fișierul /etc/resolv.conf arată ordinea în care vor fi cercetate diverse domenii (în cazul nostru este investigat firma.com; dacă veți cere detalii despre mașina cu numele mihai, vor fi căutate atât mihai cât și mihai. firma.com) și listează adresele IP ale serverelor DNS externe care vor fi interogate.

Directorul general
Odată cu Windows 2000, Microsoft a introdus o nouă tehnologie de creare a unui domeniu, anume Active Directory (folosesc aici termenul domeniu în sensul administrativ dat de documentația Microsoft, nu în sensul DNS). Active Directory este un serviciu de catalog, asemănător cu LDAP, care vă permite să definiți în mod unic clase de obiecte și numele lor pe o anumită zonă a unei rețele: computere, utilizatori, imprimante, etc. Pentru realizarea acestui serviciu, Windows folosește DNS, în baza de date a căruia introduce câteva înregistrări "pentru uzul propriu". Campania publicitară ce a însoțit lansarea lui Windows 2000 Server nu a obosit să sublinieze faptul că acum Active Directory și DNS sunt integrate, ceea ce, spune Microsoft, oferă multe avantaje.

La o primă vedere, lucrurile ar putea sta așa. Analizând însă în profunzime, nu trebuie uitat faptul că DNS este un serviciu standardizat, prezent în toate sistemele de operare existente pe internet și că el face subiectul unor norme publice, deschise (documente RFC). Din contra, Active Directory este o tehnologie proprietară, a cărei dezvoltare este în totalitate sub controlul Microsoft. Imbinarea prea strânsă între aceste tipuri de tehnologii are, de multe ori, scopuri comerciale evidente - clienții vor rămâne "ancorați" în sisteme proprietare, a căror dezvoltare i-a costat mult timp și mulți bani. Pentru dvs., aspirant la statutul de membru al comunității free-software, trecerea de la un sistem deschis la unul proprietar nu este o schimbare de dorit.

Concret, ce înseamnă aceasta? Dacă tocmai ați instalat un sistem Windows 2000 Server și sunteți pe cale să configurați serverul DNS inclus (care nu este bind-ul open source !), vi se va oferi alternativa de a alege între servere primary, secondary sau Active Directory integrated. Primele două sunt similare cu opțiunile master sau slave ale bind-ului - vă recomand cu căldură să alegeți una dintre ele, în funcție de necesități. A treia opțiune realizează un tip de server integrat cu Active Directory - nimeni nu vă poate garanta compatibilitatea acestui sistem cu cele open-source, folosite pe marea majoritate a domeniilor internet ...

Capitolul pentru oameni săraci
Marea majoritate a documentelor referitoare la DNS presupun aprioric că rețeaua pentru care încercați să configurați noul server dispune de o conexiune permanentă la internet, de o adresă IP fixă etc.. Din păcate, acesta este un caz mai rar întâlnit în România - cel puțin pentru micile rețele individuale.

Dacă situația în care vă găsiți este similară cu a mea, atunci între dvs. și restul rețelei mondiale există o legătură temporară, telefonică - un modem, poate un router ... Aveți de ales între a configura un server DNS numai pentru rețeaua internă sau unul caching-only. Ultimul este un server DNS "parțial", care nu face decât să memoreze adresele găsite - cu ajutorul altor servere - într-o memorie cache, accelerând puțin accesul dvs. la internet. Distribuțiile de Linux importante vin cu un asemenea server caching-only preconfigurat, în format .rpm. în ambele situații, detalii de configurare se găsesc în DNS-HOWTO și în documentele citate de autorul acestuia ca bibliografie. Atenție, însă - dacă nu aveți un domeniu DNS înregistrat, punerea la punct a unui "DNS intern" cere puțină experiență și atenție, fiindcă o configurare incorectă poate crea probleme utilizatorilor de pe alte domenii, "oficiale".

Și, dacă tot am adus vorba, ați vizitat situl postului de televiziune B1 TV ? El se găsește la adresa www.b1.tv. Când am văzut pentru prima dată această adresă, mărturisesc, am fost șocat ! Cine permite unei firme oarecare - fie ea și un post de televiziune - să înregistreze domenii direct sub domeniul rădăcină ? Pe mâna cui a ajuns administrarea internetului ? Nu mai știam ce să cred ... Mi-a venit în ajutor un coleg mai experimentat, care mi-a explicat că nu e vorba de nici o încălcare a standardelor. Domeniul de nivel 1 .tv nu are, la origine, nimic comun cu televiziunea. El aparține statului Tuvalu, la fel cum domeniul .ro aparține României. Îmi mărturisesc ignoranța - nu știu unde este situat Tuvalu pe harta lumii. Probabil însă că nu-s prea multe rețele pe acolo, fiindcă statul în cauză își "închiriază" domeniul celor dornici să adauge domeniului lor terminația .tv. Înregistrarea în DNS este, deci, perfect legală - .tv este un domeniu din categoria celor geografice.

James Bond 007
DNS este și una dintre uneltele care vă ajută să obțineți informațiile dorite - sau nedorite? - pe internet. Aceste investigații nu au nimic ilegal, de aceea la configurarea unui server DNS nu uitați că toate detaliile despre rețeaua dvs. pe care le introduceți în baza de date vor fi accesibile oricui. Cu programele dig și nslookup efectuați manual interogările pe care un client DNS le face automat. De exemplu, dacă doriți să știți pe ce mașină ajung e-mail-urile destinate adresei [email protected] și ce adresă IP are ea, nu trebuie decât să folosiți unul dintre programele amintite asupra domeniului .firma.com., indicând drept criteriu de selecție înregistrările MX (mailservere). Veți primi o listă a serverelor de mail existente pe domeniu (în general două), impreună cu prioritățile și cu adresele IP corespunzătoare. în paginile manual ale dig și nslookup sunt descrise modurile de utilizare ale comenzilor amintite.

În loc de încheiere
Serviciul DNS este un subiect mult prea complex pentru a putea fi tratat aici în detaliu. Cu toate acestea, dacă vă găsiți în postura de a administra o mică rețea și nu beneficiați de asistență tehnică din partea unui expert, este neapărat necesar să vă familiarizați cu funcționarea sa. Nu numai că acesta este un "subiect fierbinte" pe internet, necesar și în cele mai simple instalări, dar o configurare incorectă a DNS va genera întârzieri nepermis de mari în întreaga rețea.

Pentru utilizatorii de acasă: la următorul abonament internet pe care îl veți încheia, asigurați-vă măcar că ISP-ul dvs. v-a furnizat numele complete (FQDN) și adresele IP corecte pentru cel puțin două servere DNS existente pe rețeaua sa. Acestea sunt mașinile pe care le veți "interoga" ori de câte ori veți tasta un URL în bara de adrese a browser-ului. Corecta lor configurare și funcționare vă va scuti de multe neplăceri - un acces rapid la internet, deci o factură telefonică mai mică ...

Dacă folosiți Windows 98, 2000 Professional, Me sau XP, mașina dvs. poate juca numai rolul de client DNS. în Control-Panel, verificați că legătura dvs. în rețea (LAN sau Dial-Up) are completate, la rubrica TCP/IP Properties, adresele DNS corecte indicate de furnizorul dvs. de internet. în caz contrar, cum spuneam, accesul pe Net se va desfășura cu timpi de așteptare mult prea lungi.

Până la întâlnirea noastră viitoare, vă urez un hacking plăcut prin meandrele numelor internet!


PC Magazine Ro | CD ROM | Redactia | Abonamente | CautareArhive

Copyright © 1999-2002 Agora Media.

[email protected]

LG - LifeŽs Good

www.agora.ro

deltafri

www.agora.ro

www.agora.ro

www.agora.ro