Hvordan DNS fungerer: fra nettleser til svar

Hvert eneste sekund gjennomføres milliarder av DNS-oppslag rundt om i verden, de fleste uten at noen merker det. Hvordan DNS fungerer avgjør om du får se feno.no, betaler med nettbanken eller mottar e-post. Her forklarer vi hele reisen fra du taster inn en adresse, til svaret ligger på skjermen din.

TL;DR: Et DNS-oppslag er spørsmålet om hvilken IP-adresse et domenenavn peker til. Nettleseren sjekker først egen cache, deretter operativsystemet, og til slutt en rekursiv oppløser. Oppløseren arbeider seg nedover i hierarkiet, fra rot-servere til toppdomene-server til autoritativ navneserver, som leverer det endelige svaret sammen med en TTL som avgjør hvor lenge det kan caches.

Hvordan DNS fungerer i praksis

DNS, forkortelse for Domain Name System, er internettets adressebok. Det oversetter domenenavn som feno.no til IP-adresser som 198.51.100.20, fordi datamaskiner adresserer hverandre med tall, ikke med navn. Et oppslag er kort sagt en kjede av spørsmål som til slutt ender i ett svar.

Steg 1: Nettleserens egen cache

Før nettleseren sender noe ut på nettet, sjekker den sitt eget minne. Chrome, Firefox og Safari lagrer nylige DNS-svar i cache, ofte i noen minutter. Har du vært på nettsiden nylig, er svaret allerede der, og prosessen tar null tid.

Steg 2: Operativsystemets cache og hosts-filen

Finner ikke nettleseren svaret, spør den operativsystemet. Windows, macOS og Linux har alle sin egen resolver-cache, og i tillegg en hosts-fil som kan overstyre oppslag med faste linjer. På Windows tømmer du cachen med ipconfig /flushdns, på macOS med sudo dscacheutil -flushcache.

Steg 3: Den rekursive oppløseren

Er begge cachene tomme, sendes spørsmålet videre til en rekursiv navneserver, også kalt resolver. Det er typisk internettleverandørens egen server, eller en offentlig tjeneste som Google på 8.8.8.8, Cloudflare på 1.1.1.1 eller Quad9 på 9.9.9.9. Selve oppslaget går over UDP på port 53, med TCP som reserve for store svar. Oppløseren jobber på dine vegne og har en langt større cache enn nettleseren.

Steg 4: Rot-server og toppdomene-server

Oppløseren starter med å spørre en av verdens 13 rot-servere. I praksis skjuler de 13 navnene seg bak et langt større antall fysiske servere spredt over hele verden, takket være anycast. Rot-serverne kan ikke svaret, men de vet hvem som forvalter .no-toppdomenet, nemlig Norid, Norges offisielle domeneregister. Norid sine servere vet i sin tur hvem som er autoritativ for hvert enkelt .no-domene.

Steg 5: Den autoritative navneserveren svarer

Helt til slutt kommer spørsmålet til den autoritative navneserveren for domenet. Det er serveren som eier fasiten, og som forvaltes av domeneregistraren din. Den svarer med A-posten (IPv4-adressen), AAAA-posten (IPv6-adressen) eller et annet svar, sammen med en TTL, forkortelse for Time to Live.

TTL-en står i sekunder og bestemmer hvor lenge svaret kan ligge i cache. Høy TTL gir raskere oppslag, lav TTL gir raskere propagering når du endrer noe. Oppløseren leverer svaret til nettleseren og lagrer det selv i TTL-en. Nettleseren kobler deretter til IP-adressen, og resten er vanlig HTTPS-trafikk. Hele oppslaget tar typisk mellom 20 og 100 millisekunder med kald cache.

Rekursiv og autoritativ: to roller du må kjenne

Når du jobber med DNS, er det nyttig å skille de to rollene. Den rekursive resolveren spør, og den autoritative serveren svarer. Når du endrer A-posten (IP-adressen) eller MX-posten (Mail Exchange, altså hvor e-post skal leveres) hos domeneregistraren din, er det den autoritative serveren som oppdateres.

Endringen skjer øyeblikkelig på den autoritative serveren, men det tar opptil TTL-en tid før alle andre servere oppfatter den. Derfor ser du ofte at en nettside fortsatt viser gammel informasjon en stund etter at du har oppdatert DNS.

TTL: grunnen til at DNS-endringer ikke slår inn med en gang

TTL, eller Time to Live, er den mest misforståtte verdien i DNS. Den sier hvor mange sekunder et svar kan gjenbrukes uten nye spørsmål. En A-post med TTL 300 kan stå i cache i fem minutter. Vil du at en endring skal slå raskt inn, senker du TTL-en et døgn eller to før du flytter servere, og hever den igjen etterpå.

For .no-domener oppgir Norid at endringer er fullt propagert innen 48 timer. Har nettsiden din vært gammel lengre enn det, er problemet sannsynligvis en feil i selve DNS-oppsettet, ikke treg propagering.

DNSSEC: signerte svar mot manipulering

DNSSEC, forkortelse for Domain Name System Security Extensions, er en utvidelse som gjør at DNS-svar kan verifiseres kryptografisk. Uten det kan en angriper forfalske hvilken IP-adresse et domenenavn peker til, og sende deg til en phishing-side i stedet for den ekte nettsiden. Det kalles DNS-spoofing eller cache poisoning.

For .no-domener er DNSSEC obligatorisk. Hos domeneregistrarer som Feno signeres sonen automatisk, og DS-posten sendes til Norid uten at du trenger å gjøre noe. Når DNSSEC er på, kan resolveren verifisere signaturkjeden helt fra roten, og et manipulert svar avvises. De fleste store oppløsere, som 8.8.8.8 og 1.1.1.1, validerer DNSSEC for deg.

Moderne nettlesere kan også kryptere hele oppslaget med DNS over HTTPS, så ingen underveis kan lese hvilke sider du besøker. Kombinert med DNSSEC er dette så god beskyttelse som et DNS-oppslag kan få.

Slik feilsøker du et DNS-problem

DNS-feil gir ofte forvirrende symptomer: nettsiden virker, men e-posten kommer ikke, eller noen besøkende ser en gammel versjon av siden. Her er en fremgangsmåte som fungerer.

  1. Sjekk hva domenet faktisk peker til. Kjør nslookup feno.no i terminalen, eller Resolve-DnsName feno.no i PowerShell på Windows.
  2. Bytt oppløser. Kjør nslookup feno.no 1.1.1.1 for å teste mot en annen resolver enn internettleverandørens. Får du ulike svar, er problemet sannsynligvis caching.
  3. Tøm lokal cache. ipconfig /flushdns på Windows, sudo dscacheutil -flushcache på macOS. Prøv også et privat nettleservindu, for nettleseren har sin egen cache.
  4. Sjekk TTL-en. dig feno.no viser TTL-en på svaret. Er den høy, må du trolig vente før endringen slår inn.
  5. Vent opptil 48 timer. Norid oppgir at .no-endringer er propagert innen den tiden. Går det lengre, ligger feilen mest sannsynlig i selve DNS-oppsettet.

Får du e-postfeil, er MX-posten det første du bør kontrollere. Den forteller andre servere hvor e-posten til domenet ditt skal leveres, og feil MX er en av de vanligste årsakene til at e-post plutselig slutter å komme fram.

  • Skru på DNSSEC for alle domener du eier, spesielt de som peker mot nettbutikker eller påloggingssider.
  • Senk TTL-en før en flytting av nettside eller e-post, så endringen slår raskt gjennom.
  • Bruk to ulike navneservere hos to forskjellige leverandører for redundans.
  • Sett opp varsler på domenet så du får beskjed om endringer eller utløp før det er for sent.

Vanlige spørsmål om DNS

Hvorfor virker ikke den nye nettsiden min når jeg har endret DNS?

Mest sannsynlig ligger det gamle svaret i en cache, enten hos deg eller hos en oppløser. Vent opptil TTL-en, tøm lokal cache, og test mot 1.1.1.1. For .no-domener oppgir Norid at endringer er fullt propagert innen 48 timer.

Hva er forskjellen på A-post og CNAME?

En A-post kobler et domenenavn direkte til en IPv4-adresse. En CNAME-post, forkortelse for Canonical Name, peker et navn til et annet navn, for eksempel www.feno.no til feno.no. CNAME er praktisk når flere navn skal følge samme adresse uten å duplisere den.

Er DNS trygt?

Vanlige DNS-oppslag er ikke kryptert, men DNSSEC hindrer forfalskning av svar, og DNS over HTTPS skjuler oppslagene dine for trafikkovervåkere. For norske domener er DNSSEC obligatorisk, så et .no-domene hos en seriøs registrar er godt beskyttet mot spoofing.

Få kontroll på DNS-en din

Når du vet hvordan DNS fungerer, blir både feilsøking og oppsett langt enklere. Du slipper å vente forgjeves på en nettside som ikke kommer, og du forstår hvorfor en endring noen ganger tar et par dager å slå gjennom.

Skal du registrere et nytt domene eller flytte et eksisterende, får du hos Feno DNS-administrasjon, automatisk DNSSEC og overvåking av endringer og utløp i samme kontrollpanel. Registrer ditt .no-domene hos Feno fra 99 kr per år, og få full oversikt over DNS-en din.

Registrer ditt .no-domene i dag

Sikre deg det perfekte domenenavnet for din bedrift eller prosjekt. Enkel registrering og administrasjon.

  • Norsk domeneforhandler
  • Enkel DNS-administrasjon
  • Konkurransedyktige priser
Kom i gang