Il server DNS (Domain Name System) è stato creato per tradurre i nomi a dominio in indirizzi IP e viceversa in modo da consentire l'invio di pacchetti di dati ai computer di destinazione Ogni volta che inseriamo un indirizzo Nel browser web, il l'apparecchiatura è responsabile dell'invio di una query al server DNS registrato, richiedendo l'indirizzo IP associato al nome a dominio cercato, questa ricerca richiede tempo e se viene eseguita in ogni processo di accesso, il server DNS può gestire un numero elevato di richieste che possono eventualmente provocarne il collasso e la conseguente conseguente negazione dell'accesso.
Per evitare ciò, c'è la cache DNS che si occupa di salvare localmente l'indirizzo IP di detto dominio in modo da saltare il processo di ricerca all'accesso successivo, ma invece viene reindirizzato prendendo questo valore locale e quindi rilasciamo il carico sul server e allo stesso tempo accediamo molto più velocemente. Ma il problema è che avere troppa cache DNS ospitata può influire sulle prestazioni del browser, motivo per cui se ne consiglia il rilascio, vedremo come eseguire questa attività in Linux.
1. Cancella la cache DNS usando systemd-resolve su Linux
Ubuntu e altre distribuzioni basate su Debian utilizzano il comando systemd-resolve, questo comando è un demone DNS integrato in systemd ed è un servizio di sistema che fornisce la risoluzione dei nomi di rete alle applicazioni locali.
Questo comando implementa una cache e un resolver di stub DNS / DNSSEC di convalida, nonché un resolver LLMNR e MulticastDNS. Le applicazioni locali sono in grado di inviare richieste di risoluzione dei nomi di rete attraverso tre interfacce:
- L'API nativa completa del sistema risolto è esposta sul bus.
- L'API glibc getaddrinfo definita da RFC3493 e le relative funzioni di risoluzione, incluso gethostbyname.
- Un listener DNS stub locale è offerto all'indirizzo IP 127.0.0.53 sull'interfaccia di loopback locale, da lì i programmi che generano richieste DNS direttamente, bypassando le API locali, possono utilizzare questo stub, per connettersi a systemd-resolved
Passo 1
Per utilizzare questo comando, vedremo prima le statistiche della cache DNS sul sistema:
sudo systemd-resolve -statistics
INGRANDIRE
Passo 2
Ora, per cancellare la cache DNS eseguiamo:
sudo systemd-resolve --flush-cachres
INGRANDIRE
Passaggio 3
Come possiamo vedere, quando eseguiamo nuovamente le statistiche, la cache DNS è stata cancellata. Questo è il metodo più comune. Altre opzioni da utilizzare per diverse distribuzioni sono:
In caso di utilizzo di RedHat o ArchLinux
sudo systemctl riavvia nscd
2. Cancella la cache DNS usando dnsmasq o named su Linux
Successivamente vedremo altre due opzioni per poter svuotare la cache
Cancella cache DNS con DnsmasqDnsmasq è spesso usato nei server o router DNS locali, per cancellare la cache DNS con questo comando dobbiamo eseguire:
sudo systemctl riavvia dnsmasq
Cancella cache DNS con BINDQuesto comando BIND viene utilizzato per i server DNS appositamente progettati per attività specifiche e per cancellare la cache DNS è sufficiente eseguire:
sudo systemctl riavvio denominato
Semplicemente così, abbiamo cancellato la cache DNS di Linux, migliorando così le prestazioni delle nostre apparecchiature attraverso il terminale.