Il DNS, o Domain Name System, è responsabile della risoluzione dei nomi dei siti Web nei rispettivi indirizzi IP. Esistono più server DNS e puoi scegliere quello che desideri utilizzare. Quindi, se hai problemi a connetterti a un sito web, o se vuoi solo che una modifica DNS sia vista dalla tua macchina Ubuntu, dovresti provare a svuotare la cache DNS. Puoi anche cancellare la cache DNS in Ubuntu se hai apportato modifiche al file hosts e vuoi che sia “visto” dal tuo sistema senza doverlo riavviare. Bene, se ti trovi in una di queste situazioni e vuoi svuotare la cache DNS, ecco come svuotare la cache DNS in Linux.
Nota: Sto usando un sistema Ubuntu 16.10 “Yakkety Yak” per dimostrare questi metodi. Tuttavia, il processo dovrebbe essere simile sulla maggior parte delle distribuzioni Linux.
Svuota la cache DNS in Linux nel 2020
Prima di arrivare al nostro tutorial, vediamo prima se la cache DNS è abilitata o meno sulla tua macchina.
Verifica se la cache DNS è abilitata
Tutte le distribuzioni Linux non si comportano allo stesso modo, quando si tratta di cose come la memorizzazione nella cache del DNS. Ad esempio, Ubuntu, per impostazione predefinita, non memorizza nella cache il DNS. Prima di provare a cancellare la cache DNS su una macchina Linux, controlliamo se la memorizzazione nella cache è abilitata. Per farlo su un sistema Ubuntu, puoi seguire i passaggi seguenti:
1. Avvia Terminale e digita “ps ax | grep dnsmasq“.
2. Nell’output del comando, sarai in grado di vedere un campo chiamato “cache-size”. Controlla il suo valore. Se il valore è zero, significa che la memorizzazione nella cache è disabilitata nel sistema.
NotaNota: se si desidera abilitare la cache DNS su Linux, è possibile farlo utilizzando il comando “sudo dnsmasq -c 150”. Puoi usare qualsiasi numero al posto di 150, che è fondamentalmente il numero di voci che dnsmasq può memorizzare nella cache.
Svuota la cache DNS in Ubuntu
Se il tuo sistema Linux memorizza nella cache le voci DNS, puoi provare a svuotare la cache DNS per eliminare eventuali problemi relativi al DNS. Per cancellare la cache DNS in Ubuntu, puoi seguire i passaggi seguenti:
1. Avvia Terminale (ctrl + alt + T) e digita “sudo /etc/init.d/dns-clean restart”.
2. Quindi, digita il comando “sudo /etc/init.d/networking force-reload”
Questo cancellerà la tua cache DNS in Ubuntu e, se i problemi che stavi riscontrando erano dovuti a problemi DNS, ora dovrebbero essere scomparsi.
Svuota la cache DNS nei servizi DNS su Linux
Come ho detto, Ubuntu non memorizza nella cache le voci DNS per impostazione predefinita, tuttavia, se hai installato manualmente un servizio DNS come nscd, puoi svuotare la cache. Di seguito sono riportati i metodi per cancellare la cache per alcuni servizi DNS comuni:
Svuota la cache DNS di nscd
- sudo /etc/init.d/nscd restart
Svuota la cache DNS dnsmasq
- sudo /etc/init.d/dnsmasq restart
Svuota la cache DNS di BIND
Se utilizzi BIND, puoi svuotare la cache DNS utilizzando uno dei seguenti comandi:
- sudo /etc/init.d/named restart
- sudo rndc riavvio
- sudo rndc exec
BIND versione 9.3.0 e successive supportano lo svuotamento della cache DNS per un particolare dominio, nonché per la LAN o la WAN. È possibile utilizzare i seguenti comandi per utilizzare questa funzione:
- Per cancellare la cache DNS per un particolare dominio, utilizzare “sudo rndc flushname beebom.com”
- Per cancellare la cache DNS per la LAN, utilizzare “sudo rndc flush lan”
- Per cancellare la cache DNS per WAN, utilizzare “sudo rndc flush wan”
Bonus: modifica le impostazioni DNS in Ubuntu
Abbiamo parlato di svuotare la cache DNS in Ubuntu, tuttavia, potrebbero esserci casi in cui desideri semplicemente apportare una modifica alle impostazioni DNS in Ubuntu. Se desideri modificare le impostazioni DNS in Ubuntu, puoi farlo utilizzando la GUI o tramite il Terminale.
Modificare le impostazioni DNS utilizzando la GUI
L’utilizzo della GUI per modificare le impostazioni DNS è più semplice rispetto all’utilizzo del Terminale. Tuttavia, se utilizzi più connessioni, dovrai modificare l’impostazione DNS per ciascuna di esse. Per modificare le impostazioni DNS utilizzando la GUI, procedi nel seguente modo:
1. Aprire Impostazioni di sistema e fare clic su Rete.
2. Fare clic sulla freccia accanto al nome della rete a cui si è connessi.
3. Ora, fai clic su “Impostazioni”. Questo aprirà le impostazioni per quella connessione.
4. Passa alla scheda IPv4 e vedrai un’opzione chiamata “Server DNS aggiuntivi”. In questo campo puoi inserire i server DNS che desideri utilizzare. Se vuoi inserire più di un server DNS, separali semplicemente con virgole.
Modificare le impostazioni DNS utilizzando il terminale
Se non desideri utilizzare la GUI e preferisci modificare le impostazioni DNS utilizzando il Terminale, puoi farlo aggiungendo i server dei nomi al file di configurazione dnsmasq. Tuttavia, dnsmasq non viene installato di default nei sistemi Ubuntu (dnsmasq-base, sì). Quindi, per prima cosa dovrai installare dnsmasq avviando un Terminale e utilizzando “sudo apt-get install dnsmasq”.
- Una volta installato dnsmasq. Puoi modificare il file di configurazione con “sudo nano /etc/dnsmasq.conf”.
- Qui puoi aggiungere gli indirizzi IP dei tuoi server DNS dove dice “Aggiungi altri nameserver qui”.
Cancella cache DNS in Linux usando questi metodi
Puoi utilizzare uno di questi metodi per cancellare la cache DNS in un sistema Linux. I problemi con la cache DNS possono causare problemi come il mancato caricamento di una pagina Web, il mancato riconoscimento delle modifiche al server dei nomi dal sistema e molto altro. Una volta svuotata la cache DNS, molto probabilmente questi problemi scompariranno. Quindi, hai mai dovuto svuotare la cache DNS sul tuo sistema Linux? Se sì, che metodo hai usato? Se conosci altri metodi per cancellare la cache DNS sul tuo sistema Linux, faccelo sapere nella sezione commenti qui sotto.