Domeeninimede süsteem (DNS) on süsteem, mida kasutatakse arvuti hostinime teisendamiseks IP-aadressiks Internetis. Näiteks kui arvutil on vaja suhelda veebiserveriga example.net, vajab arvuti veebiserveri example.net IP-aadressi. DNS-i ülesanne on muuta hostinimi veebiserveri IP-aadressiks. Seda nimetatakse mõnikord Interneti telefoniraamatuks, sest see teisendab veebisaidi nime, mida inimesed teavad, numbriks, mida Internet tegelikult kasutab.
DNS on määratletud RFC-dokumentides (Request for Comments). Need on tehnilised dokumendid arvutivõrkude kohta. DNS on peamiselt määratletud RFC 1034 ja RFC 1035 abil. On olemas hilisemad RFC-d, mis määratlevad süsteemi muudatusi ja lisafunktsioone (näiteks DNSSEC, DoH ja DoT).
Kuidas DNS töötab (ülevaade)
Lihtsustatud järjestus, kuidas brauser leiab domeeni IP-aadressi:
- Kasutaja sisestab brauserisse aadressi example.net.
- Brauser küsib oma operatsioonisüsteemi või süsteemi poolt seadistatud DNS-resolveri (tavaliselt Interneti-teenuse pakkuja või avalik DNS) IP-aadressi.
- Kui resolveril on vastav vaste vahemälus (cache), tagastatakse see kohe. Kui mitte, alustab resolver päringut DNS-hierarhias: esmalt küsitakse root-nimeserverilt, seejärel vastava TLD-nimeserverilt (nt .net) ja lõpuks domeeni autoritatiivselt nimiserverilt.
- Autoritatiivne nimiserver annab vastava DNS-kirje (nt A- või AAAA-kirje), mille resolver edastab kliendile ja mis võimaldab ühenduse loomist IP-aadressi kaudu.
DNS-i peamised komponendid
- Root-nimiserverid – ülemaailmne tipptase, mis suunavad päringud edasi sobivale TLD-nimiserverile.
- TLD-nimiserverid – haldavad kõrgtaseme domeene nagu .com, .org, .ee jne ning viitavad autoritatiivsetele nimiserveritele.
- Autoritatiivsed nimiserverid – hoiavad tegelikke DNS-kirjeid konkreetse domeeni kohta ja annavad lõplikku teavet.
- DNS-resolverid – vahendavad kliendi päringuid DNS-hierarhias (rekursiivsed resolverid teevad kogu töö kliendi eest).
Tüüpilised DNS-kirjed
- A – suunab domeeni IPv4-aadressile (näide: 93.184.216.34).
- AAAA – suunab domeeni IPv6-aadressile.
- CNAME – alias (nn kanoniline nimi), mis suunab ühe domeeni teise nimele.
- MX – määrab e-posti serverid, mis vastu võtavad domeeni posti.
- TXT – sisaldab vabatekstilisi andmeid, sageli kasutusel SPF-, DKIM- ja muud autentimisreetastena.
- NS – loetleb autoritatiivsed nimiserverid domeeni jaoks.
- PTR – pöörd-aadressi (reverse DNS) kirje, mis suunab IP-aadressi tagasi domeeninimele.
Vahemälu ja TTL
Iga DNS-kirje sisaldab TTL-väärtust (Time To Live), mis määrab, kui kaua resolverid võivad vastust vahemälus hoida. Vahemälu vähendab võrgukoormust ja kiirendab vastuseid, kuid muudatused DNS-kirjeldes võivad levitada aeglaselt, kuni TTL aegub. Seetõttu tuleb DNS-kirjeid muutes arvestada TTL-i ja leviku (propagation) ajaga.
Turvalisus ja privaatsus
- DNSSEC – lisab DNS-i digitaalallkirjastuse, mis aitab vältida DNS-i võltsimist (spoofing) ja tagada, et vastus pärineb autoritatiivsest allikast.
- DoH (DNS over HTTPS) ja DoT (DNS over TLS) – krüpteerivad DNS-päringud, suurendades privaatsust ja raskendades kolmandate osapoolte pealtkuulamist.
- Siiski ei lahenda krüpteerimine kõiki privaatsus- või turvariske: DNS-i operaator võib siiski päringuid logida ja kurjategijad võivad kasutada DDoS-ründeid DNS-infrastruktuuri sihtides.
Levinud probleemid ja haldus
- DNS-i riketel võivad olla suured tagajärjed: veebilehed muutuvad kättesaamatuks või e-post ei tööta.
- Muudatuste levimine võib kesta mitu tundi või isegi päevi, sõltuvalt TTL-ist ja vahemälust.
- Turvalisuse tagamiseks kasutatakse tihti mitut autoritatiivset nimiserverit, DNSSEC-i ja kaasteenuseid (näiteks kardan sihtmärkide vastu mitmekordset teenusepakkujat).
- Täpsemaks probleemide diagnoosimiseks kasutatakse tööriistu nagu dig, nslookup ja veebipõhised DNS-analüsaatorid.
Kokkuvõttes on DNS Interneti toimimise üks põhialuseid: see muudab inimloetavad nimed masinloetavate aadressideks, jagab koormust hajutatult üle globaalse infrastruktuuri ja toetab mitmeid laiendusi turvalisuse ning jõudluse parandamiseks.