Bine ați revenit, dragii mei green horn hackers!
Domain Name System (DNS) este unul dintre acele lucruri la care rareori ne gândim, de obicei doar atunci când nu funcționează. Poate fi foarte frustrant atunci când încercăm să navigăm la un site web și primim mesajul de eroare respectiv.
DNS ne permite să tastăm un nume de domeniu în browserul nostru, cum ar fi Blackweb.ro, ci nu o adresă IP numerică a site-ului pe care încercăm să-l accesăm. În forma sa cea mai simplă, DNS traduce pur și simplu nume de domenii în adrese IP, făcând viețile noastre mult mai simple.Vă puteți imagina cum ar fi să vă amintiți toate adresele IP ale sutelor de site-uri pe care le vizitați?
Pentru cei mai mulți dintre noi care lucrăm în Linux, avem două preocupări, când vine vorba de DNS. În primul rând, în calitate de client, trebuie să accesăm serviciile DNS pentru a traduce numele domeniilor noastre în adrese IP. În al doilea rând, ca server avem nevoie să furnizăm servicii DNS. Aici, mă voi limita la gestionarea DNS-ului din perspectiva clientului și voi lăsa furnizarea de servicii DNS pentru un alt tutorial.
Este important să ne reamintim că în Linux, aproape totul este un fișier, iar configurația se face de obicei prin editarea unui fișier text simplu. Această regulă se aplică și când vine vorba de DNS.
Pasul 1: /etc/hosts
În Linux, avem ceva ce se numește ,,hosts”. Este găsit aproape lângă toate fișierele de configurare, ce sunt în directorul /etc, așadar /etc/ hosts. Acest fișier acționează similar cu DNS-ul, dar este static. Asta înseamnă că nu este actualizat precum DNS-ul. Fișierul hosts este cea mai simplă și cea mai rapidă metodă de mapare a hostname-urilor la adresele IP.
Să ne uităm la fișierul /etc/hosts în Ubuntu. Tastăm:
- gedit /etc/hosts

Se va deschide următorul fișier. Reținem că configurația implicită din Ubuntu are doar intrările pentru localhost la 127.0.0.1 și unele note despre IPv6.

Am putea adăuga linii suplimentare la acest fișier pentru a oferi servicii suplimentare. Dacă vrem să redirecționăm cuvântul ,,hacker” la un sistem din rețeaua noastră internă, putem adăuga pur și simplu o linie în fișierul hosts, precum:
- 192.168.100.3 hacker
După ce salvăm /etc/hosts și tastăm ,,hacker” în browser-ul nostru, vom fi direcționați către IP-ul 192.168.100.3.
Pasul 2: /etc/resolv.conf
Fișierul principal pentru indicarea sistemului nostru către un server DNS este /etc/resolv.conf. Reținem că numele fișierului este similar cu cuvântul englez ,,a rezolva”, dar fără ,,e” la sfârșit. Aici spunem sistemului nostru unde să caute servicii DNS.
Să-l deschidem cu gedit.
- gedit /etc/resolv.conf

Când apăsăm ENTER, gedit deschide fișierul.

Formatul acestui fișier este:
- nameserver IPaddress
După cum putem vedea, /etc/resolv.conf arată un server DNS în rețeaua locală, 192.168.100.3. Pot schimba acest lucru pentru a indica orice server DNS public, ștergând și modificând adresa IP internă cu cea a unui server public DNS, cum ar fi Comcast la 75.75.75.75.
Dacă avem un server DNS intern, preferăm cel mai probabil să îl utilizăm, deoarece ne va oferi răspunsuri mai rapide, dar oamenii obișnuiesc să pună mai întâi un server DNS intern, dar și un server public DNS, al doilea. În acest fel, sistemul nostru va verifica mai întâi serverul intern DNS și dacă nu găsește o înregistrare pe acel server DNS, va trece apoi la serverul IP public și, sperăm, că îl va găsi acolo.
Am modificat /etc/resolv.conf pentru a include serverul public DNS pentru Comcast la 75.75.75.75. Tot ce trebuie să fac acum este să salvez fișierul /etc/resolv.conf și sistemul meu va privi mai întâi la serverul meu DNS intern și apoi la serverul DNS public Comcast, dacă nu găsește numele în serverul meu DNS privat.

Pasul 3: /etc/nsswitch.conf
În cele din urmă, avem fișierul /etc/nsswitch.conf. Este unde-i spunem sistemului nostru ordinea unde să caute certitudinea numelui. Îl deschid cu gedit și îl afișez mai jos.

Observăm linia care începe cu ,,hosts”. Această linie indică sistemului ordinea căutării numelui. Sistemul le va încerca pe fiecare în ordine până când va găsi numele pe care îl caută. Să le examinăm pe fiecare separat.
- files – Se referă la fișierul /etc/hosts. De obicei, dorim ca sistemul să se uite aici, deoarece este cel mai rapid.
- mdns4_minimal – Acesta este protocolul DNS multicast.
- dns – Spune sistemului să meargă către /etc/resolv.conf pentru a găsi un server DNS.
- [NOTFOUND=return] – Ne arată dacă această căutare, mdns_minimal, indică NOTFOUND, ar trebui tratată ca oficială și căutarea să înceteze.
- mdns4 – Un protocol asemănător DNS-urilor pentru rețele mici, fără servere DNS.
Continuați să reveniți pe Blackweb, dragii mei greenhorn hackers, pentru mai multe tutoriale despre hacking și despre elementele de bază ale Linux-ului, ce ar fi bine să le cunoașteți, în drumul vostru de a deveni niște hackeri talentați.
Până data viitoare, să ne citim cu bine! 🙂