I computer registrano ogni sito web che visiti in una “cache DNS”. Lo scopo di questa cache è risparmiare tempo quando l’utente tenta di accedere a un dominio; il sistema non deve cercarlo ogni volta manualmente. Nel complesso, la memorizzazione nella cache DNS rende più veloce l’utilizzo di Internet, ed è per questo che praticamente tutti i sistemi operativi da macOS, a Windows a Linux lo fanno.
Tuttavia, per quanto utile sia il caching DNS, a volte possono sorgere problemi, come vedere un vecchio sito web invece di quello nuovo aggiornato, non riuscire a connettersi a un server remoto, ecc. Un ottimo modo per aggirare questo tipo di errori su Linux computer è quello di “svuotare” la cache DNS su Linux. Quando svuoti la cache DNS, aggiornerà il database DNS e risolverà molti dei problemi di risoluzione riscontrati da molti utenti.
Sommario:
Flush DNS – Systemd risolto
A questo punto, la maggior parte degli utenti Linux esegue un sistema operativo in cui è integrato il sistema di inizializzazione Systemd. Sebbene l’argomento di Systemd divida nella comunità, c’è una cosa che tutti sanno: Systemd rende le modifiche e la manutenzione profonde e complicate a livello del sistema operativo molto più semplici di quanto non fosse in passato. Questo fatto è particolarmente vero quando si cancella la cache DNS.
Systemd gestisce la cache DNS in qualcosa noto come “systemd risolto”. È un’utilità standard che trova un modo per la maggior parte dei sistemi operativi Linux. Per determinare se il tuo sistema operativo utilizza Systemd Resolved per gestire DNS e cache DNS sul sistema, avvia una finestra di terminale premendo Ctrl + Alt + T o Ctrl + Maiusc + T sulla tastiera. Successivamente, esegui il comando systemctl status sul file systemd-resolved.service.
systemctl status systemd-resolved.service
Guarda attraverso la stampa di Systemd Resolved nella finestra del terminale e individua la sezione “Attivo” una volta individuata la sezione “Attivo” e assicurati che abbia “attivo (in esecuzione)” accanto ad essa. Se lo fa, il tuo sistema Linux lo sta usando per gestire il suo DNS.
Per cancellare la cache DNS per Systemd Resolved, è necessario utilizzare una delle funzionalità integrate di Systemd Resolved. In particolare, il comando flush caches. Eliminerà immediatamente il DNS e ti rimetterà in funzione!
sudo systemd-resolved --flush-caches
Oppure, se non puoi usare sudo, fai:
su -
systemd-resolved --flushcaches
Dopo aver utilizzato il comando flushcaches, le cache DNS sul sistema dovrebbero essere sufficientemente svuotate. Tuttavia, se dopo aver eseguito questo comando riscontri ancora alcuni problemi, potrebbe essere una buona idea riavviare del tutto il servizio. Per fare ciò, usa il comando systemctl restart.
sudo systemctl restart systemd-resolved.service
Non puoi usare sudo? Accedi come root con su prima di provare a riavviare il servizio con systemd.
su - systemctl restart systemd-resolved.service
Quando Systemd-Resolved termina il riavvio, tutti i problemi DNS dovrebbero essere risolti!
Flush DNS – DNS Masq
DNSMasq è un’altra popolare soluzione DNS per la piattaforma Linux utilizzata da molti sistemi operativi. Proprio come lo strumento Systemd-Resolved, gli utenti possono interagire con esso con il comando systemctl. Per determinare se il tuo sistema operativo utilizza lo strumento DNSMasq per gestire il DNS, esegui il comando status.
systemctl status dnsmasq.service
Leggere la stampa dello stato che systemd fornisce sullo schermo. Raggiungi la sezione “Attivo” della lettura. Scansionalo e cerca “attivo (in esecuzione)” per confermare che il servizio è attivo. In tal caso, è possibile svuotare immediatamente la cache DNS per DNSMasq utilizzando il comando systemctl restart. Nel terminale, inserisci il seguente comando.
sudo systemctl restart dnsmasq.service
Oppure, per coloro che non possono utilizzare i comandi systemd con sudo, prova ad accedere come Root prima di provare a riavviare.
su -
systemctl restart dnsmasq.service
Flush DNS – NSCD
NSCD è il sistema di cache DNS preferito per la maggior parte dei sistemi operativi Linux basati su RedHat. Pertanto, se stai utilizzando OpenSUSE Linux, CentOS o qualcosa di simile, ci sono buone probabilità che dovrai preoccuparti per svuotare la cache DNS.
Nota: sebbene Fedora Linux sia basato su RedHat, per impostazione predefinita non memorizza una cache DNS.
Per determinare se il tuo sistema operativo Linux utilizza NSCD, dovrai utilizzare il comando status, poiché si tratta di un servizio systemd.
systemctl status nscd.service
L’esecuzione del comando status sul servizio NSCD ti fornirà molte informazioni dettagliate su di esso. Scorri e trova la sezione che dice “Attivo”. Se il tuo sistema lo sta utilizzando, vedrai del testo verde che dice “attivo (in esecuzione)”.
Lo svuotamento della cache DNS con NSCD funziona praticamente come ogni altro sistema di memorizzazione nella cache che funziona con systemd. Tutto ciò che l’utente deve fare è eseguire il comando systemctl restart. Ricaricherà il servizio e cancellerà automaticamente la cache DNS, il che risolverà eventuali problemi DNS che potresti riscontrare.
sudo systemctl restart nscd.service
In alternativa, se il tuo sistema operativo Linux disabilita l’esecuzione dei comandi systemctl con sudo, puoi riavviare il servizio accedendo prima all’account root usando su.
su - systemctl restart nscd.service