En DNS-cache (nogle gange kaldet en DNS-resolver-cache) er en midlertidig database, vedligeholdt af en computers operativsystem, som indeholder registreringer af alle de seneste besøg og forsøg på besøg på websteder og andre internetdomæner.
Med andre ord er en DNS-cache blot et minde om de seneste DNS-opslag, som din computer hurtigt kan henvise til, når den forsøger at finde ud af, hvordan man indlæser et websted.
Oplysningerne i denne artikel gælder for hjemmebrugere, der ikke har ændret deres DNS-indstillinger.
Formålet med en DNS-cache
Internettet er afhængigt af domænenavnesystemet til at vedligeholde et indeks over alle offentlige websteder og deres tilsvarende IP-adresser. Du kan tænke på det som en telefonbog.
Med en telefonbog behøver vi ikke at huske alles telefonnummer, hvilket er den eneste måde, telefoner kan kommunikere på: med et nummer. På samme måde bruges DNS, så vi kan undgå at skulle huske hver hjemmesides IP-adresse, hvilket er den eneste måde netværksudstyr kan kommunikere med hjemmesider på.
Dette er, hvad der sker bag gardinet, når du beder din webbrowser om at indlæse et websted.
Du indtaster en URL som lifewire.com, og din webbrowser beder din router om IP-adressen. Routeren har en DNS-serveradresse gemt, så den beder DNS-serveren om IP-adressen på det værtsnavn. DNS-serveren finder den IP-adresse, der tilhører lifewire.com, og er derefter i stand til at forstå, hvilken hjemmeside du efterspørger, hvorefter din browser så kan indlæse den relevante side.
Dette sker for hvert websted, du vil besøge. Hver gang du besøger et websted med dets værtsnavn, starter webbrowseren en anmodning ud til internettet, men denne anmodning kan ikke gennemføres, før webstedets navn er "konverteret" til en IP-adresse.
Problemet er, at selvom der er tonsvis af offentlige DNS-servere, dit netværk kan bruge til at forsøge at fremskynde konverterings-/opløsningsprocessen, er det stadig hurtigere at have en lokal kopi af "telefonbogen", som er hvor DNS-caches kommer i spil.
DNS-cachen forsøger at fremskynde processen endnu mere ved at håndtere navneopløsningen på nyligt besøgte adresser, før anmodningen sendes ud til internettet
Der er faktisk DNS-caches i hvert hierarki af "opslagsprocesser", der i sidste ende får din computer til at indlæse webstedet. Computeren når din router, som kontakter din internetudbyder, som måske rammer en anden internetudbyder, inden den ender på det, der kaldes "rod-DNS-serverne". Hvert af disse punkter i processen har en DNS-cache af samme årsag, som er at fremskynde navneopløsningsprocessen.
Sådan fungerer en DNS-cache
Før en browser sender sine anmodninger til det eksterne netværk, opfanger computeren hver enkelt og slår domænenavnet op i DNS-cachedatabasen. Databasen indeholder en liste over alle domænenavne, der er blevet tilgået for nylig, og de adresser, som DNS beregnede for dem, første gang en anmodning blev foretaget.
Indholdet af en lokal DNS-cache kan ses på Windows ved hjælp af kommandoen ipconfig /displaydns, med resultater svarende til dette:
docs.google.com
Record navn…..: docs.google.com
Record Type…..: 1
Time To Live….: 21
Datalængde…..: 4
Sektion…….: Svar
A (Vært) Record…: 172.217.6.174
I DNS er "A"-posten den del af DNS-posten, der indeholder IP-adressen for det givne værtsnavn. DNS-cachen gemmer denne adresse, det anmodede webstedsnavn og flere andre parametre fra værtens DNS-indgang.
Hvad er DNS-cacheforgiftning?
En DNS-cache bliver forgiftet eller forurenet, når uautoriserede domænenavne eller IP-adresser indsættes i den.
En cache kan af og til blive ødelagt på grund af tekniske fejl eller administrative uheld, men DNS-cacheforgiftning er typisk forbundet med computervirus eller andre netværksangreb, der indsætter ugyldige DNS-poster i cachen.
Forgiftning får klientanmodninger til at blive omdirigeret til de forkerte destinationer, norm alt ondsindede websteder eller sider fyldt med reklamer.
Hvis f.eks. docs.google.com-posten fra oven havde en anden "A"-post, ville du blive ført et andet sted hen, når du indtastede docs.google.com i din webbrowser.
Dette udgør et massivt problem for populære websteder. Hvis en angriber omdirigerer din anmodning om Gmail.com, for eksempel til et websted, der ligner Gmail, men ikke er det, kan du ende med at lide af et phishing-angreb som f.eks. hvalfangst.
DNS Flushing: Hvad det gør, og hvordan man gør det
Når der foretages fejlfinding af cacheforgiftning eller andre internetforbindelsesproblemer, kan en computeradministrator ønske at tømme (dvs. rydde, nulstille eller slette) en DNS-cache.
Da rydning af DNS-cachen fjerner alle indtastninger, sletter det også alle ugyldige poster og tvinger din computer til at genudfylde disse adresser, næste gang du forsøger at få adgang til disse websteder. Disse nye adresser er taget fra den DNS-server, dit netværk er sat op til at bruge.
Så for at bruge eksemplet ovenfor, hvis Gmail.com-posten blev forgiftet og omdirigerer dig til et mærkeligt websted, er det et godt første skridt til at få den almindelige Gmail.com tilbage igen.
I Microsoft Windows kan du tømme den lokale DNS-cache ved hjælp af kommandoen ipconfig /flushdns i en kommandoprompt. Du ved, at det virker, når du ser Windows IP-konfigurationen har tømt DNS-resolver-cachen eller DNS-resolver-cachen-meddelelsen er blevet tømt.
Gennem en kommandoterminal bør macOS-brugere bruge dscacheutil -flushcache, men ved, at der ikke er en "succesfuld" besked, efter at den er kørt, så du får ikke at vide, om den arbejdet. I nogle tilfælde vil Mac-brugere også skulle dræbe DNS-responderen (sudo killall -HUP mDNSResponder) Linux-brugere skal indtaste /etc/rc.d/init. d/nscd genstart kommando. Den nøjagtige kommando vil dog variere baseret på din Linux-distribution.
En router kan også have en DNS-cache, hvorfor genstart af en router ofte er et fejlfindingstrin. Af samme grund, som du måske tømmer DNS-cachen på din computer, kan du genstarte din router for at rydde de DNS-poster, der er gemt i dens midlertidige hukommelse.