Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le transfert DNS est un processus de résolution de noms dans lequel un serveur DNS envoie une requête récursive à un autre serveur DNS qui agit comme un transiteur. Le serveur DNS peut utiliser des transiteurs au niveau serveur pour la résolution générale des noms et des transiteurs conditionnels pour certains espaces DNS sélectionnés. Comprendre comment la redirection interagit avec les délégations, les indices racine et les délais d’attente vous aide à prévoir quel serveur reçoit une requête et quand la résolution peut se poursuivre par une autre voie.
Cet article explique comment le serveur DNS sélectionne parmi les données disponibles localement, les transiteurs conditionnels, les délégations, les forwarders au niveau serveur et les hints racines lorsqu’il traite des requêtes client récursives. Cela explique aussi comment les paramètres de délai d’expiration et de repli déterminent si la résolution se poursuit ou échoue.
Comment le serveur DNS sélectionne un chemin de résolution
Lorsque le serveur DNS reçoit une requête récursive d’un client, il évalue les données disponibles localement puis sélectionne un chemin de résolution applicable. Le chemin dépend des zones hébergées par le serveur DNS ainsi que de sa configuration de transiteur conditionnel, de délégation, de redirection au niveau serveur et de ses indices racines.
La distinction entre une réponse terminale et une absence de réponse est centrale dans ce processus de sélection. Une réponse DNS comme NXDOMAIN ou NODATA est une réponse terminale valide et ne déclenche normalement pas de repli de secours. Le plan de secours s’applique généralement lorsqu’un serveur configuré ne répond pas ou lorsque le serveur DNS classe un résultat comme réessayable.
Cet ordre de résolution s’applique lorsque vous désactivez ForwardDelegations. Les politiques DNS et autres fonctionnalités DNS peuvent affecter le chemin pour une requête spécifique.
Vérifiez les données DNS disponibles localement. Le serveur évalue les zones d’autorité qu’il héberge ainsi que son cache. Si une zone d’autorité hébergée couvre la requête, cette zone détermine le résultat. Si des données autoritaires ou le cache fournissent un résultat terminal, le serveur le renvoie.
Utilisez un transiteur conditionnel correspondant. Si le nom de requête correspond à une zone de transitoire conditionnel, le serveur envoie la requête aux serveurs DNS cibles configurés de cette zone. Si ces serveurs ne répondent pas ou ne renvoient pas un résultat que le serveur DNS considère comme réessayable, le paramètre Utiliser la récursion du transiteur conditionnel détermine si le serveur peut essayer d’autres chemins de résolution récursive.
Utilisez une délégation appropriée. Si une délégation correspondante identifie les prochains serveurs faisant autorité, le serveur envoie des requêtes itératives aux serveurs de noms de cette délégation. Avec
ForwardDelegationsdésactivé, les forwarders au niveau serveur ne contrôlent pas une requête tandis qu’une délégation applicable en contrôle la résolution.Utilisez des forwarders au niveau du serveur. Si aucun retraiteur conditionnel ni délégation applicable ne contrôle la requête, le serveur utilise ses forwarders configurés au niveau serveur dans l’ordre actif et sous réserve des délais configurés.
Utilisez des indices racines lorsque la configuration le permet. Si le serveur a épuisé tous ses redirecteurs configurés au niveau du serveur, il peut se rabattre sur les indications de racine lorsque sa configuration active la récursion et le recours aux indications de racine, et que le délai global de récursion n’a pas expiré. Si le serveur ne dispose pas de forwarders au niveau serveur configurés, les hints racines peuvent constituer le point de départ pour une résolution itérative.
Retournez le résultat ou un échec. Le serveur retourne le résultat du chemin sélectionné. Si la configuration du serveur désactive la récursion, le serveur retourne
REFUSEDnormalement une requête nécessitant une récursion. Si le traitement récursif ne peut pas se terminer, le serveur retourneSERVFAIL.
Note
Un redirecteur non réactif ne garantit pas que le serveur atteigne le repli d'indications de racine. Le serveur doit épuiser les redirecteurs applicables avant que RecursionTimeout n’expire. Si le délai global de récursion expire en premier, la requête échoue sans atteindre les indices racines.
Flux et repli de résolution du redirecteur de serveur DNS
Le diagramme de flux suivant montre le parcours décisionnel commun à partir des données locales disponibles à travers des méthodes de résolution progressivement plus larges. Une réponse terminale cesse le traitement à n’importe quelle étape. Un serveur non réactif ou un résultat réessayable ne peut mener à un autre chemin que lorsque la configuration permet un plan de secours et que le temps reste dans RecursionTimeout. La description du texte identifie chaque branche et chaque résultat.
Transiteurs au niveau serveur dans le serveur DNS
Les forwarders au niveau serveur gèrent les requêtes non résolues lorsque ni une zone d’autorité hébergée, ni une zone de transitoire conditionnelle correspondante, ni une délégation applicable ne contrôle la requête. Le serveur DNS envoie une requête récursive à un redirectionneur, qui devient responsable de la résolution de noms.
Centraliser les recherches externes via les transiteurs peut réduire l’exposition directe à Internet, consolider les réponses en cache, simplifier la surveillance et le contrôle d’accès, et réduire les requêtes externes répétées. Si vous ne configurez pas les forwarders au niveau du serveur, le serveur DNS utilise des hints root pour les noms non résolus lorsque vous activez la récursion et que des données d’hints root utilisables sont disponibles.
N’autorisez les requêtes récursives que depuis des clients et réseaux de confiance, et n’exposez pas de services DNS récursifs à des réseaux non fiables. Utilisez des transiteurs de confiance et des règles de pare-feu pour faire respecter les limites du trafic DNS.
Sélection et ordre des transiteurs au niveau serveur
Vous configurez les adresses IP du transiteur dans un ordre préféré. Par défaut, Dynamic Forwarder Reordering maintient un ordre actif en fonction des temps de réponse et rétablit la liste dans l’ordre configuré toutes les 15 minutes environ.
- Pour chaque requête, le serveur DNS sélectionne les redirectionnaires dans la liste active.
- Si un redirecteur met plus d’une seconde à répondre, le serveur considère la réponse comme lente à des fins de réordonnancement.
- Après trois réponses lentes consécutives ou expirations de délai, le serveur peut déplacer ce redirecteur à la fin de la liste active.
- Le serveur DNS ne détermine pas si un transiteur non réactif est hors ligne ou lent. Surveillez l’état de l’expéditeur séparément.
Note
Dans Windows Server 2022 et ultérieurs, si aucun des transiteurs ne répond, le serveur DNS utilise uniquement le premier serveur de la liste dynamique pour les requêtes suivantes jusqu’au redémarrage du service serveur DNS. Pour faire défiler le serveur à travers tous les forwarders configurés comme dans les versions précédentes, désactivez le réordonnancement dynamique avec Set-DnsServerForwarder -EnableReordering $false.
Repli du redirecteur au niveau du serveur vers les indications de racine
Après que le serveur DNS a épuisé les forwarders au niveau du serveur concernés, il tente par défaut la récursion standard si les forwarders ne répondent pas ou ne renvoient que des résultats que le serveur DNS considère comme réessayables. La récursion standard utilise des requêtes itératives qui commencent par les serveurs dans les indices racines. Ce plan de repli nécessite toutes les conditions suivantes :
- Le serveur épuise les redirecteurs applicables avant que
RecursionTimeoutn’expire. - Le serveur permet la récursion.
- Le
UseRootHintréglage est$true, que vous configurez avecSet-DnsServerForwarder -UseRootHint $true. - Le serveur dispose de données d’indices racines utilisables et d’un accès réseau aux serveurs DNS requis.
Définissez UseRootHint sur $false lorsque le serveur doit restreindre les requêtes non résolues aux redirecteurs de sa configuration. Avec cette configuration, le serveur n’essaie pas la résolution itérative lorsque les transiteurs échouent.
Transiteurs conditionnels dans le serveur DNS
Un transiteur conditionnel redirige les requêtes pour un espace de noms DNS spécifique vers des serveurs DNS désignés. Par exemple, un transiteur conditionnel peut envoyer toutes les requêtes de south.contoso.com vers les serveurs DNS qui hébergent cet espace de noms tandis que le serveur gère d’autres noms via des forwarders au niveau serveur ou des hints racines.
Le serveur DNS stocke les redirecteurs conditionnels sous forme de zones de redirecteur. Lorsqu’une requête correspond à un retraiteur conditionnel, le serveur DNS l’envoie à la liste des serveurs DNS de cette zone cible au lieu d’utiliser immédiatement le chemin de redirection général au niveau du serveur.
Restrictions de zones hébergées pour les transiteurs conditionnels
Vous ne pouvez pas créer un transiteur conditionnel pour un nom DNS qui correspond à une zone principale, secondaire ou stub hébergée par le même serveur DNS. Parce que le serveur DNS stocke un transiteur conditionnel comme zone de transiteur, le serveur ne peut pas héberger un autre type de zone ni un retraiteur conditionnel portant le même nom.
Par exemple, si le serveur héberge contoso.com comme une zone d’autorité, vous ne pouvez pas créer un transiteur conditionnel nommé contoso.com sur ce serveur. DNS Manager ou Add-DnsServerConditionalForwarderZone indique que la zone existe déjà, et le serveur continue de répondre aux requêtes pour contoso.com à partir de sa zone hébergée.
Si un autre serveur DNS doit résoudre tout l’espace de noms, migrez les données de la zone et supprimez la zone hébergée avant de créer le retraiteur conditionnel. Si d’autres serveurs DNS hébergent uniquement un espace de noms enfant, conservez la zone parente et créez une délégation pour cet espace de noms.
Repli et récursion du redirecteur conditionnel
Le paramètre Utiliser la récursion du transiteur conditionnel contrôle ce que le serveur DNS peut faire si les serveurs DNS cibles de la zone ne répondent pas ou ne retournent pas un résultat que le serveur DNS considère comme réessayable.
| Utiliser la récursion | Comportement après absence de réponse terminale | Result |
|---|---|---|
| activé | Le serveur DNS ne peut essayer un autre chemin de résolution récursive que lorsque la configuration à l’échelle du serveur permet la récursion, qu’un chemin applicable existe et que le temps reste dans RecursionTimeout. |
La résolution peut se poursuivre par un chemin récursif applicable. |
| Désactivé | Le serveur DNS n’essaie pas d’autres serveurs DNS. | La requête échoue si les serveurs DNS cibles configurés ne peuvent pas fournir de résultat terminal. |
ForwarderTimeout contrôle la fenêtre de temporisation conditionnelle du transiteur et la planification des tentatives du serveur DNS cible. Le serveur DNS ne démarre pas une nouvelle tentative vers le redirecteur conditionnel une fois ForwarderTimeout écoulé.
RecursionTimeout fournit une limite distincte à l’échelle du serveur sur le traitement récursif.
Délégation et transfert du serveur DNS
Si un serveur DNS héberge une zone parente et que le nom interrogé relève d’une délégation applicable, le serveur utilise cette délégation pour localiser les serveurs DNS autoritaires de la zone enfant. La délégation crée une coupure de zone : le serveur parent fait autorité pour les enregistrements de délégation mais ne l’est pas pour les données à l’intérieur de la zone enfant déléguée.
Si aucune délégation ne s’applique et que le nom demandé appartient à une zone hébergée par le serveur, le serveur fait autorité pour la requête. Si le nom ou le type d’enregistrement demandé n’existe pas, le serveur renvoie une réponse négative autoritaire telle que NXDOMAIN ou NODATA. Il n’envoie pas cette requête à un redirecteur conditionnel, à un redirecteur au niveau du serveur ou aux indications de racine.
Par exemple, si un serveur héberge contoso.com et d’autres serveurs hébergent south.contoso.com, créez une délégation pour south dans la contoso.com zone. La zone parent renvoie une référence aux serveurs autorisés de la zone enfant. Une délégation n’envoie pas de requête récursive et transférée.
Ce comportement de délégation s’applique lorsque ForwardDelegations est désactivé. Si votre environnement permet ce réglage, validez l’interaction résultante entre délégations et transiteurs avant de vous fier à cet ordre de résolution.
Important
Si le serveur DNS héberge également une copie autoritaire de la zone enfant et que vous souhaitez déplacer l’espace de noms enfant vers d’autres serveurs, migrez et supprimez la copie locale de la zone enfant. Sinon, le serveur reste autoritaire pour cette copie.
Indications de racine du serveur DNS et résolution itérative
Les indications de la racine sont des enregistrements de ressources qui identifient les serveurs DNS faisant autorité sur la racine d’un espace de noms DNS. Le serveur DNS les utilise comme points de départ pour la résolution itérative. Un serveur racine renvoie généralement une réponse, une référence à des serveurs plus proches du nom demandé, ou une défaillance DNS ou une réponse négative.
Si vous ne configurez pas de forwarders au niveau serveur et qu’aucune délégation ou configuration de transfert plus spécifique ne fournit un point de départ, le serveur peut utiliser des hints racines pour une requête non résolue. Si vous configurez des redirecteurs au niveau du serveur, celui-ci n’utilise les indications de racine comme solution de secours qu’après avoir épuisé les redirecteurs, et uniquement si la récursion, le délai d’expiration restant et UseRootHint permettent ce repli.
Si un serveur DNS fait autorité pour la racine d’un espace de noms privé, c’est un serveur racine pour cet espace de noms. Ne supposez pas que le transfert classique au niveau serveur ou les hints root publics sont appropriés pour une root privée. Utilisez des délégations ou concevez délibérément une configuration de transfert conditionnel entre les espaces de noms.
Délais d’expiration du serveur DNS et comportement de défaillance
Les paramètres de délai d'expiration déterminent si un serveur DNS contacte les redirecteurs suivants ou bascule vers les indications de racine.
RecursionTimeout est le budget global de temps pour le traitement récursif.
ForwardingTimeout et ForwarderTimeout planifient les tentatives individuelles pour les redirecteurs au niveau du serveur et les redirecteurs conditionnels respectivement, dans ce budget ; aucun des deux ne redémarre ni ne prolonge RecursionTimeout.
| Setting | Scope | Purpose | Paramètre PowerShell |
|---|---|---|---|
RecursionTimeout |
Serveur DNS | Limite l’ensemble de la requête client récursive. Lorsque le délai expire, le traitement récursif s’arrête et le serveur retourne SERVFAIL. |
Set-DnsServerRecursion -Timeout |
ForwardingTimeout |
Redirecteurs au niveau du serveur | Précise combien de temps le serveur DNS attend chaque retraiteur au niveau serveur avant d’essayer le retraiteur suivant. | Set-DnsServerForwarder -Timeout |
ForwarderTimeout |
Zone de redirecteur conditionnel | Contrôle la fenêtre temporelle du redirecteur conditionnel et la planification de chaque tentative vers chaque serveur DNS cible. Le serveur DNS ne lance aucune nouvelle tentative vers une autre cible de redirecteur conditionnel une fois ce délai d’attente écoulé. | Add-DnsServerConditionalForwarderZone -ForwarderTimeout |
Lorsqu’un transiteur renvoie une réponse terminale, le serveur renvoie cette réponse sans essayer un autre chemin de résolution. Lorsqu’un transiteur ne répond pas ou retourne un résultat que le serveur DNS considère comme réessayable, le serveur DNS peut essayer le serveur configuré suivant ou un chemin de secours disponible tant que le temps restant.
Parce que RecursionTimeout cela limite l’ensemble de l’opération, configurer de nombreux transiteurs ne garantit pas que le serveur interroge chaque transiteur ou tente des indices root. Si le délai d’expiration total expire en premier, le serveur renvoie SERVFAIL. Lorsque vous configurez trois forwarders ou plus, examinez les valeurs d’expiration et vérifiez le comportement efficace grâce à la surveillance et à la capture de paquets dans votre environnement.
Choisir une conception de transfert de serveur DNS
Choisissez une méthode de résolution en fonction du propriétaire de l’espace de noms et des serveurs DNS qui doivent recevoir les requêtes. Les scénarios suivants montrent comment chaque architecture affecte le transfert et le mécanisme de secours.
| Scénario | Conception de la méthode de résolution | Décision de repli |
|---|---|---|
| Centralisation de la résolution DNS générale | Utilisez des transiteurs au niveau serveur afin que les serveurs DNS désignés gèrent des noms que les zones locales, le cache, les transiteurs conditionnels ou les délégations ne résolvent pas. | Gardez le repli des indications de racine lorsque la résolution itérative directe est acceptable. Désactivez-la lorsque la politique exige que toutes les requêtes non résolues restent dans la limite de retransmission, et faites respecter la frontière avec des contrôles réseau. |
| Connectez des espaces de noms internes administrés séparément | Utilisez un retraiteur conditionnel pour envoyer des noms dans un espace de noms, comme south.contoso.com, directement vers ses serveurs DNS sans héberger de zone secondaire. |
Activez Utiliser la récursion uniquement si un autre chemin récursif est valide pour cet espace de noms. |
| Résoudre un espace de noms partenaire via des serveurs désignés | Utilisez un retraiteur conditionnel pour l’espace de noms du partenaire au lieu d’envoyer ces requêtes via la hiérarchie DNS publique. | Désactiver Utiliser la récursion lorsque seuls les serveurs DNS désignés du partenaire doivent résoudre l’espace de noms. |
| Séparer un espace de noms enfant d’une zone parent hébergée | Utilisez une délégation dans la zone mère pour identifier les serveurs DNS autoritaires de la zone enfant. Une délégation renvoie des renvois au lieu de transmettre des requêtes récursives. | Lorsque vous désactivez ForwardDelegations, la délégation contrôle la résolution, donc les forwarders au niveau serveur ne fournissent pas de solution de secours pour la requête déléguée. |
Utilisez plusieurs redirecteurs sains lorsque la conception nécessite de la redondance, et assurez-vous que les délais d'expiration de transfert et de récursion laissent suffisamment de temps pour les atteindre. Surveillez séparément le temps de réponse, le taux de défaillance et la portée du réseau car le comportement de transfert ne remplace pas la surveillance de la santé. Les serveurs récursifs qui résolvent des noms internet utilisent généralement des indices root publics, tandis que les hiérarchies DNS privées nécessitent des informations root correspondant à l’espace de noms privé.
Ressources de transfert DNS associées
- Pour comprendre les requêtes DNS récursives et itératives, examinez les requêtes et les recherches DNS dans Windows et Windows Server.
- Configurez un redirecteur général ou spécifique à un espace de noms avec Set-DnsServerForwarder et Add-DnsServerConditionalForwarderZone.
- Utilisez Gérer les zones DNS en utilisant un serveur DNS dans Windows Server lorsque votre conception d’espace de noms nécessite une zone ou une délégation.
- Diagnostiquez les échecs de redirection avec Résoudre les échecs de résolution de noms DNS liés aux redirecteurs DNS et Délais d’attente de résolution des redirecteurs.