Microsoft DNS: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 103: Line 103:
== DNSi ressursikirjed (ingl ''Ressource Records'') ==
== DNSi ressursikirjed (ingl ''Ressource Records'') ==


DNSi ressursikirjed on DNSi domeeniga seotud informatsioon. Näiteks ''host''i andmed defineerimaks ''host''i IP aadressi. ressursi kirjed on esitatud DNSi päringutes ja vastustes binaarsel kujul. Tsooni failides aga tavalise tekstina. Windows Server 2008 luuakse ressursi kirjed DNSi konsooli või läbi CLI (ingl ''Command-line Interface'') dnscmd abil.
DNSi ressursikirjed on DNSi domeeniga seotud informatsioon. Näiteks ''host''i andmed defineerimaks ''host''i IP aadressi. Ressursikirjed on DNSi päringutes ja vastustes esitatud binaarkujul, tsoonifailides aga tavalise tekstina. Windows Server 2008-s luuakse ressursikirjed DNSi konsoolis või läbi CLI (ingl. k. ''Command-Line Interface'') käsu ''dnscmd'' abil.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
! Nimi  || Kirjeldus  
! Nimi  || Kirjeldus  
|-
|-
| Omanik || Identifitseerib kellele antud DNSi domeeni ressursi kirje kuulub.
| Omanik || Identifitseerib, kellele antud DNSi domeeni ressursikirje kuulub.
|-
|-
| TTL (ingl ''Time to Live'') || 32-bitine täisarv, mis esitab maksimum aega sekundites, mille jooksul DNS server või klient antud ressursi kirjet vahemälus hoiab. Kui see aeg saab täis siis antud kirje lihtsalt visatakse minema. See väli ei ole küll kohustuslik ja kui seda ei ole siin kirjeldatud siis klient kasutab miinimum TLLi SOA kirjest.
| TTL (ingl ''Time to Live'') || 32-bitine täisarv, mis esitab maksimaalset aega sekundites, mille jooksul DNS server või klient antud ressursikirjet vahemälus hoiab. Selle aja täitumisel antud kirje kustutatakse. See väli ei ole kohustuslik ja kui seda ei ole siin kirjeldatud, siis klient kasutab minimaalset osa TLLi SOA kirjest.
|-  
|-  
| Klass || Defineerib protokolli "pere" mida kasutatakse, see on IN ehk siis ''Internet system''
| Klass || Defineerib protokolli "pere", mida kasutatakse. See on IN ehk siis ''Internet system''
|-
|-
| Tüüp || Tuvastab ressursi kirje tüübi. Näiteks A indikeerib, et ressursi kirje sisaldab endas ''host''i aadressi.
| Tüüp || Tuvastab ressursikirje tüübi. Näiteks A indikeerib, et ressursi kirje sisaldab endas ''host''i aadressi.
|-
|-
|''Resource Record Data'' (RDATA) || RDATA väli on muutuva pikkusega ja sisaldab endast inforamtsiooni mida ressursi kirjes kirjeldatakse. Näiteks A ressursi kirjes on 32 bitine IP aadress mis on omaniku poolt identifitseeritud ''host''.
|''Resource Record Data'' (RDATA) || RDATA väli on muutuva pikkusega ja sisaldab ressursikirjes kirjeldatavat informatsiooni. Näiteks A ressursikirjes on 32 bitine IP aadress, mis on omaniku poolt identifitseeritud ''host''.
|}
|}


DNSi andmebaas koosneb ressursi kirjetest, mis viitavad erinevale informatsioonile nimedest andmebaasis. DNSi nime ressursi kirje võib identifitseerida kindla ressursi võrgus, näiteks nagu võrgu ''host'' mis kasutab kindlat nime, või teenus mis käib antud ''host''i peal nagu näiteks ''e-mail''.
DNSi andmebaas koosneb ressursikirjetest, mis viitavad erinevale informatsioonile nimedest andmebaasis. DNSi nime ressursi kirje võib identifitseerida kindla ressursi võrgus, näiteks nagu võrgu ''host'' mis kasutab kindlat nime, või teenus mis käib antud ''host''i peal nagu näiteks ''e-mail''.
Erinevat tüüpi ressursi kirjed pakuvad arvutite kohta TCP/IP võrgus erinevaid DNSi andmeid. Tüüpilised andmed ressursi kirjetes on välja toodud järgmises näites. Kuid antud näited sisaldavad ka ressursi kirjeid mis on spetsiifilised Windows Server 2000,2003 ja 2008 DNSi implementasioonile.
Erinevat tüüpi ressursi kirjed pakuvad arvutite kohta TCP/IP võrgus erinevaid DNSi andmeid. Tüüpilised andmed ressursi kirjetes on välja toodud järgmises näites. Kuid antud näited sisaldavad ka ressursi kirjeid mis on spetsiifilised Windows Server 2000,2003 ja 2008 DNSi implementasioonile.



Revision as of 13:37, 13 April 2010

Sissejuhatus

DNS (ingl Domain Name System) ehk Domeeninimede süsteem on teenus, mis tõlgib domeeninimed TCP/IP võrkudes kasutatavateks IP-aadressideks. Süsteemi töö põhimõte seisneb selles, et ta võtab inimesele mugavalt loetava veebiaadressi näiteks "http://www.neti.ee", mis sisaldab endas domeeninime neti.ee ja ta tõlgib selle ümber arvutitele arusaadavaks IP-aadressiks [195.50.209.244].

DNSi domeeninimede süsteem

Domeeninimede süsteem võimaldab mõistlikul viisil määrata interneti kasutajagruppidele domeeninimesid, mis on sõltumatud iga kasutaja füüsilisest asukohast. Tänu sellele võivad paljud lingid, k.a. ka veebis kasutatavad hüperlingid, jääda samaks läbi aastate hoolimata sellest, et teenusepakkuja vahetab kas oma füüsilist asukohta ja selletõttu ka oma IP-aadressi või ainult IP-aadressi. Inimestel on kergem jätta meelde domeeniaadresse, mis on nimelised (mnemoonilised) kui neile vastavaid IPv4 või IPv6 aadressid numberkujul.

DNS on sisuliselt hierarhiliselt korraldatud hajusandmebaas, kus kõige tipus on juurtsooni (ingl. k. root zone) serverid. Seda nimetatakse ka ühtlasi tipptaseme domeeniks (ingl. k. top-level domain), kuhu kuuluvad serverid omavad IP-aadresse serveritele, kes on vastutavad kõrgema astme domeeni eest. Seda on kõige parem seletada järgmise näitega.

Meil on domeen näiteks domeen microsoft.com selle juurtsooniks peetakse "." osa domeeniks. Tipptaseme domeeniks nimetatakse aga aadressi ".com" osa. Teise taseme domeeniks on aga "microsoft". Iga nimi tipptaseme domeenis "com" peab olema unikaalne. Samas aga üle domeenide võib esineda ka duplikatsiooni, näiteks: kalle.com ja kalle.org, mis on tegelikult täiesti erinevad hostid. Kõige vasakpoolsem osa domeeninimest on hosti nimi. Näiteks computerA.contoso.microsoft.com viitab arvutile A "contoso" domeenis, mis asub teise astme domeenis "microsoft", mis omakorda asub ".com" kõrgema astme domeenis.

Teise taseme domeenid on registreeritud üksikisikute või organisatsioonide nimele, nagu näiteks Microsofti Korporatsioon või eesti.ee domeen, mis on Eesti Vabariigi riigiportaal. Teise taseme domeenidel võib olla väga palju alamdomeene ja iga domeen võib sisaldada endas mitmeid hoste nagu näiteks printer1, arvuti2, dc2 jne. Üks hierarhilise struktuuri suur eelis on see, et on võimalik hoida kahte sama hostinimega masinat kahes erinevas struktuurikohas. Näiteks: arvuti1.ari.lapland.fi ja arvuti1.it3.lapland.fi.

DNS serverite tüübid on määratud sellega, mis tüüpi tsooni või tsoone nad hostivad ja mis funktsioone nad täidavad. DNS server võib hostida kas primaarset või sekundaarset tsooni või mõlemat. Kui DNS server ei hosti ühtegi tsooni, siis nimetatakse seda serverit caching-only serveriks. Serverit nimetatase autoriteetseks mingi tsooni puhul, kui ta hostib kas primaarset või sekundaarset DNS domeeni tsooni. Windows Server 2003 ja 2008 toetavad järgmisi DNS serveri tüüpe:

  • Primaarne DNS server - primaarsed nimeserverid on konfigureeritud hostima ühte või mitut primaarset DNS tsooni. Standard- või faili-paketeeritud tsoonide puhul, kui tehakse muudatus tsooniandmetes, näiteks lisatakse ressursi andmeid tsoonile, tuleb teha see muudatus selle tsooni primaarserveris. Vastavad muudatused kanduvad edasi sekundaarsetesse nimeserveritesse. AD-integreeritud tsoonide puhul aga pole mingit erinevust primaarsete ja sekundaarsete serverite puhul.
  • Sekundaarne DNS server - sekundaarne nimeserver hostib ühe või mitme sekundaarse tsooni andmebaasi. Kuna sekundaarse tsooni loomiseks kasutatakse tsooniülekannet (ingl. k. zone transfer), siis peab primaarserver ja vastav tsoon juba olemas olema.
  • Caching-only serverid ei hosti ühtegi tsooni ja ei ole autoritatiivsed mingi domeeni jaoks. Caching-only DNS serverid alustavad tühja vahemäluga ja täidavad seda ressursikirjete (ingl. k. Resource Records) sissekannetega, vastates klientide päringutele. Vastav informatsioon on siis juba vahemälus olemas järgmistele klientide päringutele. Caching-only server on vajalik kohtades, kus vajatakse lokaalset DNS-funktsionaalsust, kuid eraldi domeeni või tsooni pole vaja luua.

DNS tsoonid

Tsoonid on DNSi hierarhilise struktuuri oluline osa, need aitavad jaotada nimelahendamise töökoormust. Tsoon on kogum hostinimesid ja neile vastavaid IP-aadresse. Üks tsoon võib sisaldada ühe või mitme domeeni ressursikirjeid (ingl. k. Resource Records). Üks tsoon võib hoida endas rohkem kui ühte domeeni ainult juhul, kui domeenid on järjestikused ehk siis on ühendatud otsese "parent-child" suhtega. Kui domeeninimi jaotada ära tsoonideks, siis on võimalik selle abil delegeerida domeeninime eri osadele vastavat vastutust.

DNS serverites hoitakse tsooniinfot kahel viisil:

  • Tekstipõhises tsoonifailis, mis sisaldab nimekirja kaardistustest (ingl. k. mappings), mida kutsutakse standardtsooniks (ingl. k. standard zone) või faili-paketeeritud tsooniks (ingl. k. file-backed zone)
  • Active Directory andmebaasis, mida nimetatakse Active Directory-integreeritud e. AD-tsooniks (ingl. k. Active Directory-integrated zone)

Iga tsoon võib olla kas forward lookup zone või reverse lookup zone ja omakorda veel 3 erinevat tüüpi:

  • Primaartsoon (ingl. k. Primary zone)
  • Sekundaartsoon (ingl. k. Secondary zone)
  • in-addr.arpa tsoon
  • Stub tsoon (ingl. k. Stub zone) - toetatud ainult Windows Server 2003 ja 2008 poolt.

Seega võib DNS server olla väga erinevate tsoonitüüpidega, nt. Standard primary forward lookup zone.

DNS servereid on võimalik konfigureerida nii, et üks server hostib mitut tsooni ja on ka võimalik segada kokku erinevaid tsoonitüüpe. Näiteks üks DNS server võib hostida samaaegselt kalle.com primaartsooni ja malle.comi sekundaartsooni. See on abiks, kui on tegu ühe ettevõtte eri divisjonide või osakondade projektidega, mis vajavad ligipääsu võrguressurssidele üle mitme organisatsiooni.

NB! Järgnev näide põhineb Windows Server 2008-l. Erinevatel operatsioonisüsteemide puhul võib see erinev olla.

  • Standardne primaartsoon. See hostib DNS tsooni kirjutamis-/lugemisõigustega koopiat, kus luuakse ja manageeritakse ressursikirjeid (ingl. k. resource records). Tsooni master-koopiat võib hostida ainult 1 server. Ühelgi teisel primaarserveril ei ole lubatud antud tsooni master-koopiat hostida ja ainult server, mis hostib primaartsooni, tohib aktsepteerida dünaamilisi uuendusi ja töödelda tsoonimuudatusi. DNS serverite ülesseadmisel asub domeeni primaarserver enamasti kuskil, kus tema tsoonifailile on administratiivne ligipääs.
  • Standardne sekundaartsoon. Standardse sekundaartsooni faili koopiat võib hoida ühel või rohkemal serveril, et balansseerida võrgukoormust, tagada kõrgemat käideldavust või sundida päringuid üle aeglaste WAN (ingl. k. Wide Area Network) linkide. Sekundaartsoon on sisuliselt ainult lugemisõigustega koopia standardsest primaartsoonist. Standardsetes tsoonides saadetakse informatsioon primaartsoonidest sekundaartsoonidesse tsooniülekande (ingl. k. zone transfer) abil. Tsooniülekanne on sisuliselt tsoonifaili kopeerimine primaarserverist sekundaarsesse. Tsooniülekanne võib olla täis tsooniülekanne (ingl. k. full zone transfer (ehk AXFR)), kus kopeeritakse kogu tsoonifail primaarserverist sekundaarserverisse või kuhjuv tsooniülekanne (ingl. k. incremental zone transfer (ehk IXFR)), kus kopeeritakse pärast algelist AXFRi ainult informatsioonimuudatused. Seda kasutatakse enamasti liikluse vähendamiseks primaar- ja sekundaarserverite vahel.
  • Reverse lookup zone. Enamik päringuid, mis DNS serveri poole saadetakse, on forward query'd. Nad pärivad IP aadressi DNSi nime põhjal. DNS pakub ka tagurpidi otsimise võimalust (ingl reverse lookup). See tähendab, et host saab teha kindlaks teise hosti nime IP aadressi põhjal. Näiteks on päring vastav: "Mis on DNS domeeni nimi milles asub host IP aadressiga 192.168.100.1?" Selleks, et vastata sellele päringule, konsulteeritakse in-addr.arpa domeeniga selle IP aadressi asjus. Kui lugeda IP aadressi vasakult paremale, siis vasakule jääb mingi osa bitte mis representeerivad võrgu osa aadressist ja ülejäänud paremale jäävad bitid on hosti osa, vastavalt alamvõrgumaskile (ingl. k. subnet mask). Näiteks 192.168.100.2 alamvõrgumaskiga 255.255.255.0 tähendab, et võrgu osa on 192.168.100 ja hosti osa on 2. Kuna kõrgema taseme osa aadressist jääb paremale, siis tuleb see keerata tagurpidi, et domeenipuud ehitada. Kuna FQDNid (ingl. k. Fully Qualified Domain Name) lähevad täpsemast üldisemaks ja IP aadressid lähevad üldisemast täpsemaks, siis selleks, et teha tagurpidipäringut, tuleb eelnevalt IP aadress pöörata ümber, kui teda on vaja liita in-addr.arpa domeeniga. Näiteks, tagurpidi päringu tsooniks subnetile 192.168.100.0 on 100.168.192.in-addr.arpa. In-addr.arpa domeeni puu kasutab IP aadressi hosti nimega seostamiseks PTRi (ingl Pointer Resource Record). Vastav lookup peaks andma aadressi (A) ressursi andmed hostile forward lookup tsoonis. Reverse lookup päringuid kasutatakse enamasti võrgu aplikatsioonide poolt verifitseerimiseks kui identifitseerimiseks või siis monitoorimiseks ja vigade otsimiseks DNSi teenusest. In-addr.arpa domeeni kasutatakse ainult IPv4-l baseeruvates võrkudes. IPv6-l baseeruvates reverse lookup tsoonides kasutatakse ip6.arpa domeeni, mis pakub sama funktsionaalsust nagu in-addr.arpa domeen IPv4 võrkudes.
  • Stub tsoon - Windows Server 2003 või 2008 baasil töötav DNS server toetab ka uut tüüpi stub tsoone. Stub tsoon on koopia tsoonist mis hoiab selle tsooni jaoks autoritatiivsete DNS serverite identifitseerimiseks vajalikke ressursiandmeid. Stub tsoon on pointer DNS serveri pihta, mis on selle tsooni jaoks autoritatiivne ja seda kasutatakse DNSi lahendumise efektiivsuse hoidmiseks või parandamiseks. Stub tsoon hoiab endas alamhulka tsooniandmetest, mis sisaldavad endas SOA'd (ingl. k. Start of Authority), nimeserveri (ingl. k. Name Server) ja A kirjet. Nagu ka standardses sekundaartsoonis, ei saa ka stub tsoonis muuta ressursiandmeid. Neid saab muuta vaid primaartsoonis.

Stub tsoonid võimaldavad DNS serveril ilma päringut Internetti või juurserverisse saatmata DNS päringuid lahendada, kasutades stub tsooni nimeserverite nimekirja. Stub tsoone kasutades on võimalik sekundaarseid tsoone koormamata läbi terve DNSi infrastruktuuri jaotada laiali mingi tsooni jaoks autoritatatiivsete DNS serverite nimekiri. Siiski ei paku stub tsoonid sama funktsionaalsust kui sekundaarsed tsoonid ja neid ei tohiks kasutada aadresside liiasuse vähendamise ja koormuse jaotamise lahendusena.

Tsoonide info Active Directorys hoidmise eelis

  • Rikketaluvus - liiasusega informatsiooni DNS tsoonide kohta saab hoida mitmes serveris korraga.
  • Turvalisus - Active Directory's hoitavad DNS tsoonid saavad ära kasutada DACLi (ingl Discretionary Access Control List) tugevdatud turvalisust. DACL võimaldab määrata, millised kasutajad ja millised grupid saavad muuta DNS tsoone. Samuti on võimalik ka määrata turvalised dünaamilised uuendused (ingl Secure Dynamic Updates) AD-integreeritud tsoonidele, mis lubab muuta andmeid ainult kliendil kes algselt nad registreeris.
  • Tsoonid on multimasterid - tsoone saab uuendada rohkem kui ühest kohast (serverist). Kõik domeenikontrollerid, kus tsoone hoitakse, saavad vastavaid tsoone muuta ja muudatused kantakse üle ka teistesse domeeni kontrolleritesse, kus selle tsooni faili hoitakse.
  • Tõhus replikatsioon - tsooniülekanded asendatakse palju tõhusama AD replikatsiooni vastu. See on oluline aeglastes võrkudes, sest AD pakib eelnevalt kokku erinevate saitide vahel ülekantavaid replikatsiooniandmed.
  • Sekundaarsete tsoonide kasutamise võimaluse hoidmine - tsoone, mida hoitakse ADs, on võimalik saata standardsetele sekundaarserveritele ja luua sinna sekundaarseid tsoone samamoodi nagu kantakse üle file-backed sekundaartsoone.

Windows Server 2003 ja Windows Server 2008 pakuvad Windows 2000 Serverist efektiivsemat viisi DNS tsoonide replikeerimiseks. Windows 2000 Serveris olevate AD tsoonide uuendused replikeeriti kõikidesse selles domeeni domeenikontrolleritesse, ükskõik kas nad olid konfigureeritud DNS serveriteks või mitte.

Windows Server 2003 ja Windows Server 2008, AD-integreeritud tsoone on võimalik konfigureerida 3 erineva replikatsiooni ulatusega, mis tähendab seda, et nendes olevat informatsiooni saab replikeerida 3 erineval viisil.

  • Kõikidesse domeenikontrolleritesse selles domeenis.
  • Kõikidesse domeenikontrolleritesse mis on lokaalse domeeni DNS serverid, samuti tuntud ka kui DomainDNSZones aplikatsiooni partitsioon.
  • Kõikidesse domeeni kontrolleritesse, mis on ka DNS serverid terves forestis, samuti tuntud ka kui ForestDNSZones aplikatsioon.

On võimalik teha 2 tüüpi AD-integreeritud tsoone: forward lookup tsoon ja reverse lookup tsoon.

  • Active Directory-integreeritud forward lookup tsoon on sarnane standardsele primaartsoonile. Väljaspool ADd on primaar- ja sekundaarserverid vajalikud, kuna nad järgivad ühte kindlat ühte tipmist uuendusmudelit (ingl. k. master update model), kus ainult ühel serveril on tsooni andmebaasi kirjutamisõigustega koopia. Siiski järgivad AD-integreeritud tsoonid multimaster uuendusmudelit, kus kõigil AD-integreeritud tsoonidel on olemas kirjutamis- ja lugemisõigustega tsoonikoopiad ja kõik võivad teha tsooniinfos muudatusi. Siin ei ole primaarsed ja sekundaarsed tunnusjooned vajalikud.
  • Active Directory-integreeritud reverse lookup tsooni kasutatakse IP aadressile vastava nime saamiseks ja see sarnaneb standardse in-addr.arpa tsooniga. Reverse lookup tsooni hoitakse ja uuendatakse sama moodi nagu Active Directory-integreeritud forward lookup tsooni.

DNSi delegeerimine

Algselt hoiab tsoon endas ainult ühe DNSi domeeninime infot. Uute domeenide lisamisel tuleb otsustada, kas domeen on osa samast tsoonist või mitte. Kui otsustatakse lisada alamdomeen, siis võib seda alamdomeeni hallata osana algsest tsoonist või delegeerida selle haldamine mingile teisele tsoonile.

Kõrvaloleval joonisel on näha kalle.ee domeen, mis sisaldab endas firma "OÜ Kalle" domeeninimesid. Kui kalle.ee domeen loodi algselt ainsale serverile, siis konfigureeriti see kui ainus tsoon kogu Kalle DNSi nimevahemikule (ingl namespace). Kui aga kalle.ee domeen peaks vajama alamdomeene, siis need alamdomeenid peavad olema tsooni kaasatud või delegeeritud eemale mõnda teise tsooni. Konkreetses näites kalle.ee domeen omab alamdomeeni ari.kalle.ee, mis on delegeeritud eemale kalle.ee domeenist ja hallatud omaenda tsooni poolt. Siiski, kalle.ee tsoon peab sisaldama mõnda ressursikirjet, et pakkuda delegeerimisinfot, mis viitaks DNS serveritele, mis on autoritatiivsed delegeeritud ari.kalle.ee alamdomeenile. Kui kalle.ee tsoon ei kasutada delegeerimist alamdomeenidele, siis alamdomeeni andmed jäävad osaks kalle.ee tsoonist. Näiteks dev.kalle.ee alamdomeen ei ole delegeeritud mujale, aga on kalle.ee tsooni poolt hallatud.

DNSi tsooniülekande konfigureerimine

Tsooni ülekanded on täielikud või osalised tsooni andmete ülekanded primaarsest DNS serverist, mis hostib antud tsooni, sekundaarsesse DNS serverisse mis hostib tsooni koopiat. Koopia sekundaarsesse DNS serverisse tehakse algselt tsooni ülekande abil. Kui primaarse DNS serveri tsooni tehakse muudatusi siis primaarne DNS server annab sellest sekundaarsetele DNS serveritele teada ja muudatused kopeeritakse kõikidesse sekundaarsetesse DNS serveritesse selle tsooni kohta tsooni ülekannete abil.

Algselt toetas DNS ainult täielikke tsooniülekandeid. Alates Windows Server 2000-st on võimalik kasutada ka kuhjuvat tsooniülekannet.

Järgnevad sündmused käivitavad tsooniülekande:

  • Ülekanne algatatakse käsitsi sekundaarse serveri konsoolist.
  • Tsooni värskendusintervall aegub.
  • Sekundaarsel serveril käivitatakse DNS serveri teenus.
  • Peaserver teavitab muudatusest tsoonis.

Tsooniülekanded on alati alagatatud antud tsooni sekundaarserveri poolt ja saadetud konfigureeritud peaserverile, mis on tsooni lähte esindajaks. Kui peaserver saab päringu antud tsoonile, siis ta võib vastata kas IXFRi või AXFRiga, et kanda tsoon üle sekundaarsesse serverisse.

Kogu tsooniülekanne toimub järgnevalt:

  1. Kui värskendamisväljal olev väärtus sekundaarses serveris oleval SOAl aegub, siis pärib sekundaarne server primaarselt serverilt primaarse tsooni kohta SOA andmeid.
  2. Primaarne DNS antud tsoonile vastab päringule SOA andmetega.
  3. Sekundaarne DNS server võrdleb seeria numbrit saadud SOAs. Kui number on primaarse DNSi poolt saadetud SOAs suurem, tuleb teha tsoonile uuendus. Sekundaarne DNS server saadab selle peale AXFR päringu.
  4. Primaarne DNS server võtab tsooniülekandmise päringu vastu ja saadab kogu tsooni andmebaasi sekundaarsele DNS serverile, sisuliselt kopeerides tsooni ja jättes tsooni sätted samaks.

Kuhjuv tsooniülekanne toimub järgnevalt:

  1. Sekundaarserveri algsel konfigureerimisel saadab ta oma DNS peaserverile kogu tsooniülekandmise päringu. Peaserver vastab sellele sekundaarserverile kogu tsooni koopia saatmisega.
  2. Igal tsoonisaadetisel on seerianumbri kujul olev versioon. Antud andmed on koos värskendamis intervalliga SOAs. Värskendamisintervall määrab ära, millise ajavahemiku jooksul sekundaarserver esitab lähteserverile päringu tsoonist uue koopia saamiseks.
  3. Kui intervall möödub, siis saadab server SOA kuhjuva tsooniülekande päringu.
  4. Lähteserver vastab sellele päringule, saates serverile SOA kirje, mis sisaldab eelnevalt mainitud seerianumbrit.
  5. Server võrdleb saadud seerianumbrit SOA kirjes oleva seerianumbriga. Kui numbrid on võrdsed siis ülekannet ei pärita ja värskendus intervall algseadistatakse.
  6. Kui seerianumbri väärtus SOA vastuses on suurem, siis saadab server IXFR päringu. Päring sisaldab endas ka kohalikku seerianumbrit, et lähteserver teaks, mis andmeid server vajab.
  7. Olenevalt mitest erinevast faktorist, lähteserver kas vastab kuhjuva või kogutsooniülekandega. Kuhjuva tsooniülekande puhul pole peamist DNS serverit antud tsoonile vaja. Ta võib võida ka kogu tsooni ülekandmise kasuks järgnevatel konditsioonidel:
    1. Primaarne DNS server ei toeta IXFRi
    2. Primaarsel DNS serveril ei ole kõiki vajalikke andmeid, et teha IXFRi
    3. IXFR kasutab rohkem võrguressurssi kui kogu tsooni ülekandmine.

Kui sekundaarne DNS server saab kätte kuhjuva tsooniülekande, loob ta uue versiooni tsoonist ja alustab aegunud ressursikirjete väljavahetamist uutega, alustades vanimast. Kui kõik uuendused on tehtud, asendab DNS server vana tsooniversiooni uuega.

DNSi ressursikirjed (ingl Ressource Records)

DNSi ressursikirjed on DNSi domeeniga seotud informatsioon. Näiteks hosti andmed defineerimaks hosti IP aadressi. Ressursikirjed on DNSi päringutes ja vastustes esitatud binaarkujul, tsoonifailides aga tavalise tekstina. Windows Server 2008-s luuakse ressursikirjed DNSi konsoolis või läbi CLI (ingl. k. Command-Line Interface) käsu dnscmd abil.

Nimi Kirjeldus
Omanik Identifitseerib, kellele antud DNSi domeeni ressursikirje kuulub.
TTL (ingl Time to Live) 32-bitine täisarv, mis esitab maksimaalset aega sekundites, mille jooksul DNS server või klient antud ressursikirjet vahemälus hoiab. Selle aja täitumisel antud kirje kustutatakse. See väli ei ole kohustuslik ja kui seda ei ole siin kirjeldatud, siis klient kasutab minimaalset osa TLLi SOA kirjest.
Klass Defineerib protokolli "pere", mida kasutatakse. See on IN ehk siis Internet system
Tüüp Tuvastab ressursikirje tüübi. Näiteks A indikeerib, et ressursi kirje sisaldab endas hosti aadressi.
Resource Record Data (RDATA) RDATA väli on muutuva pikkusega ja sisaldab ressursikirjes kirjeldatavat informatsiooni. Näiteks A ressursikirjes on 32 bitine IP aadress, mis on omaniku poolt identifitseeritud host.

DNSi andmebaas koosneb ressursikirjetest, mis viitavad erinevale informatsioonile nimedest andmebaasis. DNSi nime ressursi kirje võib identifitseerida kindla ressursi võrgus, näiteks nagu võrgu host mis kasutab kindlat nime, või teenus mis käib antud hosti peal nagu näiteks e-mail. Erinevat tüüpi ressursi kirjed pakuvad arvutite kohta TCP/IP võrgus erinevaid DNSi andmeid. Tüüpilised andmed ressursi kirjetes on välja toodud järgmises näites. Kuid antud näited sisaldavad ka ressursi kirjeid mis on spetsiifilised Windows Server 2000,2003 ja 2008 DNSi implementasioonile.

Ressursi kirjete tüübid
Kirjeldus Klass TTL Tüüp Andmed
SOA Internet (IN) 60 minutit SOA Omaniku nimi, primaarse nimeserveri FQDN, seerianumber, värskendus intervall, korduskatse intervall, aegumis aeg ja miinimum TTL
Hosti (A) kirje Internet (IN) SOA TTL sama tsooni kohta A Omaniku nimi (hosti DNS nimi) ja hosti IPv4 aadress
Hosti (AAAA) kirje Internet (IN) SOA TTL tsoonis AAAA Omaniku nimi (hosti DNS nimi) ja hosti IPv6 aadress
Nimeserver Internet (IN) SOA TTL sama tsooni kohta NS Omaniku nimi ja DNS serveri nimi
MX kirje (ingl Mail Exchanger) Internet (IN) SOA TTL sama tsooni kohta MX Omaniku nimi, MX serveri DNSi nimi ja eelistusnumber (ingl preference number)
CNAME kirje (ingl Canonical Name Record) Internet (IN) SOA TTL sama tsooni kohta CNAME Omaniku nimi (alias) ja hosti DNSi aadress.
SRV kirje (ingl Service Location Record) Internet (IN) SOA TTL sama tsooni kohta SRV Domeeni nimi mis on seotud teenuse nimega (LDAP, KDC, etc), Protokolli kaal, Prioriteetsus, Pordi number.

SOA (ingl Start of Authority) ressursi kirje

Iga tsoon sisaldab SOA ressursi kirjet iga tsoonifaili alguses. SOA ressursi kirje osutab tsoonis hoitava informatsiooni alg- või originaalpunktile. SOA sisaldav endas kõike DNS serverile vajalikku tsooni-spetsiifilist infot antud tsooni haldamiseks. SOA ressursi kirje on esimene ressursi kirje mis luuakse uue tsooni loomisel.

RDATA väli SOA ressursi kirjes sisaldab endas järgmisi välju.

RDATA väljad SOA ressursi kirjes
RDATA väli Kirjeldus
Autoriteetne server Sisaldab primaarse DNS serveri nime, mis on autoriteetne selle tsooni jaoks.
Vastutav isik Näitab administraatori e-maili aadressi kes on vastutav isik selle tsooni puhul. See väli sisaldab (.) märget (@) märke asemel.
Seerianumber Näitab mitu korda tsooni on uuendatud. Kui tsooni sekundaarne server võtab peaserveriga ühendust, et teha kindlaks kas tal on vaja alustada tsooni ülekannet, siis ta võrdleb oma seerianumbrit peaserveri omaga. Kui peaserveri seerianumber on suurem, siis sekundaarne server alustab tsooni ülekannet.
Värskendus Näitab kui tihti tsooni sekundaarne server kontrollib kas tsooni andmeid on muudetud.
Korduskatse Näitab peale tsooni ülekande päringu saatmist (sekundites) kui kaua sekundaarne server ootab enne päringu uuesti saatmist.
Aegumine äitab peale tsooni ülekannet (sekundites) kui kaua tsooni sekundaarne server vastab tsooni päringutle kuni tunnistab enda tsooni kehtetuks.
Miinimum TTL Kehtib kõigile tsooni ressursi kirjetele ükskõik millal TTLi väärtus ei ole kas spesifitseeritud või on lühem kui miinim TTL SOA kirjes. Ükskõik millal DNSi klient saadab serverile päringu, siis server saadab vastu ressursi kirjed mis sisaldavad kirje-spetsiifilist TTLi või miinimum TTLi. Negatiivsed vastused hoitakse vahemälus miinimum TTLi aja välja toodud autoriteetse tsooni SOA ressursi kirjes.

Nimeserveri (NS) ressursi kirje

Nimeserveri (NS) ressursi kirje identifitseerib DNS serveri mis on autoriteetne selle tsooni jaoks st. DNS server mis hostib primaarset või sekundaarset koopiat konkreetsest DNS tsoonist. DNS serveri nime, mis on autoriteetne antud tsoonile hoitakse RDATA väljas. Nimeserveri kirjedid kasutatakse nii primaarsete kui sekundaarsete DNS serverite SOAs kirjeldatud tsoonis indikeerimiseks ja ka indikeerimaks DNS servereid erinevatele delegeeritud tsoonidele. Kui tsoonil on mitu autoriteetset serverit (näiteks primaarne server ja üks või rohkem sekundaarset serverit) siis peab iga ühe kohta olema NSi kirje.

kalle.ee.    IN      NS      ns.kalle.ee.

Kanoonilise nime (ingl Canonical Name ehk CNAME) ressursi kirje

Kanoonilise nime (CNAME) ressursi kirje genereerib FQDNile aliase. CNAME kirjeid kasutades on võimalik võrgu implementatsiooni detaile kasutajate eest varjata. Näiteks kui panna ülesse FTP server nimega ftp1.naide.ee mis kuulub naide.ee domeeni. On aga teada, et varsti on vaja server panna masinasse ftp2.naide.ee. Samas oleks vaja, et mõju kasutajale muudatuse suhtes oleks võimalikult väike. Kõige lihtsam seda teha on luua alias ftp.naide.ee mis viitab masinale ftp1.naide.ee. Kui aga masin milles FTP server asub muudab oma asukohta ftp2.naide.eeks, siis on vaja ainult muuta CNAME kirjet, et ta viitaks masinale ftp2.naide.ee.

ftp.naide.ee.    IN      CNAME      ftp1.naide.ee.

MX (ingl Mail Exchanger) ressursi kirje

MX-kirjega määratakse e-posti "vahejaamad" ehk postiserverid, mida kasutatakse kas kirjade edastamiseks või ongi tegu lõpp punktiga. MX-kirjetega määratakse ära ka postiserverite prioriteet. Kõige väiksema prioriteediväärtusega teekonnakirje määrab domeeni posti eest vastutava postiserveri. Edastamisel kasutatakse SMTP protokolli, et edastada kiri edasi serverile mis asub lõpp punktile lähemal

@ IN MX 5 mailserver1.naide.ee.
@ IN MX 10 mailserver2.naide.ee.
@ IN MX 20 mailserver3.naide.ee.

DNSi nimelahenduse protsess

Kui DNS serveroöe saadetalse päring, siis server võib vastata mitmel erineval viisil. Järgnevad viisid on nendest enamlevinumad.

  • Autoriteetne vastus - Autoriteetne vastus on positiivne vastus, mis on saadetud kliendile koos markeeritud autoriteetse bitiga DNSi sõnumis. See inidkeerib seda, et vastus oli saadud serverilt millel on otse vastutus päritud nime üle.
  • Positiivne vastus - Positiivne vastus koosneb päritud ressursi kirjest või nimestikku kirjetest (ühtlasi tuntud ka kui ressursi kirjete komplekt (ingl ressource record set)) mis sobib päritud DNS domeeni nime ja kirje tüübiga päringu sõnumis. Positiivsed ei pruugi olla autoriteetsed.
  • Viitav vastus - Viitav vastus koosneb täiendavatest ressursi kirjetest msi ei ole spesifitseeritud nime ega tüübi järgi päringus. Seda tüüpi vastus saadetakse kliendile kui rekursiooni protsess ei ole toetatud serveri poolt. Need kirjed on mõeldud kasulike viidetena mida klient saab kasutada, et jätkata päringut kasutades iteratsiooni. Viitav vastus sisaldab lisa infot näiteks naguressursi kirjed, mis on teistsugused kui need mida päriti. Näiteks kui päriti hosti nime "www" ja mitte ühtegi A ressursi kirjet sellele nimele ei leitud aga leiti CNAME ressursi kirje "www"le, siis DNS server saav lisada selle informatsiooni kui ta vastab kliendile. Kui klient saab kasutada iteratsiooni, siis ta võib teha edasisi päringuid kasutades viitavat informatsiooni, et üritada täielikult lahendada päritav nimi.
  • Negatiivne vastus - Negatiivne vastus serveri poolt võib tähendada, et kui server üritas rekursiivselt, täielikult ja autoriteetselt lahendada päringut esines üks kahest probleemist.
    • Autoriteetne server raporteeris, et sellist nime ei eksisteeri DNSi nimevahemikus
    • Autoriteetne server raporteeris, et päritud nimi eksisteerib, kuid ühtegi kirjet tüübi kohta ei eksisteeri sellele nimele.

Lahendaja edastab päringu vastuse tagasi päringu esitanud programmile ja paneb vastuse vahemällu.

Root vihjed (ingl root hints)

DNS serverid lahendavad DNS päringuid kasutades lokaalseid autoriteetseid või vahemälus olevaid andmeid. Kui aga serveris ei ole päritud andmeid ja ta ei ole autoriteetne päritud nime suhtes, siis ta võib sooritada rekursiivse lahenduse või saata viide teisele DNS serverile olenevalt sellest kas klient päris rekursiooni või mitte. DNS serveri teenus peab olema konfigureeritud root vihjetega (ingl root hints), et lahendada päringuid nimedele mille suhtes server ei ole autoriteetne või millele tal ei ole delegatsiooni. Root vihjed sisaldavad endas nimesi ja IP aadresse DNS serveritele mis on autoriteetsed root tsooni suhtes. Nimekirja root serveritest on võimalik haldada DNSi konsoolist või kasutades CLI-s dnscmd'd.

Vaikimisi kasutavad MS DNS serverid root vihjete faili nimega cache.dns. cache.dns faili hoitakse %systemroot%\System32\Dns kaustas. Kui server käivitub siis laetakse cache.dns ka eelnevalt mällu.

Kui kasutada Windows Server 2008 GUId DNS serveri konfigureerimiseks, siis ta saadab NS päringu root domeeni kohta eelistatud ja alternatiivsetele DNS serveritele. Päringu vastus pannakse root vihjetesse DNS serveril. Kui ühtegi root serverit ei tuvastata siis viisard saadab päringu DNS serveritele mis on nimetatud cache.dns failis ja mis vastavad root serveritele internetis. Kui mitte ühtegi root serverit ei tuvastata, siis viisard teatab kasutajale, et ta kas teeks antud serveri root serveriks või lisaks root vihjed käsitsi. Root vihjeid tasuks alati uuendada, sest siis töötab server effektiivsemalt. Root vihjeid tuleks uuendada iga kord kui uus server lisatakse või olemasolevat muudetakse.

Iteratiivne ja Rekursiivne DNSi päring

Iteratiivne päring
Rekursiivne päring