Het oplossen van problemen met je website kan een intimiderende verantwoordelijkheid lijken. Zeker als het gaat om taken zoals het legen van je Domain Name Server (DNS), raak je soms al te geïntimideerd om er zelfs maar aan te beginnen.

Gelukkig kan je dit echter vrij snel en eenvoudig doen, ook als je weinig of geen technische kennis hebt. In twee simpele stappen is je DNS cache weer leeg en kan je verder gaan met werken aan je website.

In dit artikel leggen we kort uit wat een DNS cache is en in welke gevallen je jouw DNS cache moet legen. Vervolgens zullen we een voorbeeld uit de praktijk delen uit onze eigen ervaring, en uitleggen hoe je deze actie kan uitvoeren, onafhankelijk van je hardware.

Kijk je liever de video?

Een introductie over DNS caching

Om te begrijpen waarom je de DNS cache zou moeten legen, is het handig om enkele onderdelen te begrijpen.

Allereerst is het Domain Name System (DNS) een index van alle websites op het internet, samen met alle bijbehorende IP-adressen. Je kan het zien als een soort telefoonboek voor websites. Caching is het proces waarbij er een momentopname van iets wordt opgeslagen (bijvoorbeeld een webpagina) zodat die later sneller geladen kan worden.

DNS caching gaat dus over het werk dat je browser of besturingssysteem doet om een IP-adres dat je recentelijk hebt bezocht op te slaan in een database. Hierdoor kan je browser sneller pagina’s laden die je eerder al bezocht hebt, dan wanneer de browser elke keer opnieuw naar de DNS moet gaan.

Helaas kunnen er fouten in je DNS cache ontstaan, wat problemen kan opleveren. De cache kan ook gewoon verouderen of problemen met de internetverbinding veroorzaken. In al deze situaties is het legen van je DNS cache vaak een oplossing voor het probleem, waardoor je zo weer online bent.

Een DNS cache casestudy

Om het nog wat beter te begrijpen, kijken we naar een voorbeeld dat we hier bij een klant van Kinsta hebben gezien.

De klant nam contact met ons op omdat de afbeeldingen, CSS en JavaScript van hun website niet meer goed geladen werden.

Voor ons leek het echter alsof de website prima laadde, en de klant had recent niets veranderd. Toen we de site beter bekijken met de Chrome Devtools, konden we zien dat alles dat via hun CDN subdomein (cdn.domain.com) kwam, niet goed geladen werd en in plaats daarvan 404 errors gaf.

Het eerste wat we daarom deden is een ping naar het CDN subdomein sturen om te zien of dit toegankelijk was. Dat gaf de normale reactie. Vervolgens haalden we de CDN URL van de klant door de gratis whatsmydns tool.

Deze tool maakt het mogelijk om snel de DNS gegevens te controleren (zoals de CDN CNAME), vanuit verschillende plekken in de wereld. We wilden controleren dat de website overal goed te laden was, dus niet alleen vanuit onze locatie, en dat alles juist werd doorgestuurd naar de CDN provider van de klant.

De resultaten waren precies zoals verwacht:

Voorbeeld van whatsmydns CNAME resolution
Voorbeeld van whatsmydns CNAME resolution

Na al deze controles konden we bevestigen dat er een kleine verandering van de DNS provider van de klant was, die aan hun kant nog steeds in de cache stond. We vroegen hen daarom om lokaal hun DNS cache op de computer te legen, en de pagina opnieuw te laden.

Vanaf dat moment laadde alles weer helemaal normaal op hun WordPress website.

Weten hoe je je DNS cache moet legen kan je in soortgelijke situaties helpen om problemen op te lossen, en fouten zoals 304 errors op te lossen. Laten we eens kijken hoe dat werkt.

Zo leeg je je DNS cache in Mac, Windows, Linux en Chrome

Het legen van je DNS cache is vrij eenvoudig, maar de precieze stappen zijn afhankelijk van je besturingssysteem. Het maakt ook uit of je de cache van je computer of van je browser moet legen. Hieronder hebben we uitgelegd hoe je dit kan doen voor macOS, Windows en Linux, en ook voor de Google Chrome browser.

1. Zo leeg je je DNS cache in macOS

Om de DNS cache te legen op een Mac, moet je de ingebouwde opdrachtregel openen, die bekend staat als de Terminal, en de juiste opdracht uitvoeren. Dit proces hangt af van de versie van macOS die je nu gebruikt.

Weet je niet zeker welke versie je gebruikt, klik dan op het appel-icoon linksboven in je bureaublad, en selecteer About This Mac:

Openen van het About This Mac venster
Openen van het About This Mac venster

Je huidige versie is het eerste stukje informatie.

De huidige macOS versie bekijken
De huidige macOS versie bekijken

Nu je deze informatie hebt, kan je de relevante stappen hieronder bekijken.

macOS El Capitan (10.11), Sierra (10.12), High Sierra (10.13), Mojave (10.14), en Catalina (10.15)

Werk je op macOS versie 10.11 of hoger, dan open je de opdrachtregel door te klikken op Go > Utilities:

Openen van Mac Utilities
Openen van Mac Utilities

Vervolgens selecteer je Terminal. Wanneer deze open is, voer je de volgende opdracht uit:

sudo killall -HUP mDNSResponder

Je zal gevraagd worden om je wachtwoord in te voeren:

Je admin wachtwoord invoeren om de DNS cache te legen
Je admin wachtwoord invoeren om de DNS cache te legen

Nadat je dit gedaan hebt, zou je DNS cache leeg moeten zijn.

macOS Yosemite (10.10)

Je kan de Terminal op dezelfde manier openen voor elke macOS versie. In Yosemite (10.10) moet je de volgende opdracht uitvoeren zodra de opdrachtregel open is:

sudo discoveryutil udnsflushcaches

Voer je wachtwoord in en de DNS cache is leeg.

macOS Lion (10.7), Mountain Lion (10.8), and Mavericks (10.9)

Voor macOS versies 10.7 tot 10.9 open je de Terminal op de gebruikelijk manier en voer je de volgende opdracht in om je DNS cache te legen:

sudo killall -HUP mDNSResponder

Zoals je wellicht ziet is dit dezelfde opdracht als bij versies 10.11 en hoger. Voer je wachtwoord in om de opdracht te bevestigen.

macOS Snow Leopard (10.6)

Gebruik je macOS Snow Leopard (10.6), open dan de Terminal en voer vervolgens deze opdracht in:

sudo dscacheutil -flushcache

Vervolgens voer je je wachtwoord in om de DNS cache te legen.

macOS Leopard (10.5)

Als laatste moeten macOS Leopard (10.5) gebruikers de volgende opdracht uitvoeren binnen de Terminal:

sudo lookupd -flushcache

Voer je wachtwoord in, en de DNS cache wordt geleegd.

Het legen van je DNS cache is ook de oplossing voor de  ERR_SPDY_PROTOCOL_ERROR.

2. Zo leeg je je DNS cache in Windows

Het legen van je DNS cache in Windows is vrij eenvoudig. Zo voer je dit uit voor Windows 10, 8, 7 en XP.

Windows 10

Om je DNS cache te legen wanneer je het Windows besturingssysteem gebruikt, moet je de Command Prompt openen, de opdrachtregel van Windows. Je kan dit programma in Windows 10 vinden door op Start te klikken. Vervolgens ga je naar Windows Systems > Command Prompt:

Openen van de Command Prompt in het Windows Start menu
Openen van de Command Prompt in het Windows Start menu

Nadat de opdrachtregel open is, voer je de volgende opdracht in:

ipconfig /flushdns

Deze opdracht zou een bevestiging moeten geven dat de DNS cache inderdaad geleegd is:

De bevestiging van de Command Prompt dat de DNS cache leeg is
De bevestiging van de Command Prompt dat de DNS cache leeg is

Je kan vervolgens de Command Prompt afsluiten.

Windows 8

Het legen van je DNS cache in oudere versies van Windows gaat met dezelfde opdracht: ipconfig /flushdns. Maar de stappen voor het openen van de Command Prompt zijn bij de verschillende versies net wat anders.

In Windows 8 open je hiervoor het scherm Apps. Helemaal rechts zie je Windows Systems en kies je Command Prompt.

Wanneer het venster open is, voer je de opdracht uit: ipconfig /flushdns. Je zou ook hier een bevestiging moeten krijgen wanneer het gelukt is.

Windows 7 and Windows XP

In Windows 7 of Windows XP klik je op Start. Ga naar All Programs > Accessories en selecteer Command Prompt.

In de opdrachtregel voer je de opdracht ipconfig /flushdns uit. Je krijgt een bevestiging zodra de DNS cache leeg is.

3. Zo leeg je je DNS cache in Linux

Het legen van je DNS cache op een Linux computer lijkt sterk op het proces bij een Mac of Windows computer. Zo doe je dit.

Ubuntu

Linux gebruikt net als macOS de Terminal als opdrachtregel. Je opent dit door op Activities te klikken, links bovenin je bureaublad. Hier krijg je dan een zoekbalk te zien, waar je “terminal” kan intypen om het programma te starten.

Met de opdrachtregel open, voer je deze opdracht ui:

sudo systemd-resolve --flushcaches

De Terminal zal je om je wachtwoord vragen. Voer dit in om de opdracht af te ronden en je DNS cache te legen.

Andere distributies

Wanneer je een andere Linux distributie dan Ubuntu gebruikt, kan je je DNS cache legen door de opdrachtregel te openen en deze opdracht uit te voeren:

sudo /etc/init.d/dns-clean start

Na het uitvoeren van deze opdracht zou je cache leeg moeten zijn.

4. Zo leeg je je DNS cache in Google Chrome

Zoals we aan het begin van dit artikel al zeiden, kan het ook zijn dat je de DNS cache van je browser wil legen, in plaats van de DNS cache van je computer. In Google Chrome kan je dit doen door het volgende in te typen in de adresbalk:

chrome://net-internals/#dns

Druk op Enter en klik op de Clear host cache knop:

De Clear host cache knop in Google Chrome
De Clear host cache knop in Google Chrome

Hierdoor zou de DNS cache van Chrome geleegd moeten worden.

Moet je de cache van je browser legen, lees dan ook Zo leeg je de browsercache voor alle populaire browsers.

Samenvatting

Het idee van je DNS cache legen kan nogal eng klinken, zeker als je nog niet vaker problemen je internetverbinding of websites hebt opgelost. Gelukkig is het proces vrij eenvoudig en kan er weinig misgaan.

Het legen van je DNS cache vereist slechts enkele stappen. Allereerst moet je weten welk besturingssysteem en versie van het besturingssysteem je gebruikt. Vervolgens kan je de relevante stappen hierboven volgen en de DNS cache legen door één of twee eenvoudige opdrachten in te typen.