resolv.conf - fișierul de configurare al rezolvatorului
Serviciul resolver (rezolvator) este un set de rutine din
biblioteca C care oferă acces la sistemul de nume de domeniu Internet
(DNS). Fișierul de configurare a rezolvatorului conține
informații care sunt citite de rutinele de rezolvare la prima
invocare a acestora de către un proces. Fișierul este conceput
pentru a fi ușor de citit și conține o listă de
cuvinte cheie cu valori care furnizează diferite tipuri de
informații despre rezolvare. Fișierul de configurare este
considerat o sursă sigură de informații DNS; pentru
detalii, consultați opțiunea trust-ad de mai jos.
Dacă acest fișier nu există, va fi interogat
numai serverul de nume de pe calculatorul local, iar lista de căutare
conține numele de domeniu local determinat din numele de
gazdă.
Diferitele opțiuni de configurare sunt:
- nameserver
Adresa IP a serverului de nume
- Adresa de internet a unui server de nume pe care rezolvatorul ar trebui
să o interogheze, fie o adresă IPv4 (în
notație cu puncte), fie o adresă IPv6 în
notație cu două puncte (și, eventual, cu puncte)
conform RFC 2373. Pot fi listate până la MAXNS
(în prezent 3, a se vedea <resolv.h>) servere de nume,
unul pentru fiecare cuvânt cheie. Dacă există mai
multe servere, biblioteca de rezolvare le interoghează în
ordinea în care sunt listate. Dacă nu sunt prezente
intrări nameserver, în mod implicit se
utilizează serverul de nume de pe calculatorul local; (algoritmul
utilizat este de a încerca un server de nume, iar dacă
interogarea eșuează, se încearcă
următorul, până când nu mai există
servere de nume, apoi se repetă încercarea tuturor
serverelor de nume până la un număr maxim de
încercări).
- search Lista de
căutare pentru căutarea de nume de gazdă.
- În mod implicit, lista de căutare conține o
singură intrare, numele domeniului local. Acesta este determinat
din numele de gazdă local returnat de gethostname(2); se
consideră că numele de domeniu local este tot ce
urmează după primul „.”. În cele din
urmă, în cazul în care numele de gazdă nu
conține un „.”, se consideră că numele
de domeniu local este domeniul rădăcină.
- Acest lucru poate fi modificat prin enumerarea rutei dorite de
căutare a domeniului după cuvântul cheie
search, cu spații sau tabulări care separă
numele. Interogările de rezolvare care au mai puțin de
ndots puncte (valoarea implicită este 1) vor fi
încercate folosind fiecare componentă a rutei de
căutare în parte până când se
găsește o potrivire. Pentru mediile cu mai multe subdomenii,
vă rugăm să citiți options
ndots:n de mai jos pentru a evita atacurile
„man-in-the-middle” (om la mijloc) și traficul inutil
pentru serverele dns rădăcină. Rețineți
că acest proces poate fi lent și va genera mult trafic de
rețea dacă serverele pentru domeniile listate nu sunt locale
și că interogările vor expira dacă niciun
server nu este disponibil pentru unul dintre domenii.
- În cazul în care există mai multe directive
search, se utilizează numai lista de căutare din
ultima instanță.
- În glibc 2.25 și versiunile anterioare, lista de
căutare este limitată la șase domenii cu un total de
256 de caractere. Începând cu glibc 2.26, lista de
căutare este nelimitată.
- Directiva domain este un nume învechit pentru directiva
search care gestionează o singură intrare în
lista de căutare.
- sortlist
- Această opțiune permite sortarea adreselor returnate de
gethostbyname(3). O listă de sortare este specificată
prin perechi adresă IP-mască de rețea. Masca de
rețea este opțională și are ca valoare
implicită masca de rețea naturală a rețelei.
Perechile de adrese IP și de rețele opționale sunt
separate prin bare înclinate. Se pot specifica până
la 10 perechi. Iată un exemplu:
-
sortlist 130.155.160.0/255.255.240.0 130.155.0.0
- options
- Opțiunile permit modificarea anumitor variabile interne ale
rezolvatorului. Sintaxa este
- options opțiune ...
unde opțiune este una dintre următoarele:
- debug
- Stabilește RES_DEBUG în _res.options
(eficientă numai dacă glibc a fost construită cu
suport pentru depanare; a se vedea resolver(3)).
- ndots:n
- Stabilește un prag pentru numărul de puncte care trebuie
să apară într-un nume dat la res_query(3) (a
se vedea resolver(3)) înainte de a se efectua o
interogare absolută inițială. Valoarea
implicită pentru n este 1, ceea ce înseamnă
că, dacă există puncte într-un nume, numele va
fi încercat mai întâi ca nume absolut înainte
de a i se adăuga orice element de la lista de căutare
search list. Valoarea pentru această opțiune este
limitată în mod silențios la 15.
- timeout:n
- Stabilește perioada de timp în care rezolvatorul va
aștepta un răspuns de la un server de nume la
distanță înainte de a încerca din nou
interogarea prin intermediul unui alt server de nume. Aceasta nu
poate fi timpul total necesar pentru orice apel API de rezolvare și
nu există nicio garanție că un singur apel API de
rezolvare corespunde unei singure perioade de așteptare.
Măsurată în secunde, valoarea implicită este
RES_TIMEOUT (în prezent 5, a se vedea
<resolv.h>). Valoarea pentru această opțiune
este limitată în mod silențios la 30.
- attempts:n
- Stabilește numărul de ori de câte ori rezolvatorul va
trimite o interogare către serverele sale de nume înainte de
a renunța și de a trimite o eroare aplicației
apelante. Valoarea implicită este RES_DFLRETRY (în
prezent 2, a se vedea <resolv.h>). Valoarea pentru
această opțiune este limitată în mod
silențios la 5.
- rotate
- Stabilește RES_ROTATE în _res.options, ceea ce
determină selectarea prin rotație a serverelor de nume
dintre cele enumerate. Acest lucru are ca efect distribuirea sarcinii de
interogare între toate serverele listate, în loc ca
toți clienții să încerce de fiecare
dată primul server listat.
- no-aaaa (de la glibc
2.36)
- Stabilește RES_NOAAAA în _res.options, care
suprimă interogările AAAA efectuate de către
„stub resolver” (mecanismul minim de rezolvare), inclusiv
căutările AAAA declanșate de interfețele
bazate pe NSS, cum ar fi getaddrinfo(3). Sunt afectate numai
căutările DNS: Datele IPv6 din hosts(5) sunt
în continuare utilizate, getaddrinfo(3) cu AI_PASSIVE
va produce în continuare adrese IPv6, iar serverele de nume IPv6
configurate sunt în continuare utilizate. Pentru a produce
rezultate corecte în cazul unei erori de nume (NXDOMAIN),
interogările AAAA sunt convertite în interogări A.
Această opțiune este destinată în mod
preliminar în scopuri de diagnosticare, pentru a exclude faptul
că interogările DNS AAAA au un impact negativ. Este
incompatibilă cu utilizarea EDNS0 și validarea DNSSEC de
către aplicații.
- no-check-names
- Stabilește RES_NOCHECKNAME în _res.options,
care dezactivează verificarea modernă BIND a numelor de
gazdă și a numelor de e-mail primite pentru caractere
nevalide, cum ar fi caracterul de subliniere (_), non-ASCII sau
caracterele de control.
- inet6
- Stabilește RES_USE_INET6 în _res.options.
Acest lucru are ca efect încercarea unei interogări AAAA
înainte de o interogare A în cadrul funcției
gethostbyname(3) și afișarea răspunsurilor
IPv4 în „format pasat prin tunel la” IPv6 dacă
nu se găsesc înregistrări AAAA, dar există un
set de înregistrări A. Începând cu glibc 2.25,
această opțiune este depreciată; aplicațiile
ar trebui să utilizeze getaddrinfo(3), mai degrabă
decât gethostbyname(3).
Unele programe se comportă ciudat atunci când
această opțiune este activată.
- ip6-bytestring (de la
glibc 2.3.4 până la glibc 2.24)
- Stabilește RES_USEBSTRING în _res.options.
Acest lucru face ca căutările IPv6 inverse să fie
efectuate utilizând formatul „bit-label” descris
în RFC 2673; dacă această opțiune nu
este definită (ceea ce este implicit), se utilizează
formatul „nibble”. Această opțiune a fost
eliminată din glibc 2.25, deoarece se baza pe o extensie DNS
incompatibilă cu cea anterioară, care nu a fost
niciodată implementată în Internet.
- ip6-dotint/no-ip6-dotint
(de la glibc 2.3.4 până la glibc 2.24)
- Șterge/stabilește RES_NOIP6DOTINT în
_res.options. Atunci când această opțiune este
dezactivată (ip6-dotint), căutările IPv6
inverse sunt efectuate în zona (depreciată) ip6.int;
atunci când această opțiune este stabilită
(no-ip6-dotint), căutările IPv6 inverse sunt
efectuate în zona ip6.arpa în mod implicit. Aceste
opțiuni sunt disponibile până la glibc 2.24, unde
no-ip6-dotint este valoarea implicită. Deoarece suportul
ip6-dotint a încetat demult să mai fie disponibil
în Internet, aceste opțiuni au fost eliminate în
glibc 2.25.
- edns0
(începând cu glibc 2.6)
- Stabilește RES_USE_EDNS0 în _res.options.
Aceasta permite suportul pentru extensiile DNS descrise în
RFC 2671.
- single-request
(începând cu glibc 2.10)
- Stabilește RES_SNGLKUP în _res.options.
În mod implicit, glibc efectuează căutări IPv4
și IPv6 în paralel începând cu glibc 2.9.
Unele servere DNS ale dispozitivelor nu pot gestiona aceste
interogări în mod corespunzător și fac ca
cererile să depășească timpul de
așteptare. Această opțiune dezactivează acest
comportament și face ca glibc să efectueze cererile IPv6
și IPv4 secvențial (cu prețul unei anumite
încetiniri a procesului de rezolvare).
- single-request-reopen
(începând cu glibc 2.9)
- Stabilește RES_SNGLKUPREOP în _res.options.
Rezolvatorul utilizează același soclu pentru cererile A
și AAAA. Unele echipamente hardware trimit din
greșeală doar un singur răspuns. Când se
întâmplă acest lucru, sistemul client va sta
și va aștepta al doilea răspuns. Activarea acestei
opțiuni modifică acest comportament, astfel
încât, dacă două cereri de pe același
port nu sunt tratate corect, se va închide soclul și se va
deschide unul nou înainte de a trimite a doua cerere.
- no-tld-query
(începând cu glibc 2.14)
- Stabilește RES_NOTLDQUERY în _res.options.
Această opțiune face ca res_nsearch() să nu
încerce să rezolve un nume necalificat ca și cum ar
fi un domeniu de nivel superior (TLD). Această opțiune poate
cauza probleme dacă situl are „localhost” ca TLD
în loc să aibă localhost pe unul sau mai multe
elemente ale listei de căutare. Această opțiune nu
are niciun efect dacă nu este stabilită nici RES_DEFNAMES
și nici RES_DNSRCH.
- use-vc
(începând cu glibc 2.14)
- Stabilește RES_USEVC în _res.options.
Această opțiune forțează utilizarea TCP pentru
rezoluțiile DNS.
- no-reload
(începând cu glibc 2.26)
- Stabilește RES_NORELOAD în _res.options.
Această opțiune dezactivează
reîncărcarea automată a unui fișier de
configurare modificat.
- trust-ad
(începând cu glibc 2.31)
- Stabilește RES_TRUSTAD în _res.options.
Această opțiune controlează comportamentul bitului AD
al „stub resolver” (mecanismul minim de rezolvare).
În cazul în care un rezolvator de validare activează
bitul AD într-un răspuns, acesta indică faptul
că datele din răspuns au fost verificate în
conformitate cu protocolul DNSSEC. Pentru a se baza pe bitul AD, sistemul
local trebuie să aibă încredere atât în
rezolvatorul de validare DNSSEC, cât și în ruta de
rețea către acesta, motiv pentru care este necesară o
opțiune explicită de acceptare. În cazul în
care opțiunea trust-ad este activă, „stub
resolver” activează bitul AD în interogările
DNS de ieșire (pentru a activa suportul pentru bitul AD) și
păstrează bitul AD în răspunsuri.
Fără această opțiune, bitul AD nu este activat
în interogări și este întotdeauna eliminat din
răspunsuri înainte ca acestea să fie returnate
aplicației. Acest lucru înseamnă că
aplicațiile pot avea încredere în bitul AD din
răspunsuri dacă opțiunea trust-ad a fost
stabilită corect.
- În glibc 2.30 și versiunile anterioare, AD nu este stabilit
automat în interogări și este transmis neschimbat
către aplicații în răspunsuri.
Cuvântul cheie search din fișierul
resolv.conf al unui sistem poate fi anulat pentru fiecare proces
în parte prin definirea variabilei de mediu LOCALDOMAIN la o
listă de domenii de căutare separate prin spații.
Cuvântul cheie options din fișierul
resolv.conf al unui sistem poate fi modificat pentru fiecare proces
în parte prin definirea variabilei de mediu RES_OPTIONS cu o
listă de opțiuni de rezolvare separate prin spații,
așa cum s-a explicat mai sus la options.
Cuvântul cheie și valoarea trebuie să
apară pe o singură linie, iar cuvântul cheie (de
exemplu, nameserver) trebuie să înceapă linia.
Valoarea urmează după cuvântul cheie, separată
prin spațiu în alb.
Liniile care conțin un punct și virgulă (;)
sau un caracter hash (#) în prima coloană sunt tratate ca
fiind comentarii.
/etc/resolv.conf, <resolv.h>
Traducerea în limba română a acestui manual a
fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită;
citiți
Licența
publică generală GNU Versiunea 3 sau o versiune
ulterioară cu privire la condiții privind drepturile de autor.
NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea
acestui manual, vă rugăm să trimiteți un e-mail
la
translation-team-ro@lists.sourceforge.net.