vendredi 3 janvier 2014

Enregistrement DNS dynamique

publication initiale: lundi 26 janvier 2009

Par défaut les ordinateurs configurés avec une adresse statique essaient d’enregistrer dynamiquement leurs enregistrements d’hôte (A), pointeur (PTR) et de ressource (RR). Pour les zones DNS primaires standard, les mises à jours dynamiques ne sont pas écurisées. Cela veut dire que n’importe quel ordinateur peut mettre à jour l’enregistrement. Les zones DNS intégrées à l’AD n’acceptent par défaut que les mises à jours sécurisée (client authentifié).

Les ordinateurs mettent à jour leurs enregistrements DNS tous les 7 jours et c’est le service client DHCP qui s’en charge, même si la station n’utilise pas DHCP.

Cette valeur est modifiable via cette clé de registre :
HKLM\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters\ DefaultRegistrationRefreshInterval

Quand un client enregistre ses enregistrement A & PTR, il ajoute son compte d’ordinateur (computer_name$) avec le full control. Il est donc le seul en théorie à pouvoir mettre à jour son enregistrement.

On peut également désactiver l’enregistrement DNS dynamique au niveau des propriétés TCP/IP avancées (DNS) du client. Pour cela cocher ou non la case "Register this connection’s address in DNS"

TECHNET : Dynamic update
KB 932464 : How DNS dynamic updates work together with the DNS "aging and scavenging"

Quand un ordinateur utilise une configuration automatique, le serveur DHCP peut enregistrer pour le compte du client ses enregistrement A et PTR. C’est l’option "Client FQDN" (option DHCP 81) qui va décider de ce que fera le serveur DHCP :

  • maj A et PTR selon demande du client
  • maj A et PTR quelque soit la demande du client
  • maj A et PTR pour les clients qui ne gèrent pas l’option 81 (avant Win2K)

Aprés tout dépend de la configuration du serveur DHCP. Selon la config l’un des cas ci-dessus aura lieu mais on peut également dire au serveur DHCP de ne pas faire de mise à jour DNS dynamique.

L’option ci-dessous doit etre sélectionner sur le serveur DHCP :
Enable DNS Dynamic updates according to the settings below

Ensuite les deux options suivantes sont possibles :
Dynamically update DNS A and PTR records only if requested by ...
Always dynamically update DNS A and PTR records

Quand le serveur DHCP met à jour un enregistrement DNS pour le compte d’un client, il devient propriétaire de l’enregistrement.

Cela peut poser problème dans certains cas.

Par exemple si le serveur DHCP change, le nouveau serveur ne pourra pas mettre à jour les enregistrements dont il n’est pas propriétaire. De même si un legacy client est upgradé, il ne pourra pas mettre à jour ses enregistrements car il n’en est pas propriétaire.

La solution consiste à mettre tous les serveurs DHCP dans le groupe prédéfini "DnsUpdateProxy". Les membres de ce groupe créent des enregistrement non sécurisés et dont le propriétaire n’est pas défini. Le premier client non membre de ce groupe à mettre à jour n’enregistrement en deviendra le propriétaire.

Les membres du groupe "DnsUpdateProxy" ne peuvent toutefois pas écrire dans des zones intégrées à l’AD qui elles demandent un accès sécurisé.

La solution consiste alors à créer un compte dédié aux enregistrements DNS et à configurer le serveur DHCP pour utiliser ce compte.

Si le serveur DHCP se trouve sur un DC, il est également recommandé de définir un compte dédié car sur un DC le serveur DHCP hérite de permission supplémentaires et peut supprimer/maj tous les enregistrements. Le compte dédié évite cette situation.

TECHNET : Using DNS servers with DHCP

Sur un DC, le service netlogon enregistre également les enregistrements DNS de type ressource. Ces enregistrements sont dans le fichiers suivant :

%systemroot%\System32\Config\Netlogon.dns

Par exemple si la zone _msdcs.domain.local est abimée, on peut la supprimer, la recréer avec le même nom, puis redémarrer le service netlogon qui recrééra tous les enregistrements de ressource du serveur.

Pour vérifier qu’un serveur Exchange arrive bien à localiser les ressources AD via DNS, on peut utiliser nltest.exe :

nltest /dnsgetdc:domain.local
nltest /dnsgetdc:domain.local /GC
nltest /dsgetdc:domain.local
nltest /dsgetsite

Liens et références :
KB 816592 : How to configure DNS dynamic updates in WIN2K3 server
KB 246804 : How to enable or disable DNS updates

Pour résoudre les problèmes de réplication AD via DNSLint :
KB 321046 : How to use DNSLint to troubleshoot AD replication issues

Aucun commentaire:

Enregistrer un commentaire