Gérer le cache des DNS sur Windows Serveur

Dans ce « tutoriel », je vais vous donner quelques cmdlet PowerShell pour gérer le cache de votre serveur DNS sur Windows Serveur.

Pour être plus précis, nous allons voir 4 cmdlet PowerShell *-DnsServerCache.

Show-DnsServerCache

La première commande permet d’afficher le cache DNS :

Show-DnsServerCache

La sortie de la commande donne tous les enregistrements DNS en cache sur le serveur.

Show-DnsServerCache

En sortie console, c’est pas forcément évident, la capture ci-dessous a été faite sur un serveur contrôleur de domaine et vous pourrez remarquer qu’il n’y a pas de cache pour les zones gérées par le serveur.

Pour exploiter plus facilement le cache, notamment si vous avez besoin de rechercher un enregistrement, il est possible de faire une sortie de la commande dans un fichier à l’aide de > « nom_du_fichier.txt ».

Show-DnsServerCache > dns_cache.txt

Vu que la sortie est envoyée dans un fichier, la commande ne retourne rien à l’écran, par contre dans le dossier, je retrouve mon fichier.

Le fichier txt est plus facilement exploitable en cas de besoin :

Clear-DnsServerCache

Maintenant, on va voit la commande : Clear-DnsServerCache, comme son nom l’indique, elle permet de nettoyer le cache DNS du serveur.

Cette commande n’a pas le même effet que la commande ipconfig /flushdns, Celle-ci agit au niveau du client DNS du serveur et non au niveau du serveur DNS lui-même.

Pour purger / nettoyer le cache du serveur DNS entrer la commande :

Clear-DnsServerCache

Confirmer l’opération

Après confirmation, la commande ne retourne rien, par contre vous pouvez utiliser la commande Show-DnsServerCache pour voir le résultat.

Get-DnsServerCache

Cette Cmdlet (Get-DnsServerCache) permet d’afficher la configuration du cache DNS sur le serveur :

Get-DnsServerCache

Comme on peut le voir, les paramètres du cache DNS sur le serveur sont peu nombreux, il y a deux paramètres particulièrement intéressant à configurer qui sont :

  • MaxTTL : qui va être la durée de vie maximum d’un enregistrement dans le cache DNS
  • MaxKBSize : qui est la taille maximum du cache DNS (sur la capture 512MO par défaut 10MO), ce paramètre est plus intéressant, car il permet d’ajuster la taille du cache, pour des environnements avec plusieurs milliers d’appareils qui vont sur Internet, il peut être nécessaire d’augmenter cette taille pour réduire les requêtes DNS sur Internet.

Set-DnsServerCache

La cmdlet Set-DnsServerCache permet de configurer les paramètres qui sont retournés avec la cmdlet Get-DnsServerCache.

Pour passer le cache à 20Mo :

Set-DnsServerCache -MaxKBSize 20480
Set-DnsServerCache

La commande n’a pas de retour particulier, utiliser la cmdlet Get-DnsServerCache, pour vérifier les paramètres.


J’espère que ce tutoriel vous aidera à gérer le cache de vos serveurs DNS.




Laisser un commentaire