Visualizzazione post con etichetta resolvectl. Mostra tutti i post
Visualizzazione post con etichetta resolvectl. Mostra tutti i post

mercoledì 25 gennaio 2023

Linux: Svuotare la cache dei DNS

Il servizio DNS funziona come un sistema di traduzione, traducendo i nomi di dominio in indirizzi IP e viceversa; in genere si appoggia a un server gestito dal proprio provider di connettività o a server pubblici liberamente accessibili come quelli forniti da Google, Cloudflare, OpenDNS, ecc. 
Generalmente i sistemi operativi mantengono una cache locale per velocizzare l'accesso alle risorse utilizzate più spesso ed evitare di effettuare ogni volta una chiamata al server DNS remoto. Tuttavia, all'interno della cache del DNS, possono crearsi inconsistenze che impediscono l'accesso ad alcuni siti o alla visualizzazione di contenuti non aggiornati. In questi casi è utile poter eliminare il contenuto della cache DNS in modo tale da interrogare nuovamente il server DNS per una corretta risoluzione dell'URL.

Non tutte le distribuzioni Linux hanno abilitato di default la cache dei DNS. Per verificarlo basta eseguire il seguente comando dalla finestra terminale
systemctl is-active systemd-resolved
se il sistema risponde con Active allora la cache è abilitata.
Verifica abilitazione cache DNS
FIG 1 - Verifica abilitazione cache DNS

Per abilitare la cache dei DNS bisogna abilitare ed avviare il servizio systemd-resolved con i comandi
sudo systemctl enable systemd-resolved.service
sudo systemctl start systemd-resolved.service

Per disabilitare la cache dei DNS
sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved.service

Con il comando
resolvectl statistics
Vengono visualizzate informazioni sintetiche principali sullo stato della cache come il numero di elementi memorizzati.

Per svuotare la cache dei DNS il comando da eseguire è
resolvectl flush-caches