Microsoft DNS
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].
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 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.
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 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 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 resource recordit, 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:
- 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.
- Primaarne DNS antud tsoonile vastab päringule SOA andmetega.
- 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.
- 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:
- 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.
- 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.
- Kui intervall aegub, siis saadab server SOA päringu lisanduva tsooni ülekandele.
- Lähteserver vastab sellele päringule saates serverile SOA kirje, mis sisaldab eelnevalt mainitud seerianumbrit.
- Server võrdleb saadud seerianumbrit SOA kirjes oleva seerianumbriga. Kui numbrid on võrdsed siis ülekannet ei pärita ja värskendus intervall algseadistatakse.
- 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.
- 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:
- Primaarne DNS server ei toeta IXFRi
- Primaarsel DNS serveril ei ole kõiki vajalikke andmeid, et teha IXFRi
- 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 resource recordite väljavahetamist uutega, alustades vanimast. Kui kõik uuendused on tehtud asendab DNS server vana versiooni tsoonist uuega.
DNS Resource Records
DNSi resource record on informatsioon, mis on seotud DNSi domeeniga. Näiteks hosti andmed defineerimaks hosti IP aadressi. Resource recordid on esitatud DNSi päringutes ja vastustes binaarsel kujul. Tsooni failides aga tavalise tekstina. Windows Server 2008 luuakse resource recordid DNSi konsooli või läbi CLI (ingl Command-line Interface) dnscmd abil.
Nimi style="background:#D3D3D3;" | Kirjeldus |
---|---|
Omanik | Identifitseerib kellele antud DNSi domeeni resource record kuulub. |
TTL (ingl Time to Live) | 32-bitine täisarv, mis esitab maksimum aega sekundites, mille jooksul DNS server või klient antud resource recordit 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. |