De DNS cache onder macOS leegmaken
Wanneer je een website wilt bezoeken dan wordt er eerst contact gezocht met de DNS server van je provider. Aan de DNS server wordt het IP-adres dat bij de domeinnaam hoort opgevraagd. Een DNS server zet dus een domeinnaam (zoals appletips.nl) om naar een IP-adres waarmee je Mac verbinding kun maken.
Op het internet communiceren alle apparaten alleen op basis van unieke IP-adressen met elkaar. Omdat een IP-adres (bijvoorbeeld: 123.10.10.124) moeilijk te onthouden is wordt er gebruikgemaakt van DNS. Een DNS server verstrekt het IP-adres waarop een domeinnaam is terug te vinden.
Wat is DNS cache?
De DNS server is een soort van database waarin alle internet domeinnamen worden opgeslagen met de bijbehorende IP-adressen. Je webbrowser of andere app zal proberen verbinding te maken met het IP-adres dat van de DNS server is ontvangen.
Als een website is bezocht dan wordt de domeinnaam en het IP-adres tijdelijk aan de lokale DNS cache van je Mac toegevoegd. Hierdoor hoeft niet iedere keer de DNS server te worden benaderd en wordt de verbinding met een website sneller opgezet. Het kan voorkomen dat de DNS cache corrupt raak of dat de gegevens van een website zijn geupdate op de DNS server. Door de lokale cache kan het voorkomen dat je nog gebruikmaakt van het ‘oude’ of verkeerde IP adres. Dit is vaak het probleem als een website opeens niet meer bereikbaar is. Terwijl deze op een ander apparaat zonder problemen te bezoeken is.
Je kunt dit probleem verhelpen door de lokale DNS cache op je Mac te verversen. Hierdoor wordt de lokale DNS cache leeggemaakt en wordt de DNS server opnieuw (geforceerd) benaderd.
macOS DNS cache verversen (clear DNS / flush DNS)
Onder macOS is het commando om de cache te legen al meerdere malen gewijzigd. Hieronder kun je per macOS versie het juiste Terminal commando terugvinden om de cache leeg te maken.
- Open de standard macOS Terminal app, deze vind je in map: Programma's ▸ Hulpprogramma's
- Kopieer het onderstaand commando wat bij jou geïnstalleerde macOS versie hoort.
- Plak het commando in een leeg Terminal venster
- Druk hierna op de enter toets.
- Vul je wachtwoord in en bevestig deze met de enter toets. Het is normaal dat je geen letters, cijfers, bolletjes, etc. ziet bij het invoeren van je wachtwoord
De lokale DNS cache van je Mac is nu gewist.
Commando's om de macOS DNS cache te legen
macOS 14 Sonoma, macOS 13 Ventura,macOS 12 Monterey, macOS 11 Big Sur, macOS Catalina 10.15
$sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder
macOS Sierra 10.12, macOS High Sierra 10.13, macOS High Sierra 10.14
$sudo killall -HUP mDNSResponder
OS X 10.10.4, OS X 10.11
$sudo dscacheutil -flushcache
OS X 10.10
$sudo discoveryutil udnsflushcaches
OS X 10.9
$dscacheutil -flushcache;sudo killall -HUP mDNSResponder
OS X 10.7, OS X 10.8
$sudo killall -HUP mDNSResponder
OS X 10.5, OS X 10.6
$sudo dscacheutil -flushcache
Artikel bijgewerkt voor macOS 14 Sonoma
Auteur | Richard IJzermans | |
Bijgewerkt | 06/12/2023 13:46 | |
Categorie | macOS | |
Reacties
@richard ijzermans: Dank ! het werk nu.
@puccini: Er zat een spatie teveel voor het tweede sudo commando. Deze heb ik verwijderd het commando werkt nu wel.
Idem hier ook “not found” (Imac 2023 Sonoma 14.1.2)
hoi! hij geeft bij mij Command not found. kan iemand mij helpen?
Dat doe ik heel regelmatig Wesley. Het is de enige site waar dit voorkomt. Ik ga maar een andere krant lezen! Dank voor je reacties.
@Enno Hmm je kunt proberen de cache van safari te legen via deze stappen: https://www.appletips.nl/de-cache-bestanden-verwijderen-in-safari-6/ of de gehele geschiedenis in Safari te wissen: https://www.appletips.nl/yosemite-een-kortere-periode-van-de-safari-geschiedenis-wissen/
Dank Wesley, ik had al begrepen dat de sterretjes niet zichtbaar zijn, dat vind ik ook niet erg, maar het commando werd niet uitgevoerd. Zojuist weer geprobeerd en nu is het volgens mij wel gelukt. Ik bezoek graag deze website: https://www.theguardian.com/international, maar de afbeeldingen laden niet en er verschijnt een “vraagtekentje”, Tevens meldt Safari dat het certificaat verlopen is, en de website niet vertrouwd wordt. Ik had gehoopt het met jullie tip op te kunnen lossen, maar dat lukt dus niet. Zou je me verder kunnen helpen?
@Enno dat klopt, kun je zo oplossen: https://www.appletips.nl/terminal-wachtwoord-sterretjes-activeren/
Als mijn wachtwoord gevraagd wordt zie ik een sleutel, en weet niet hoe ik mijn wachtwoord ingevoerd krijg. Iemand?
Bij mij werkte het niet in een leeg venster in Terminal, wel via Nieuw commando!
Heb bovenstaand commando voor Sierra 10.12 ingevoerd in nieuwcommando (+enter) hierna opent een new venster waar mijn wachtwoord gevraagd werd, (wachtwoord invoeren+ enter) hierna melding : voltooit..!
Volgens de officiële Apple support pagina hierover zijn een aantal hier genoemde opties niet juist: https://support.apple.com/en-us/HT202516
Voor 10.7, 10.8, 10.9, 10.10.4, 10.10.5 is het: sudo killall -HUP mDNSResponder. Dat is dus heel wat anders dan het hier gemelde dscacheutil.
Voor 10.10.0 t/m 10.10.3 moet je weer sudo discoveryutil mdnsflushcache gebruiken.
Helaas hebben ze het artikel op dit moment nog niet geupdate naar El Capitan. Je mag er echter vanuit gaan dat je in 10.11 de dns op dezelfde manier moet resetten als in de voorgaande versie (in dit geval 10.10.4 en 10.10.5) aangezien ze hier ook gebruik maken van mDNSResponder.
Sorry, het moet zijn vanaf 10.10.4. Toen kwam mDNSResponder weer terug.
Opgelost ?
Bij 10.10.5 heeft men Discoveryd weer vervangen door (the good old) mDNSResponder en krijg je als je bovenstaand commando in de terminal geeft:
sudo: discoveryutil: command not found
sudo dscacheutil -flushcache werkt in 10.10.5 ook.
Kor, ontzettend bedankt voor het melden! Ik heb het toegevoegd aan het artikel..