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:
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:
Je huidige versie is het eerste stukje informatie.
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:
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:
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:
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:
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:
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.