Microsoft DNS
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].
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 zone transferit, 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 andmete (ingl Ressource 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.
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 andmeid (ingl Ressource 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 zone transferi abil. Zone transfer on sisuliselt tsooni faili kopeerimine primaarsest serverist sekundaarsesse. Zone transfer võib olla full zone transfer (ehk AXFR), kus kopeeritakse kogu tsooni fail primaarsest serverist sekundaarsesse serverisse või 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.
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 zone transferi abil. Zone transfer on sisuliselt tsooni faili kopeerimine primaarsest serverist sekundaarsesse. Zone transfer võib olla full zone transfer (ehk AXFR), kus kopeeritakse kogu tsooni fail primaarsest serverist sekundaarsesse serverisse või 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.