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.