SBS 2008 DNS cesse de fonctionner après 1 jour pour .uk, .eu et d'autres TLD hors Etats-Unis

Dans SBS 2008, lors de la première installation ou de la redémarrage, les requêtes DNS réussissent, mais après une période d'environ 1 jour, les utilisateurs déclarent qu'ils ne peuvent accéder à certains sites Web. Lors de l'inspection, on peut remarquer que les sites Web inaccessibles se trouvent dans les domaines de premier niveau .uk et .eu (TLD) ou certains autres TLD qui sont à l'extérieur des États-Unis.

Si laissé pendant plusieurs jours, le problème peut sembler se résoudre puis se reproduire après un autre jour ou deux.

Si le service du serveur DNS est redémarré ou si le cache DNS du serveur est effacé, le problème est temporairement résolu mais se produit à nouveau après un jour ou plus.

La cause de ce problème est que dans les pays de l'UE (et certains autres TLD hors des États-Unis), les enregistrements de serveur de noms sont habituellement mis en cache pendant plus d'un jour. SBS2008 a un plafond sur le temps maximum qu'il permettra aux enregistrements de serveur de noms d'être mis en cache, qui par défaut est de 1 jour. Cette valeur par défaut fonctionne bien aux États-Unis, mais lorsque les enregistrements .uk et .eu sont périmés, ils ne sont pas supprimés du cache mais ne sont plus retournés comme des enregistrements valides. Par conséquent, ils empêchent effectivement les recherches DNS dans ces TLD de réussir jusqu'à ce que les enregistrements expirent et soient supprimés du cache ou le service Serveur DNS soit redémarré.

Le correctif consiste à augmenter le paramètre Maximum Time To Live (TTL) dans le serveur DNS afin qu'il reconnaisse les enregistrements antérieurs à 1 jour. L'expérience a montré que le réglage de la valeur à 4 jours est généralement suffisant, mais le réglage maximal est de 30 jours.

Solution de contournement

Ce problème peut être temporairement résolu en redémarrant le service Serveur DNS ou en effaçant le cache DNS sur le serveur DNS.

Les résolutions permanentes incluent: augmenter la valeur TTL maximale du cache DNS. – Reconfiguration du serveur DNS pour utiliser les redirecteurs DNS au lieu de compter sur les astuces racines.

Solution

Pour un travail permanent, la valeur MaxCacheTTL doit être changée en une valeur supérieure à TLD TLD (la valeur par défaut est 1 jour, la valeur maximale est de 30 jours). Sur SBS2008, il n'y a pas d'impact négatif puisque c'est le TTL pour le cache des enregistrements de ressources. Ce n'est que la valeur maximale qu'il sera stocké sur le serveur DNS. Si le TTL actuel est plus court, la valeur plus courte sera utilisée.

  1. Démarrez l'Éditeur du Registre (Regedit.exe).
  2. Recherchez la clé de Registre suivante:
    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ DNS \ Parameters
  3. Dans le menu Edition, cliquez sur Nouveau, cliquez sur Valeur DWORD (32 bits), puis ajoutez la valeur suivante:

    Valeur: MaxCacheTtl
    Type de données: DWORD
    Valeur des données: 0x69780 (432000 en décimal = 5 jours)

  4. Cliquez sur OK.

  5. Quittez l'Éditeur du Registre.
  6. Redémarrez le serveur DNS.

En tant que précaution supplémentaire, effacez le cache du résolveur DNS en utilisant

IPCONFIG /FlushDNS 

Après la modification, le serveur doit être surveillé pour vérifier si le problème se produit à nouveau. Étant donné que cette valeur n'affectera pas le comportement normal sur SBS2008, nous pouvons augmenter cette valeur à une valeur plus grande si le problème persiste.

Voir également

  • Les serveurs DNS Windows Server 2008 peuvent ne pas résoudre les requêtes pour certains domaines de premier niveau
  • Impossible de résoudre les noms dans certains domaines de premier niveau comme .co.uk