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.
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
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.