GNU/Linux >> Linux Esercitazione >  >> Linux

Come cancellare o svuotare la cache DNS in Linux

Questa breve guida spiega tutti i modi possibili per cancellare o svuotare la cache DNS nei sistemi operativi Linux. Per chi se lo chiedesse, cache DNS (o talvolta chiamato cache del resolver DNS ) è un piccolo database temporaneo gestito dai sistemi operativi. Memorizza le informazioni su tutti i siti Web visitati e altri domini Internet. In altre parole, la cache DNS contiene ricerche DNS recenti. Quando visiti lo stesso sito Web più volte, il sistema operativo recupera i record DNS di quel sito Web dal database della cache DNS locale anziché dal server DNS pubblico effettivo. Quindi la memorizzazione nella cache DNS migliora il tempo di caricamento del sito Web e riduce il consumo di larghezza di banda/CPU del server DNS di origine.

Perché dovresti svuotare o svuotare la cache DNS?

Potrebbero esserci molte ragioni per svuotare la cache DNS locale. Ad esempio, potresti aver personalizzato il tuo sito Web o modificato le impostazioni DNS per il tuo dominio o stai riscontrando problemi di connettività Internet. In questi casi, se tenti di visitare il sito, è probabile che il tuo sistema operativo ottenga la versione memorizzata nella cache del sito dalla cache DNS locale. Pertanto, la cancellazione della cache DNS locale eliminerà tutte le voci dal database della cache DNS locale e costringerà il tuo sistema a ripopolare la cache DNS con nuove voci dal server DNS effettivo e visualizzerà la nuova copia del sito Web.

Cancella o svuota la cache DNS in Linux

Per impostazione predefinita, la cache DNS non è installata e/o abilitata a livello di sistema operativo in Linux. Invece, applicazioni come i browser Web mantengono la propria cache interna. Quindi puoi semplicemente svuotare la cache del browser o riavviarlo per risolvere i problemi di connettività Internet, risolvere i problemi di spoofing DNS (ad es. DNS cache poisoning) e risolvere i problemi di contenuto obsoleto. Se la tua distribuzione Linux utilizza servizi di memorizzazione nella cache DNS, devi cancellarli manualmente come descritto di seguito. Esistono diversi modi per svuotare la cache DNS. Varia a seconda della distribuzione Linux e del servizio di memorizzazione nella cache DNS in uso. Qui ho incluso le istruzioni per cancellare i servizi di cache DNS più comunemente usati in Linux.

1. Cancella il servizio di cache DNS con risoluzione di sistema

Risoluzione di sistema è un servizio systemd che fornisce un servizio di memorizzazione nella cache DNS a livello di sistema per le applicazioni locali. Fa parte del pacchetto systemd che è installato per impostazione predefinita. Il servizio risolto da Systemd è abilitato per impostazione predefinita nella maggior parte dei moderni sistemi operativi Linux come Fedora e Ubuntu. Innanzitutto, controlliamo se il servizio risolto da systemd è attivo o non utilizza il comando:

$ sudo systemctl is-active systemd-resolved.service

Se il servizio risolto di sistema è abilitato, vedrai "attivo" nell'uscita. Se non è attivo, stamperà "inattivo" .

Come puoi vedere nell'output sopra, il servizio risolto da systemd è attivo nel mio sistema.

Vediamo le statistiche del servizio di caching systemd-resolve con il comando:

$ sudo systemd-resolve --statistics

Risultato di esempio:

DNSSEC supported by current servers: no

Transactions              
Current Transactions: 0   
  Total Transactions: 3117
                          
Cache                     
  Current Cache Size: 58  
          Cache Hits: 1248
        Cache Misses: 1891
                          
DNSSEC Verdicts           
              Secure: 0   
            Insecure: 0   
               Bogus: 0   
       Indeterminate: 0

Come puoi vedere, l'output sopra elenca il numero totale di dimensioni della cache attuali, hit e cache perse.

Per svuotare la cache di systemd-resolve, esegui:

$ sudo systemd-resolve --flush-caches

In caso di esecuzione riuscita, non vedrai alcun output.

Ora, controlla le statistiche di systemd-resolve per verificare se la cache DNS locale è stata cancellata o meno.

$ sudo systemd-resolve --statistics

Ora vedrai la dimensione della cache corrente pari a zero.

DNSSEC supported by current servers: no

Transactions              
Current Transactions: 0   
  Total Transactions: 3155
                          
Cache                     
  Current Cache Size: 0   
          Cache Hits: 1255
        Cache Misses: 1922
                          
DNSSEC Verdicts           
              Secure: 0   
            Insecure: 0   
               Bogus: 0   
       Indeterminate: 0

2. Cancella il servizio di cache DNS Nscd

Nscd , abbreviazione di n sono s servizio c dolore d aemon, è un demone di memorizzazione nella cache che fornisce una cache per le richieste di servizi di nomi più comuni. È il servizio di memorizzazione nella cache preferito per la maggior parte dei sistemi basati su Redhat. Se il tuo sistema Linux utilizza il servizio di memorizzazione nella cache nscd, puoi cancellare o svuotare il servizio di memorizzazione nella cache DNS locale semplicemente riavviando il servizio nscd come di seguito:

$ sudo systemctl restart nscd.service

Oppure,

$ sudo service nscd restart

Oppure,

$ sudo /etc/init.d/nscd restart

3. Cancella il servizio di memorizzazione nella cache DNS con nome/associazione

Dominio del nome Internet di Berkeley (a breve BIND ) è il server DNS open source più popolare in uso oggi. Se stai utilizzando BIND per memorizzare nella cache le query DNS, utilizza i seguenti comandi per cancellare/svuotare il servizio di memorizzazione nella cache BIND in Linux:

$ sudo systemctl restart named

Oppure,

$ sudo service named reload

Oppure,

$ sudo /etc/init.d/named restart

Oppure,

$ sudo rndc reload

Oppure,

$ sudo rndc exec

L'ultima versione BID consente di svuotare la cache DNS anche per un dominio specifico. Il comando seguente cancella la cache DNS per il dominio ostechnix.com:

$ sudo rndc flushname ostechnix.com

Puoi anche svuotare la cache DNS per intere zone LAN e WAN come di seguito:

$ sudo rndc flush lan

$ sudo rndc flush wan

4. Cancella il servizio di memorizzazione nella cache DNS DNS

Dnsmasq è un leggero server DNS DHCP e cache con supporto per server PXE e TFTP. È adatto a router e firewall con risorse limitate per la gestione di piccole reti.

Se stai utilizzando dnsmasq come servizio di memorizzazione nella cache, puoi svuotare il servizio di memorizzazione nella cache DNS locale come di seguito:

$ sudo systemctl restart dnsmasq

Un altro modo per svuotare la cache DNS locale in Ubuntu e altre varianti di Ubuntu come Linux Mint è eseguire il comando seguente:

$ sudo /etc/init.d/dns-clean restart

Spero che questo aiuti.

Lettura correlata:

  • Installa e configura il server DNS in Ubuntu 16.04 LTS


Linux
  1. Come cancellare la cronologia di Bash su Linux

  2. Come cancellare la cache del browser Web dalla riga di comando in Linux

  3. Come cancellare la cache di memoria in Linux

  4. Come svuotare la cache DNS in Ubuntu e LinuxMint

  5. Come svuotare la cache del resolver DNS su Linux (e FreeBSD)

Come installare KernelCare e svuotare Kernelcare Cache in Linux

Come cancellare la cache di memoria RAM e il buffer e lo spazio di scambio su Linux

Come svuotare la cache DNS su Linux

Come cancellare la cache DNS su Ubuntu

Come svuotare la cache DNS su Linux?

Come svuotare la cache DNS su Ubuntu