Microsoft DNS

From EIK wiki

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.

Dns namespace.png

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.

Dns zone delegation2.JPG

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. k. 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. k. 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 ressursikirje võib identifitseerida kindla võrguressursi, näiteks kindlat nime kasutava hosti, või teenuse, mis käib antud hosti peal, näiteks e-mail. Erinevat tüüpi ressursikirjed pakuvad arvutite kohta TCP/IP võrgus erinevaid DNSi andmeid. Tüüpilised andmed on välja toodud järgmises näites. Antud näited sisaldavad ka Windows Server 2000,2003 ja 2008 DNSi implementasioonile spetsiifilisi ressursikirjeid.

Ressursi kirjete tüübid
Kirjeldus Klass TTL Tüüp Andmed
SOA Internet (IN) 60 minutit SOA Omaniku nimi, primaarse nimeserveri FQDN, seerianumber, värskendusintervall, korduskatse intervall, aegumisaeg 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. k. Mail Exchanger) Internet (IN) SOA TTL sama tsooni kohta MX Omaniku nimi, MX serveri DNSi nimi ja eelistusnumber (ingl. k. preference number)
CNAME kirje (ingl. k. Canonical Name Record) Internet (IN) SOA TTL sama tsooni kohta CNAME Omaniku nimi (alias) ja hosti DNSi aadress.
SRV kirje (ingl. k. Service Location Record) Internet (IN) SOA TTL sama tsooni kohta SRV Teenuse nimega seotud domeeninimi (LDAP, KDC, etc), protokolli kaal, prioriteetsus, pordinumber.

SOA (ingl. k. Start of Authority) ressursikirje

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

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

RDATA väljad SOA ressursi kirjes
RDATA väli Kirjeldus
Autoritatiivne server Sisaldab selle tsooni jaoks autoritatiivse primaarse DNS serveri nime.
Vastutav isik Näitab selle tsooni eest vastutava isiku e-maili aadressi. (@) märke asemel kasutatakse (.) märget.
Seerianumber Näitab, mitu korda on tsooni uuendatud. Kui tsooni sekundaarserver võtab peaserveriga ühendust, et teha kindlaks vajadus tsooniülekannet alustada, siis võrdleb ta oma seerianumbrit peaserveri omaga. Kui peaserveri seerianumber on suurem, siis sekundaarserver alustab tsooniülekannet.
Värskendus Näitab kui tihti tsooni sekundaarserver 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 Näitab sekundites, kui kaua tsooni sekundaarne server pärast tsooniülekannet tsooni päringutele vastab enne, kui enda tsooni kehtetuks tunnistab.
Miinimum TTL Kehtib kõigile tsooni ressursikirjetele alati, kui TTLi väärtus ei ole kas spetsifitseeritud või on lühem kui minimaalne TTL SOA kirjes. Ükskõik, millal DNSi klient serverile päringu saadab, saadab server vastu ressursikirjed, mis sisaldavad kirje-spetsiifilist TTLi või minimaalset TTLi. Negatiivsed vastused hoitakse vahemälus miinimum TTLi aja välja toodud autoriteetse tsooni SOA ressursi kirjes.

Nimeserveri (NS) ressursi kirje

Nimeserveri (NS) ressursikirje identifitseerib selle tsooni jaoks autoritatiivse DNS serveri, st. DNS server mis hostib konkreetse DNS tsooni primaar- või sekundaarkoopiat. Antud tsooni jaoks autoritatiivse DNS serveri nime hoitakse RDATA väljal. Nimeserveri kirjeid kasutatakse nii primaarsete kui sekundaarsete DNS serverite SOAs kirjeldatud tsoonis indikeerimiseks ja ka indikeerimaks DNS servereid erinevatele delegeeritud tsoonidele. Kui tsoonil on mitu autoritatiivset serverit (näiteks primaarserver ja üks või rohkem sekundaarserverit), siis peab igaühe kohta leiduma NSi kirje.

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

Kanoonilise nime (ingl. k. Canonical Name ehk CNAME) ressursikirje

Kanoonilise nime (CNAME) ressursi kirje genereerib FQDNile aliase. CNAME kirjeid kasutades on võimalik võrgu implementatsiooni detaile kasutajate eest varjata. Näiteks on vaja panna üles FTP server nimega ftp1.naide.ee mis kuulub naide.ee domeeni. On aga teada, et varsti on vaja server üle viia masinasse ftp2.naide.ee. Samas on vaja, et muudatuse mõju kasutajale oleks võimalikult väike. Kõige lihtsam viis 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. k. Mail Exchanger) ressursi kirje

MX-kirjega määratakse e-posti "vahejaamad" ehk postiserverid, mida kasutatakse kas kirjade edastamiseks või on tegu lõpp-punktiga. MX-kirjetega määratakse ära ka postiserverite prioriteet. Kõige väiksema prioriteediväärtusega teekonnakirje määrab domeenis posti eest vastutava postiserveri. Kirja edastamiseks lõpp-punktile lähemal asuvale serverile kasutatakse SMTP protokolli.

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

DNSi nimelahenduse protsess

Kui DNS serverie saadetakse päring, siis server võib vastata mitmel erineval viisil. Järgnevad on nendest enamlevinumad.

  • Autoriteetne vastus - Autoriteetne vastus on positiivne vastus, mis on saadetud kliendile koos markeeritud autoriteetse bitiga DNSi sõnumis. See näitab, et vastus oli saadud serverilt, millel on otsevastutus päritud nime üle.
  • Positiivne vastus - Positiivne vastus koosneb päritud ressursikirjest või kirjete nimestikku (ka "ressursikirjete komplekt" (ingl. k. resource record set)) mis sobib päritud DNS domeeni nime ja kirje tüübiga päringusõnumis. Positiivsed vastused ei pruugi olla autoriteetsed.
  • Viitav vastus - Viitav vastus koosneb täiendavatest ressursikirjetest, mis ei ole päringus spetsifitseeritud ei nime ega tüübi järgi. Seda tüüpi vastus saadetakse kliendile, kui rekursiooni protsess ei ole toetatud serveri poolt. Need kirjed on mõeldud kasulike viidetena, mida klient saab iteratsiooni kasutades päringu jätkamisel kasutada. Viitav vastus sisaldab lisainfot, nagu näiteks ressursikirjed, 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 saab selle informatsiooni kliendile vastamisel lisada. Kui klient saab kasutada iteratsiooni, siis võib ta viitavat informatsiooni kasutades teha edasisi päringuid, et üritada päritav nimi täielikult lahendada.
  • Negatiivne vastus - Negatiivne vastus serveri poolt võib tähendada, et kui server üritas rekursiivselt, täielikult ja autoritatiivselt päringut lahendada, ilmnes ü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.

Juurvihjed (ingl. k. root hints)

DNS serverid lahendavad DNS päringuid kasutades lokaalseid autoritatiivseid või vahemälus olevaid andmeid. Kui aga serveris ei ole päritud andmeid ja ta ei ole autoritatiivne päritud nime suhtes, siis ta võib sooritada rekursiivse lahenduse või saata viite teisele DNS serverile olenevalt sellest, kas klient päris rekursiooni või mitte. DNS serveri teenus peab olema konfigureeritud juurvihjetega, et lahendada päringuid nimedele, mille suhtes server ei ole autoritatiivne või millele tal ei ole delegatsiooni. Juurvihjed sisaldavad endas nimesid ja IP aadresse DNS serveritele, mis on autoritatiivsed juurtsooni suhtes. Juurserverite nimekirja on võimalik hallata DNSi konsoolist või kasutades CLI-s käsku dnscmd.

Vaikimisi kasutavad MS DNS serverid juurvihjete faili nimega cache.dns. Cache.dns faili hoitakse %systemroot%\System32\Dns kaustas. Server käivitamisel laetakse mällu ka cache.dns.

Kui DNS serveri konfigureerimiseks kasutada Windows Server 2008 GUId, siis see saadab nimeserveri päringu juurdomeeni kohta eelistatud ja alternatiivsetele DNS serveritele. Päringuvastus pannakse DNS serveri juurvihjetesse. Kui ühtegi juurserverit ei tuvastata, siis viisard saadab päringu cache.dns failis nimetatud DNS serveritele, mis vastavad juurserveritele Internetis. Kui mitte ühtegi juurserverit ei tuvastata, siis viisard teatab kasutajale, et ta kas teeks antud serveri juurserveriks või lisaks juurvihjed käsitsi. Juurvihjeid tasuks alati uuendada, sest siis töötab server efektiivsemalt. Juurvihjeid tuleks uuendada iga kord, kui lisatakse uus server või muudetakse olemasolevat.

Iteratiivne ja rekursiivne DNS päring

Iteratiivne päring
Rekursiivne päring

Kasutatud allikad

  • Tony Northrup and J.C. Mackin (2008). MCTS Self-Paced Training Kit (Exam 70-623): Windows Server 2008 Network Infrastructure Configuration. Redmond: Microsoft Press
  • Microsoft TechNet - DNS

Koostaja

Sander Laasik A21