Lucrul pe care nu îl înțeleg este, de ce am nevoie atât de un rezolutor DNS, cât și de un server DNS?
Aceasta nu este distincția pe care ar trebui să o ai.
Distincția importantă în serverele DNS este între:
- un server de nume autorizat
- un server de nume recursiv
(și puteți găsi altele, cum ar fi soluția „stub” și combinație; consultați RFC 8499 pentru definiții complete).
Un server de nume autorizat are date complete pe una sau mai multe zone (și zonele au de obicei două și uneori mai multe servere de nume autorizate pentru echilibrarea încărcăturii/failover).
Un server de nume recursiv nu are practic date (la pornire) și va face interogări în numele unui client și va recurge pentru a urmări toate delegațiile și înregistrările CNAME până când ajunge la o eroare sau la răspunsul la interogarea clientului.
Serverul de nume recursiv pe care îl utilizați (fie pe cutia dvs., fie pe unul ISP, sau unul la distanță, cum ar fi Google Public DNS sau Cloudflare unul sau alții) știe despre serverele de nume rădăcină și le va contacta pentru a obține date despre serverele de nume TLD și așa mai departe și așa mai departe pentru a rezolva în sfârșit numele de care aveți nevoie.
Fiecare server de nume autorizat are doar date pentru zonele pe care le administrează. Dacă îl întrebați pentru orice altceva, ar putea fie să refuze să răspundă (răspunde la nivel DNS cu un cod REFUS), fie să răspundă cu o delegație pentru a vă anunța că (sunteți aici fiind serverul de nume recursiv care face interogarea) ar trebui să contactați altcineva server de nume autorizat.
„Rezolvare DNS” și „Server DNS” sunt ambigue. Un „solutor DNS” este, de asemenea, un „server DNS” în sensul că rulează un software „DNS” care acționează ca un server (acceptând interogări și răspunde). DNS-ul este proiectat astfel încât același port (53) să fie utilizat atât pentru operațiuni autoritare, cât și recursive, ceea ce duce la o oarecare confuzie (în denumire, fără probleme pentru computere).
Unele software de server de nume sunt autorizate doar prin design (ex: NSD, Yadifa, KnotDNS), altele sunt recursive (ex: Unbound) iar unele pot fi configurate în oricare dintre modurile (ex: Bind, PowerDNS), chiar dacă este recomandat să nu se amestece ambele moduri de operare în cadrul aceluiași proces.
RFC 8499 este într-adevăr o mină de informații și o lectură recomandată.