GNU/Linux >> Tutoriels Linux >  >> Linux

Comment effacer ou vider le cache DNS sous Linux

Ce bref guide explique toutes les manières possibles d'effacer ou de vider le cache DNS dans les systèmes d'exploitation Linux. Pour ceux qui se demandent, cache DNS (ou parfois appelé cache de résolution DNS ) est une petite base de données temporaire maintenue par les systèmes d'exploitation. Il stocke les informations sur tous les sites Web visités et autres domaines Internet. En d'autres termes, le cache DNS contient les dernières recherches DNS. Lorsque vous visitez plusieurs fois le même site Web, le système d'exploitation récupère les enregistrements DNS de ce site Web à partir de la base de données de cache DNS locale au lieu du serveur DNS public réel. Par conséquent, la mise en cache DNS améliore le temps de chargement du site Web et réduit la consommation de bande passante/CPU du serveur DNS d'origine.

Pourquoi devriez-vous effacer ou vider le cache DNS ?

Il peut y avoir de nombreuses raisons d'effacer le cache DNS local. Par exemple, vous avez peut-être personnalisé votre site Web ou modifié les paramètres DNS de votre domaine ou vous rencontrez des problèmes de connectivité Internet. Dans de tels cas, si vous essayez de visiter le site, votre système d'exploitation obtiendra probablement la version mise en cache du site à partir du cache DNS local. Ainsi, l'effacement du cache DNS local supprimera toutes les entrées de la base de données du cache DNS local et forcera votre système à repeupler le cache DNS avec de nouvelles entrées du serveur DNS réel et à afficher la nouvelle copie du site Web.

Effacer ou vider le cache DNS sous Linux

Par défaut, la mise en cache DNS n'est pas installée et/ou activée au niveau du système d'exploitation sous Linux. Au lieu de cela, les applications telles que les navigateurs Web conservent leur propre cache interne. Ainsi, vous pouvez simplement vider le cache de votre navigateur ou le redémarrer pour résoudre les problèmes de connectivité Internet, résoudre les problèmes d'usurpation DNS (par exemple, l'empoisonnement du cache DNS) et résoudre les problèmes de contenu obsolète. Si votre distribution Linux utilise des services de mise en cache DNS, vous devez les effacer manuellement comme décrit ci-dessous. Il existe plusieurs façons de vider le cache DNS. Cela dépend de la distribution Linux et du service de mise en cache DNS que vous utilisez. J'ai inclus ici des instructions pour effacer les services de mise en cache DNS les plus couramment utilisés sous Linux.

1. Effacer le service de mise en cache DNS Systemd-resolve

Systemd-resolve est un service systemd qui fournit un service de mise en cache DNS au niveau du système pour les applications locales. Il fait partie du package systemd qui est installé par défaut. Le service résolu par Systemd est activé par défaut dans la plupart des systèmes d'exploitation Linux modernes tels que Fedora et Ubuntu. Tout d'abord, vérifions si le service résolu par systemd est actif ou n'utilise pas la commande :

$ sudo systemctl is-active systemd-resolved.service

Si le service résolu par systemd est activé, vous verrez "actif" dans la sortie. S'il n'est pas actif, il affichera "inactif" .

Comme vous le voyez dans la sortie ci-dessus, le service résolu par systemd est actif dans mon système.

Voyons les statistiques du service de mise en cache systemd-resolve avec la commande :

$ sudo systemd-resolve --statistics

Exemple de résultat :

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

Comme vous le voyez, la sortie ci-dessus répertorie le nombre total de la taille actuelle du cache, les hits et les caches manqués.

Pour vider le cache systemd-resolve, exécutez :

$ sudo systemd-resolve --flush-caches

En cas d'exécution réussie, vous ne verrez aucune sortie.

Maintenant, vérifiez les statistiques systemd-resolve pour vérifier si le cache DNS local est effacé ou non.

$ sudo systemd-resolve --statistics

Vous verrez maintenant la taille actuelle du cache comme zéro.

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. Effacer le service de mise en cache DNS Nscd

NSCD , abréviation de n je suis s service c mal d aemon est un démon de mise en cache qui fournit un cache pour les demandes de service de noms les plus courantes. C'est le service de mise en cache préféré pour la plupart des systèmes basés sur Redhat. Si votre système Linux utilise le service de mise en cache nscd, vous pouvez effacer ou vider le service de mise en cache DNS local en redémarrant simplement le service nscd comme ci-dessous :

$ sudo systemctl restart nscd.service

Ou,

$ sudo service nscd restart

Ou,

$ sudo /etc/init.d/nscd restart

3. Effacer le service de mise en cache DNS Bind/Named

Domaine de nom Internet Berkeley (sous peu BIND ) est le serveur DNS open source le plus utilisé aujourd'hui. Si vous utilisez BIND pour mettre en cache les requêtes DNS, utilisez les commandes suivantes pour effacer/vider le service de mise en cache BIND sous Linux :

$ sudo systemctl restart named

Ou,

$ sudo service named reload

Ou,

$ sudo /etc/init.d/named restart

Ou,

$ sudo rndc reload

Ou,

$ sudo rndc exec

La dernière version de BID vous permet également de vider le cache DNS d'un domaine spécifique. La commande suivante efface le cache DNS du domaine ostechnix.com :

$ sudo rndc flushname ostechnix.com

Vous pouvez également effacer le cache DNS pour des zones LAN et WAN entières comme ci-dessous :

$ sudo rndc flush lan

$ sudo rndc flush wan

4. Effacer le service de mise en cache DNS de Dnsmasq

Dnsmasq est un serveur DHCP et DNS de mise en cache léger prenant en charge les serveurs PXE et TFTP. Il convient aux routeurs et aux pare-feu à ressources limitées pour gérer de petits réseaux.

Si vous utilisez dnsmasq comme service de mise en cache, vous pouvez vider le service de mise en cache DNS local comme ci-dessous :

$ sudo systemctl restart dnsmasq

Une autre façon d'effacer le cache DNS local dans Ubuntu et d'autres variantes d'Ubuntu telles que Linux Mint consiste à exécuter la commande suivante :

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

J'espère que cela vous aidera.

Lire connexe :

  • Installer et configurer le serveur DNS dans Ubuntu 16.04 LTS


Linux
  1. Comment effacer l'historique de Bash sous Linux

  2. Comment effacer le cache du navigateur Web à partir de la ligne de commande sous Linux

  3. Comment effacer le cache mémoire sous Linux

  4. Linux - Comment remplacer un serveur Vm DNS ?

  5. Comment vider le cache du résolveur DNS sous Linux (et FreeBSD)

Comment installer KernelCare et vider le cache Kernelcare sous Linux

Comment effacer le cache et la mémoire tampon de la mémoire RAM et l'espace d'échange sous Linux

Comment vider le cache DNS sous Linux

Comment effacer le cache DNS sur Ubuntu

Comment vider le cache DNS sous Linux ?

Comment vider le cache DNS sur Ubuntu