Microsoft DNS: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Slaasik (talk | contribs)
Slaasik (talk | contribs)
Line 211: Line 211:
== Iteratiivne ja Rekursiivne DNSi päring ==
== Iteratiivne ja Rekursiivne DNSi päring ==
[[Image:Iteratiivne_paring.JPG|Iteratiivne päring|thumb|left|upright=4]]
[[Image:Iteratiivne_paring.JPG|Iteratiivne päring|thumb|left|upright=4]]
[[Image:Rekursiivne_paring.JPG|Rekursiivne päring|thumb|left|upright=4]]

Revision as of 08:18, 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. Tema töö põhimõte seisneb selles, et ta võtab inimesele mugavalt loetava veebiaadressi näiteks "http://www.neti.ee", mis sisaldab endas domeeni nime 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 domeeni nimesi, 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 samas üle aastate hoolimata sellest, et teenusepakkuja vahetab kas oma füüsilist asukohta ja selletõttu ka oma IP-aadressi või lihtsalt IP-aadressi. Inimestel on kergem jätta meelde domeeni aadresse mis on nimelised kui neile vastavaid IPv4 või IPv6 aadresse.

DNS on sisuliselt hierarhiliselt korraldatud hajusandmebaas, kus kõige tipus on "root" tsooni serverid. Seda nimetatakse ka ühtlasi kõrgema astme domeeniks (ingl 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 root tsooniks peetakse "." osa domeeniks. Kõrgema astme domeeniks nimetatkse aga ".com" osa. Teise astme domeeniks on aga "microsoft". Iga nimi kõrgema astme domeenis "com" peab olema unikaalne. Samas aga üle domeenide võib olla ka duplikatsiooni näiteks: kalle.com ja kalle.org, mis on tegelikult täiesti erinevad masinad. 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 astme domeenid on registreeritud üksikisikud või organisatsioonid nagu näiteks Microsofti Korporatsioon või eesti.ee domeen, mis on Eesti riigiportaal. Teise astme 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 suur eelis hierarhilisel struktuuril on see, et meil on võimalik hoida 2 sama hosti nimega masinat kahes erinevas kohas struktuuris. Näiteks: arvuti1.ari.lapland.fi ja arvuti1.it3.lapland.fi.

DNS serverite tüübid on määratud 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 tsooni andmetesse, näiteks lisatakse ressursi andmeid tsoonile, siis tuleb teha see muudatus selle tsooni primaarsesse serverisse. Vastavad muudatused kanduvad ka edasi sekundaarsetesse serveritesse. 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 zone transfer), siis peab vastavalt primaarne server ja tsoon juba olemas olema.
  • Caching-only server - Caching-only serverid ei hosti ühtegi tsooni ja ei ole autoratiivsed mingi domeeni jaoks. Caching-only DNS serverid alustavad tühja vahemäluga ja täidab seda ressursi kirjete (ingl Resource Records) sissekannetega vastates klientide päringutele. Vastav informatsioon on siis juba olemas järgnevatele klientide päringutele. Caching-only server on vajalik kohtades kus on lokaalselt vaja DNSi funktsionaalsust, kuid eraldi domeeni või tsooni pole vaja luua.

DNS tsoonid

Tsoonid on oluline osa DNSi hierarhilisest struktuurist. Tsoonid aitavad jaotada nimede lahdemise töökoormust mitmete ressursside vahel. Tsoon on kollektsioon "hosti" nimedest ja neile vastavatest IP aadressitest. DNSi tsoon võib endas hoida ühe või mitme domeeni ressursi kirjeid (ingl Resource Records). Üks tsoon võib hoida endas rohkem kui ühte domeeni ainult juhul kui domeenid on järjestikkused ehk siis on ühendatud otsese "parent-child" suhtega. Kui domeeni nimi jaotada ära tsoonideks, siis on võimalik selle abil delegeerida domeeni nime eri osade vastutust.

Lühidalt hoitakse DNS serverites tsoonide infot kahel viisil:

  • Tekstipõhises tsooni failis mis sisaldab nimekirja kaardistustest (ingl mappings), mida kutsutakse standard tsooniks (ingl standard zone) või faili-paketeeritud tsooniks (ingl file-backed zone)
  • Active Directory andmebaasis, mida nimetatakse Active Directory integreeritud tsooniks (ingl Active Directory-integrated zone)

Iga tsoon (kas standard või AD integreeritud) võib vastavalt päringu tüüpidele millele ta vastata saab olla kas, forward lookup zone või reverse lookup zone. Iga selline tsoon võib omakorda olla veel 3 erinevat tüüpi:

  • Primaarne tsoon (ingl Primary zone)
  • Sekundaarne tsoon (ingl Secondary zone)
  • in-addr.arpa tsoon
  • Stub tsoon (ingl Stub zone) - Toetatud ainult Windows Server 2003 ja 2008 poolt.

Selle järgi on näha, et DNS server võib olla väga erinevate tsooni tüüpidega, näiteks nagu: Standard primary forward lookup zone

Konfigureerides DNS servereid, on võimalik konfigureerida üks server hostimaks mitut tsooni kui vaja ja on ka võimalik segada kokku erinevaid tsoonide tüüpe. Näiteks üks DNS server võib hostida sama aegselt primaarset tsooni kalle.com 'le ja sekundaarset tsooni malle.com 'le. See võib osutuda suureks 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 on Windows Server 2008 baasil. Erinevatel OSidel võib see erineda.

  • Standard primaarne tsoon - Standard primaarne tsoon hostib kirjutamis/lugemis õigustega koopiat DNS tsooni kohta kus resource recordeid manageeritakse ja luuakse. Ainult 1 server võib hostida master koopiat tsoonist. Ükski teine primaarne server ei ole lubatud antud tsooni master koopiat hostida ja ainult server mis hostib primaarset tsooni tohib aksepteerida dünaamilisi uuendusi ja töödelda tsooni muutusi. DNS serverite ülesseadmisel domeenile asuv primaarne server enamasti ksukil kus tema tsooni failile on administratiivne ligipääs.
  • Standard sekundaarne tsoon - Tsooni 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 Wide Area Network) linkide. Sekundaarne tsoon on sisuliselt ainult lugemisõigustega koopia standardsest pirmaarsest tsoonist. Standartsetes tsoonides saadetakse, informatsioon primaarsetest tsoonidest sekundaarsetesse tsoonidesse tsooni ülekande (ingl zone transfer) abil. Tsooni ülekanne on sisuliselt tsooni faili kopeerimine primaarsest serverist sekundaarsesse. Tsooni ülekanne võib olla täis tsooni ülekanne (ingl full zone transfer) (ehk AXFR), kus kopeeritakse kogu tsooni fail primaarsest serverist sekundaarsesse serverisse või lisanduv tsooni ülekanne (ingl incremental zone transfer) (ehk IXFR), kus kopeeritakse ainult muudetud informatsioon pärast algelist AXFRi. Seda kasutatakse enamasti liikluse vähendamiseks primaarsete ja sekundaarsete serverite 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 subnet maskile. Näiteks 192.168.100.2 subnetmaskiga 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 ehitada domeeni puud. Kuna FQDNid (ingl Fully Qualified Domain Name) lähevad täpsemast üldisemaks ja IP aadressid lähevad üldisemast täpsemaks siis selleks, et teha tagurpidi pä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 baseeruvates võrkudes. IPv6 baseetuvatel reverse lookup tsoonides kasutatakse ip6.arpa domeeni, mis pakub sama funktsionaalsust nagu in-addr.arpa domeen IPv4 võrkudes.
  • Stub tsoon - DNS server, mis käib Windows Server 2003 või 2008 baasil toetab ka uut tüüpi tsooni nimega Stub tsoon. Stub tsoon on koopia tsoonist mis hoiab endas vajalike ressursi andmeid identifitseerimaks autoratiivseid DNS serveid selle tsooni jaoks. Stub tsoon on pointer DNS server pihta mis on autoratiivne selle tsooni jaoks ja seda kasutatakse et hoida või parandada DNSi lahendumise efektiivsust. Stub tsoon hoiab endas alamhulka tsooni andmetest mis sisaldavad endas SOA'd (ingl Start of Authority), NSi (ingl Name Server) ja A kirjet. Nagu ka standard sekundaarses tsoonis ei saa ka Stub tsoonis muuta ressursi andmeid. Neid saab muuta vaid primaarses tsoonis. Stub tsoonid võimaldavad DNS serveril lahendada DNS päringuid kasutades Stub tsooni nimekirja nimeserveritest ilma saatmata päringut internetti või root serverisse. Kasutades Stub tsoone on võimalik läbi terve DNSi infrastruktuuri jaotada laiali nimekiri autoratiivsetest DNS serveritest mingi tsooni kohta, koormamata sealjuures sekundaarseid tsoone. Siiski ei paku Stub tsoonid sama funktsionaalsust kui sekundaarsed tsoonid ja neid ei tohiks võtta arvesse lahendusena aadressite liiasuse vähendamisel ja koormuse jaotamisel.

Tsoonide info Active Directorys hoidmise eelis

  • Rikete taluvus - Liigset informatsiooni DNSi tsoonide kohta saab hoida mitmetes serverites korraga.
  • Turvalisus - DNS tsoonid mida hoitakse Active Directorys saavad ära kasutada tugevdatud turvalisust kasutades DACLi (ingl Discretionary Access Control List). DACL võimaldab määrata, mis kasutajad ja mis grupid saavad muuta DNSi 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 - Mis see tähendab on see, et tsoone saab updateida rohkem kui ühest kohast näiteks rohkem kui ühest serverist. Kõik domeeni kontrollerid kus tsoone hoitakse saavad vastavaid tsoone muuta ja muudatused kantakse üle ka teistesse domeeni kontrolleritesse kus selle tsooni faili hoitakse.
  • Tõhus replikatsioon - Zone transferid asendatakse palju tõhusama AD replikatsiooni vastu. See on väga oluline just võrkudele millel on aeglased ühendused, sest AD pakib eelnevalt kokku erinevate saitide vahel ülekantavaid replikatsiooni andmed.
  • Sekundaarsete tsoonide kasutamise võimaluse hoidmine - Tsoone mida hoitakse ADs on võimalik saata standard sekundaarsetele serveritele ja luu sinna sekundaarseid tsoone sama moodi nagu kantakse üle file-backed sekundaarseid tsoone.

Windows Server 2003 ja Windows Server 2008 pakuvad effektiivset viisi replikeerimaks DNS tsoonide informatsiooni kui Windows 2000 Server. Windows 2000 Serveri all olevatesse AD tsoonidesse minevad uuendused replikeeriti kõikidesse domeeni kontrolleritesse selles domeenis, ü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 domeeni kontrolleritesse selles domeenis.
  • Kõikidesse domeeni kontrolleritesse mis on DNS serverid lokaalses domeenis, 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 standartsele primaarsele tsoonile. Väljaspool ADd on primaarsed ja sekundaarsed serverid vajalikud kuna nad järgivad ühte kindlat ühte pea uuendus mudelit (ingl master update model), kus ainult ühel serveril on kirjutamisõigustega koopia tsooni andmebaasist. Siiski, AD-integreeritud tsoonid järgivad multimaster uuendus mudelit, mis tähendab, et kõigil AD-integreeritud tsoonidel on olemas kirjutamis- ja lugemisõigustega koopiat tsoonist ja võivad teha tsooni informatsioonis muudatusi. Järelikult, primaarsed ja sekundaarsed tunnusjooned ei ole vajalikud.
  • Active Directory-integreeritud reverse lookup tsooni kasutatakse IP aadressist nime saamiseks ja see on sarnane standard in-addr.arpa tsoonile. Reverse lookup tsooni hoitakse ja uuendataks sama moodi nagu Active Directory-integreeritud forward lookup tsooni.

DNSi delegeerimine

Algselt hoiab tsoon endas ainult ühe DNSi domeeni nime informatsiooni. Kui aga lisatakse uusi domeene siis tuleb otsustada kas domeen on osa samast tsoonist või mitte. Kui otsustatakse lisada alamdomeen, siis võib hallata seda alamdomeeni osana algsest tsoonist või delegeerida selle haldamine mingile teisele tsoonile.

Näiteks, antud joonisel on näha kalle.ee domeen, mis sisaldab endas firma "OÜ Kalle" domeeninimesi. Kui kalle.ee domeen algselt loodi ühele 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 kaasa arvatud 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 oma enda tsooni poolt. Siiski, kalle.ee tsoon peab sisaldama mõnda ressursi kirjet, et pakkuda delegeerimis informatsiooni, mis viitaks DNS serveritele, mis on autoriteetsed 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 on lisaks veel võimalik kasutada ka võimalik kasutada lisanduvat tsooni ülekannet.

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

  • Ülekanne algatatakse käsitsi sekundaarse serveri konsoolist.
  • Tsooni värskendus intervall aegub.
  • Käivitatakse DNS serveri teenus sekundaarse serveri peal.
  • Peaserver teavitab muudatusest tsoonis.

Tsooni ülekanded on alati alagatatud sekundaarse serveri pool antud tsoonile ja saadetud konfigureeritud peaserverile, mis on esindajaks tsooni lähtele. 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ärskendamis vä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, kuid jättes tsooni sätted samaks.

Lisanduva tsooni ülekanne toimub järgnevalt:

  1. Algselt, kui sekundaarne server konfigureeritakse, saadab ta oma pea DNS serverile kogu tsooni ülekandmise päringu. Peaserver vastab sellele saates sekundaarsele serverile kogu tsooni koopia.
  2. Igal tsooni saadetisel on versioon, mis on seerianumbri kujul. Antud andmed on koos värskendamis intervalliga SOAs. Värskendamis intervall määrab ära mis ajavahemiku jooksul sekundaarne server esitab lähteserverile päringu tsoonist uue koopia saamiseks.
  3. Kui intervall aegub, siis saadab server SOA päringu lisanduva tsooni ülekandele.
  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 lisanduva või kogu tsooni ülekandega. Peamist DNS serverit antud tsoonile ei ole vaja, et teha lisanduvat tsooni ülekannet. 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 lisanduva tsooni ülekande kätte saab, loob ta uue versiooni tsoonist ja alustab aegunud ressursi kirjete väljavahetamist uutega, alustades vanimast. Kui kõik uuendused on tehtud asendab DNS server vana versiooni tsoonist uuega.

DNSi ressursi kirjed (ingl Ressource Records)

DNSi ressursi kirjed on informatsioon, mis on seotud DNSi domeeniga. Näiteks hosti andmed defineerimaks hosti 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.

Nimi Kirjeldus
Omanik Identifitseerib kellele antud DNSi domeeni ressursi kirje 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.
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 hosti 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.

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 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