Introduzione
La cache DNS può essere danneggiata per diversi motivi, inclusi attacchi di rete o virus. Quando ciò accade, la mappatura degli indirizzi IP viene danneggiata per alcuni siti Web popolari.
Ad esempio, invece di andare su www.facebook.com, il tuo browser potrebbe reindirizzarti a un indirizzo IP di un sito Web dannoso che un utente malintenzionato ha inserito nei record DNS del tuo computer. Oppure potresti ricevere un numero elevato di 404 errori.
La cancellazione della cache DNS elimina tutte le informazioni di ricerca DNS salvate. Il tuo computer riceve quindi i dati aggiornati dai server DNS la prossima volta che invia una richiesta di ricerca. Scopri come svuotare il DNS in macOS, Windows e Linux di seguito.
Cos'è la cache DNS?
Linux, Windows e macOS salvano le informazioni sulla risoluzione dei nomi sotto forma di cache DNS. Ciò accelera i tempi di caricamento del progetto poiché la cache contiene gli indirizzi IP per i domini interrogati. Invece di dover reindirizzare ai server DNS, il sistema risponde alle query dalla cache.
La cache DNS contiene le seguenti informazioni:
- Dati delle risorse
- Tipo di record
- Nome del record
- TTL (tempo di vivere)
- Classe
- Lunghezza dei dati della risorsa
Come svuotare la cache DNS su Mac
Esistono alcuni comandi diversi da utilizzare per svuotare la cache DNS su OS X e macOS a seconda della versione in esecuzione.
Poiché la procedura è la stessa su tutte le versioni, questo articolo descrive in dettaglio come cancellare il DNS su macOS Mojave (10.14) e quindi elencare i comandi per le altre versioni in una tabella.
Svuota DNS su macOS Mojave (versione 10.14)
Per svuotare la cache DNS su macOS Mojave , usa il Terminale applicazione:
- Esegui terminal.app usando il tuo metodo preferito. Puoi avviare l'app da Applicazioni -> Utilità oppure premi Comando + Spazio per avviare Spotlight e cercare Terminale.
- Digita
sudo killall -HUP mDNSResponder
e premi Invio sulla tastiera. - Inserisci la password dell'amministratore per l'account in questione e premi Invio .
Non ci sono notifiche al termine del processo. Tuttavia, puoi aggiungere un altro comando per cambiarlo.
Svuota i comandi DNS su versioni precedenti di macOS e Mac OS X
La tabella seguente elenca i comandi per svuotare la cache DNS sulla maggior parte delle versioni di macOS e Mac OS X. Puoi copiarli e incollarli direttamente dalla tabella nel tuo terminale.
Mac OS X o versione macOS | Comando terminale |
Mojave (versione 10.14) High Sierra (versione 10.13) Sierra (versione 10.12) Mountain Lion (versione 10.8) Leone (versione 10.7) | sudo killall -HUP mDNSResponder |
El Capitan (versione 10.11) Mavericks (versione 10.9) | sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder |
Yosemite (versione 10.10) | sudo discoveryutil mdnsflushcache sudo discoveryutil udnsflushcaches |
Leopardo delle nevi (versione 10.6) Leopardo (versione 10.5) | sudo dscacheutil -flushcache |
Tigre (versione 10.4) | lookupd -flushcache |
Come svuotare il DNS in Windows
La cancellazione della cache DNS è un processo facile e veloce. La procedura è la stessa per quasi tutti i sistemi Windows. Per l'esempio seguente, utilizzeremo Windows 10.
Per svuotare il DNS sul tuo computer Windows:
1. Carica il Prompt dei comandi come amministratore. Apri il menu Start e inizia a digitare prompt dei comandi finché non lo vedi nei risultati.
2. Digita ipconfig /flushdns
quando il prompt viene caricato e premi Invio sulla tastiera.
3. Il processo dovrebbe richiedere solo pochi secondi. Dovresti vedere la cache del risolutore DNS messaggio di conferma al termine:
Il database della cache DNS sul tuo computer è ora libero. Dovresti ottenere la mappatura IP corretta e aggiornata dai server DNS la prossima volta che la tua macchina invia una query DNS.
Come svuotare la cache DNS in Linux
Le distribuzioni Linux sono leggermente diverse dalle macchine Windows e Mac. Ogni distribuzione Linux potrebbe utilizzare un servizio DNS diverso . Alcune distribuzioni, come Ubuntu, non hanno affatto un servizio DNS predefinito.
Dipende dal servizio che hai sulla tua distribuzione e se è abilitato per impostazione predefinita. Alcuni di loro sono NCSD (Daemon di memorizzazione nella cache del servizio nomi), dnsmasq e BIND (Berkely Internet Name Domain).
Per ogni distribuzione, devi avviare una finestra di terminale. Premi Ctrl+Alt+T sulla tastiera e usa il comando corrispondente per svuotare la cache DNS per il servizio in esecuzione sul tuo sistema Linux.
Svuota la cache DNS NCSD locale
Usa questo comando per svuotare la cache DNS NCSD sulla tua macchina Linux:
sudo /etc/init.d/nscd restart
Inserisci la tua password se necessario. Il processo si interrompe e quindi avvia il servizio NCSD in pochi secondi.
Svuota la cache DNS dnsmasq locale
Usa questo comando per svuotare la cache DNS di dnsmasq sulla tua macchina Linux:
sudo /etc/init.d/dnsmasq restart
Inserisci di nuovo la tua password, se il terminale te lo chiede. Vedrai la risposta quando il servizio si interrompe e si riavvia.
Svuota la cache DNS BIND locale
Se usi BIND per il servizio DNS, ci sono alcuni comandi che puoi usare per svuotare la sua cache DNS. Potrebbe essere necessario inserire la password per completare il processo.
sudo /etc/init.d/named restart
sudo rndc restart
sudo rndc exec