Cum funcționează DNS?
Denumirea obiectelor de rețea este împărțită în "plat" și ierarhic (domeniu).
Dezavantajele unui astfel de sistem au început să se manifeste destul de repede: odată cu trecerea de la mașinile de dimensiuni mari la cele personale și cu creșterea internetului. Traficul, asociat cu actualizarea informațiilor la adăugarea de computere la Internet, a amenințat că va ciocni toate liniile de comunicare. În plus, fiecare nume din rețea trebuie să fie unic și devine din ce în ce mai dificil și mai greu să facă acest lucru. Prin urmare, până la mijlocul anilor 1980, a apărut un alt sistem de numire mai flexibil - sistemul de nume de domeniu (Domain Name System, DNS).
DNS implementează un spațiu de nume ierarhic. Unitatea de măsură este domeniul (teritoriu, regiune). Noțiunea de domeniu DNS nu trebuie confundată cu un domeniu Windows NT sau cu un domeniu NIS. Nu au nimic de-a face cu ceilalți.
În DNS, întreaga rețea este reprezentată ca un singur arbore ierarhic. În partea de sus este domeniul rădăcină (indicat de simbolul "."). Mai jos sunt domeniile din primul nivel. Deoarece Internetul a dezvoltat în primul rând în SUA și pe cheltuiala contribuabilului american, a cauzat unele prejudecată în formarea domeniilor de prim nivel: Internet așa cum a fost împărțit între SUA și restul lumii.
Cele mai cunoscute domenii de prim nivel sunt: organizațiile com-comerciale (în principal în SUA); edu - instituții de învățământ din SUA; gov - agenții guvernamentale americane; mil - instituțiile militare americane; net - diverse agenții de rețea și furnizori de internet; int - organizații internaționale; org - instituții fără scop lucrativ; codul țării este un cod de două litere pentru desemnarea statului (ru - pentru Rusia, ua - pentru Ucraina, etc.). Sub domeniile primului nivel se află domeniile de nivel 2 și așa mai departe până la gazde. Pentru primul domeniu de nivel, indicând starea domeniilor de nivelul doi sunt adesea oraș sau regiune (de exemplu, Kiev - pentru Kiev dp regiunea -Dnepropetrovskaya), iar nivelul al treilea domeniu - companii și organizații.
Caracterele valide sunt literele, numerele și o cratimă "-" (cutia nu poate fi la începutul sau sfârșitul etichetei). Registrul de scrisori nu contează, adică compania1.krcrme.dp.ua. și COMPANY1.KRCRME.DP.UA. denumește același domeniu.
În FQDN punctului final nu poate fi setat pentru că este, de obicei, un software-ul TCP / IP de software implică faptul că numele de domeniu compozit (de exemplu, atunci când există mai mult de două etichete) se referă la FQDN. Astfel, compania1.krcrme.dp.ua. și company1.krcrme.dp.ua sunt una și aceeași.
Domeniile se supun ierarhic reciproc, iar domeniile sunt noduri ale arborelui de domeniu, iar gazdele sunt frunze. Conceptul domeniului este destul de amplu și în același timp flexibil. Nu se limitează la limitele fizice, de exemplu, limitele unei rețele IP sau a unui segment Ethernet. Domeniul DNS poate fi atât țara, cât și întreprinderea și departamentul băncii. Un singur domeniu poate include cât mai multe rețele, precum și numai o parte dintr-o rețea sau chiar o subrețea.
Cu toate acestea, funcțiile DNS nu se limitează la aceasta. DNS furnizează următoarele informații:
Există o serie de parametri mai puțin folosiți.
Software-ul care comunică cu serverele de nume se numește un client DNS (Resolver DNS). Clientul DNS acționează ca intermediar între aplicațiile de rețea și serverele de nume. În acest caz, acesta este de obicei ascuns de programele de utilizator. Aplicațiile de rețea folosesc cel mai adesea implicit clientul DNS, prin funcțiile stivei TCP / IP. Cu toate acestea, aplicația nslookup vă permite să preluați orice informații din baza de date DNS. Clientul DNS face parte din software-ul TCP / IP. Dar stiva TCP / IP, împreună cu DNS, suportă un sistem de denumire "plat" (prin fișierul hosts). Acest lucru face posibilă asigurarea disponibilității dispozitivelor de rețea în cazul problemelor DNS (de exemplu, dacă nu există nicio conexiune cu serverul de nume). Clientul DNS poate funcționa atât pe un computer separat, cât și pe un server de nume.
Serverul de nume nu este de fapt responsabil pentru domeniu, ci pentru așa-numita zonă de autoritate. care poate include mai multe domenii adiacente. Mai mult decât atât, serverul de nume este capabil să gestioneze simultan mai multe zone, și nu neapărat contiguoase.
Timpul în care informațiile sunt stocate în memoria cache este determinat de sursa informațiilor și variază de obicei de la zeci de minute până la câteva zile.
Caching vă permite să reduceți traficul în rețea, precum și să reduceți povara serverelor de nume.
Serverele de nume sunt de mai multe tipuri. Serverul primar de nume (Server primar de nume) stochează pe discurile sale fișierele principale (fișierele principale). care conțin toate informațiile despre zonele de administrare ale acestui server. Aceste fișiere sunt încărcate în memoria serverului de nume când este lansată.
Serverul secundar de nume (Secondary Name Server) este utilizat ca duplicat al serverului primar, care oferă toleranță la defecțiunile DNS. Descărcă informațiile de pe serverul principal și apoi le actualizează periodic, trimițând cereri către serverul principal.
Serverele "numai pentru cache" (cache-only server) informații de cache primite de la alte servere de nume. Cel mai adesea ele sunt utilizate în rețele mari pentru a descărca serverul primar.
Totuși, acest lucru nu este încă toate tipurile de servere de nume, dar restul (serverele Forwarder și Slave Forwarder) au doar mici diferențe în prelucrarea informațiilor DNS.
Actualizarea conținutului altor servere de nume din această zonă va apărea pe măsură ce conținutul cache-ului lor va fi depășit. Aceste servere trebuie să trimită o cerere către serverul primar pentru a actualiza informațiile zonei.
Serverele de nume ale altor zone transmit numai informații specifice (și nu date pentru întreaga zonă) și numai la cererea lor.
Serverele de nume pot funcționa în două moduri: non-recursive și recursive.
Astfel, în modul non-recursiv, clientul însuși execută toate cererile către serverele de nume.
În modul recursiv de operare, clientul DNS trimite o cerere către serverul de nume, după care acesta din urmă, dacă nu există informații necesare, adresează el însuși lanțului altor servere de nume. După primirea informațiilor, serverul de nume trimite rezultatul clientului. Din acest motiv, clientul DNS este eliberat de cea mai mare parte a activității pentru a găsi informații în DNS.
Pentru a lucra în modul recursiv, serverul și clientul trebuie configurate în mod corespunzător. Cu toate acestea, în majoritatea cazurilor, utilizatorul nu are capacitatea de a modifica configurația modului de operare al clientului, deoarece este "protejat" în software-ul TCP / IP.
Modul recursiv este folosit mai rar decât non-recursiv, deoarece încărcarea pe serverele de nume în acest caz este semnificativ crescută. Și pentru client acest mod nu este optim, deoarece dacă răspunsul este întârziat, este dificil pentru el să determine ce sa întâmplat: un eșec pe linie sau doar un lanț foarte lung de servere de nume este interogat.
Servicii DNS pe AIX
Toate serviciile de nume de domeniu sunt pe deplin implementate în AIX. Se acceptă următoarele tipuri de servere de nume:
1. server de nume primar;
2. server de nume secundar;
3. Server "numai pentru cache";
4. Serverul de transmitere;
5. Serverul de la distanță.
Clientul DNS din AIX, gethostbyaddr () și gethostbyname (), încearcă să identifice numele utilizând următoarea procedură:
Dacă fișierul /etc/resolv.conf nu există, clientul DNS crede că rețeaua utilizează un sistem de numire plat. Apoi folosește fișierul / etc / hosts pentru a identifica numele.
În caz contrar, clientul DNS consideră că rețeaua locală este o rețea de domenii și încearcă să utilizeze următoarele surse pentru a determina numele în ordinea indicată mai jos:
1. server DNS;
2. Fișier local / etc / hosts.
Gazda AIX este configurată să utilizeze serverul de nume utilizând următorii pași:
Ordinea înregistrărilor nameserver este importantă pentru a determina ordinea apelului serverelor: primul server de nume din listă, apoi cel de-al doilea și așa mai departe.
De obicei, primul server de nume secundar al domeniului dat este indicat mai întâi și apoi cel primar. Acest lucru reduce încărcarea pe serverul principal.
Dacă cea specificată mai întâi în lista serverelor de nume nu funcționează, atunci o perioadă apreciabilă de timp (până la câteva secunde) va trece înainte ca clientul DNS să contacteze al doilea server.
2. Creați fișierul /etc/named.boot pentru a determina numele și tipul daemonului denumit local.
3. Creați fișierele /etc/named.* pentru a determina datele necesare pentru daemon. Formatul acestor fișiere trebuie să corespundă formatului standard de înregistrare a resurselor (Standard Record Record Format).
Daemonul pe AIX suportă, de asemenea, înregistrările de resurse pentru tipul de e-mail prin MB (cutie poștală nume de domeniu), MR (redenumire mail nume de domeniu), MG (membru al grupului e-mail), MINFO (căsuța poștală sau lista de e-mail informații) și MX (schimb de e-mail).
Aplicația utilizator AIX / 6000 include programele gazdă și nslookup. În AIX / 6000, puteți utiliza programul dig pentru a interoga serverele de nume.
Configurarea componentei clientului
După cum sa menționat deja, software-ul TCP / IP suportă simultan atât clientul DNS, cât și fișierul hosts. Conținutul fișierului /etc/resolv.conf este discutat mai sus. Fișierul hosts este responsabil pentru sistemul de denumire "plat". Locația acestui fișier depinde de sistemul de operare (AIX - / etc / hosts, DOS și Windows - ETC \ hosts, NetWare - SYS: \ etc \ hosts).
Rețineți că fișierul hosts poate conține nume în formatul domeniului.
Configurarea serverului de nume
Standardele DNS
Multe versiuni ale software-ului serverului de nume au utilitare administrative care simplifică configurarea și gestionarea bazelor de date DNS. Cu toate acestea, administratorii de rețea, de regulă, preferă să nu le folosească, dar lucrează direct cu fișierele bazei de date DNS. Deși acest lucru complică oarecum administrarea, dar, în același timp, oferă o flexibilitate maximă și un control deplin asupra gestionării DNS.
În general, ordinea inițierii serverelor de nume este următoarea: creați mai întâi fișierele bazei de date DNS (direct sau prin utilitare administrative), apoi porniți serviciul DNS (pe AIX, numitul daemon).
Formatul înregistrărilor din fișierele bazei de date DNS
Fișierele bazei de date ale serverului de nume utilizează așa-numitul Format de înregistrare a resurselor standard. Acest format arată astfel:
Fiecare componentă aici este un câmp de înregistrare și este separată de celelalte prin spații sau file.
Următoarele caractere din intrări au un înțeles special (unele dintre aceste simboluri sunt enumerate mai jos).
Punct unic în câmp
@ Un caracter separat "@" în
() Consolele sunt folosite pentru a plasa un câmp pe mai multe linii (când are câteva linii).
* Metacaracter. Înlocuiește orice set de caractere.
Notă. Ar trebui să știți că în înregistrările de resurse, un nume de domeniu care nu se încheie cu o perioadă este considerat relativ. Când se procesează, se adaugă la domeniul curent. Prin urmare, atunci când se dă numele complet, trebuie să se termine cu o perioadă.
Tipuri de resurse
Tipul de resursă este specificat în câmp
Să luăm în considerare fiecare dintre aceste tipuri.
SOA (începerea autorității)
O intrare cu o resursă de tip SOA marchează începutul zonei de control al serverului de nume. Zona de control este valabilă până la următoarea înregistrare SOA.
EXEMPLU DE RECORDURI SOA
Aici câmpul este compusă și include câmpuri
NS (server de nume)
O intrare cu o resursă de tip NS denotă numele gazdei care este serverul de nume primar pentru domeniu.
EXEMPLU DE ÎNREGISTRARE NS
EXEMPLU DE ÎNREGISTRARE
[
sri-nic.arpa. A 10,0,0,51
CNAME (nume canonic)
O intrare cu o resursă CNAME este utilizată pentru a specifica un alias gazdă.
EXEMPLU DE ÎNREGISTRARE CNAME
HINFO (informații despre gazdă)
O intrare cu o resursă, cum ar fi HINFO, servește pentru a stoca informații despre gazdă, în special despre platforma hardware și sistemul de operare al computerului.
câmp
EXEMPLU DE RECORDURI HINFO
MX (gateway de e-mail)
EXEMPLU DE ÎNREGISTRARE MX
Dacă administratorul determină mai multe înregistrări MX, atunci se utilizează un număr pentru a specifica ordinea de interogare a gateway-urilor de e-mail (în exemplul 10), poarta cu numărul mai mic este inițial interogat.
PTR (pointer)
Resursele cu o înregistrare PTR sunt utilizate pentru a mapa aceste nume de domenii speciale la cele obișnuite. câmp
EXEMPLU DE ÎNREGISTRARE PTR PENTRU HOST
EXEMPLU DE PTR ȘI O ÎNREGISTRĂ PENTRU GATEWAYS
BIND Specificație
După cum sa menționat deja, standardul de facto în descrierea compoziției și ordinea fișierelor DNS sunt descărcate pe un caiet de sarcini server de nume BIND. Acesta este sprijinit pe toate sistemele bazate pe Unix, în NetWare (software Novell NFS Services, FTP Services, NetWare / IP), precum și o serie de alte sisteme.
Conform acestei specificații, există un fișier pentru încărcarea bazei de date DNS. Pe sistemele Unix, acesta este de obicei fișierul /etc/named.boot, în NetWare - SYS: ETC \ NAMED.CFG, care este încărcat atunci când serviciul DNS este rulat pe serverul de nume.
Fișierul de descărcare pentru baza de date DNS este un fișier text și conține înregistrări separate. Următoarele intrări sunt cele mai des utilizate:
1. director
2. domeniul
3. primar
Exemplu de implementare DNS într-o rețea locală
Rețeaua locală considerată este formată din două rețele IP de clasa C: 194.170.12.0 și 194.170.13.0. Să presupunem că aceste rețele formează un domeniu komtek.dp.ua.
Domeniul are un server primar srv1 nume (194.170.12.2) și server de nume SRV2 secundar (194.170.13.3), și un număr de gazde: gazdă1, host2, host3.
Mesajul gazdă (194.170.13.2) este poarta de poștă electronică pentru întregul domeniu și are și aliasul gazdă4.
Mai jos sunt conținutul și conținutul bazei de date DNS pentru serverul primar de nume srv1.komtek.dp.ua și pentru serverul secundar srv2.komtek.dp.ua.
COMPOZIȚIA ȘI CONȚINUTUL DATELOR DE DATĂ DNS PE SERVERUL PRIMAR SRV1
COMPOZIȚIA ȘI CONȚINUTUL DATELOR DE DATE A DNS-ULUI PE SERVERUL SECVAT
Pentru serverele de nume primare și secundare, dacă rețeaua locală nu are o conexiune la Internet, trebuie să eliminați linia de cache din fișierul /etc/named.boot și să ștergeți fișierul /etc/named.ca.
Domeniul secundar 0.0.127.in-addr.arpa, precum și gazda localhost (127.0.0.1) din fiecare zonă sunt necesare pentru a crea o buclă locală TCP / IP.
Rețineți că ordinea înregistrărilor din fișierele bazei de date DNS nu este, în general, importantă, cu excepția faptului că intrarea SOA trebuie să fie prima din zona de gestionare.