IPv6 pour l’administrateur Windows : Comment fonctionne la résolution de nom en environnement mixte IPv4/IPv6
Bonjour, je suis Olivier Berline, PFE chez Microsoft France.
Aujourd'hui je vous propose la traduction d'un article de Venkat Kalyanasundaram.
La version originale de cet article se trouve ici :
https://blogs.technet.com/b/askpfeplat/archive/2013/11/11/ipv6-for-the-windows-administrator-how-name-resolution-works-in-a-dual-ipv4-ipv6-scenario.aspx
Travaillant beaucoup sur IPV6 dans le cadre de mon travail, on me soumet régulièrement les mêmes questions sur cette technologie.
Je veux prendre un peu de temps pour répondre aux questions les plus fréquentes et essayer de balayer le mystère autour de IPv6. Ce post sera le premier d'une série donc n'hésitez pas à vérifier régulièrement l'apparition des publications futures.
Je vais répondre maintenant aux deux questions suivantes, qu'on me pose fréquemment en clientèle.
"Comment fonctionne le processus de résolution de nom dans un scénario Dual Stack (piles IPV4 et IPV6 activées) sous Windows? "
"Nous aimerions savoir l'impact sur notre infrastructure réseau quand IPV6 est activé dans Windows".
Commençons par cela. Tout d'abord Microsoft ne recommande pas de désactiver IPv6.
Pour plus de détails, consulter le lien https://technet.microsoft.com/en-US/network/cc987595.aspx
Le point clé ici est d'acquérir une compréhension basique sur la façon dont la résolution de noms fonctionne quand IPV4 et IPV6 sont activés sur une machine Windows.
Dans le monde d'IPv4, nous sommes habitués à gérer la résolution de noms via les services DNS et WINS.
Dans le monde d'IPv6, WINS n'est plus opérationnel. En d'autres termes, les adresses IPv6 ne sont jamais enregistrées sur un serveur WINS, elles sont uniquement prises en charge au sein des mécanismes DNS.
IPv6 est représenté dans DNS par un enregistrement de type AAAA similaire à celui d'un record type A qui associé un nom à une adresse IPv4.
Le mécanisme d'enregistrement PTR (pour la résolution de nom inversée) marche aussi pour IPv6 dans DNS.
Avec IPv4, dans la plupart des cas, nous sommes habitués à voir une seule adresse IP enregistrée dans DNS pour une machine donnée.
Avec IPv6, il faut composer avec trois types d'adresses différents (Les type sont Link local, Global et Site Local. Voir le Post suivant de Mark et Ray pour plus d'explications
Notez que tous les types d'adresses IPv6 ne sont pas enregistrées dans le DNS.
En particulier, les adresses de type "Link Local" identifiables par leur début FE80: ne sont pas enregistrées dans le DNS. Ces adresses sont actives uniquement dans leur sous réseau local et ne sont pas routables.
Les adresses "type Global" sont enregistrées dans le DNS en tant que record AAAA.
S'agissant des technologies de transition, les adresses Teredo ne sont pas non enregistrées dans le DNS. L'article Technet DNS Client behaviorexplique ce comportement en détail.
Regardons quelques scénarios concrets d'une infrastructure IPV4 standard dans laquelle des machines Windows avec la double pile IPv4-IPV6 (Dual Stack) activée se localisent et communiquent sur le réseau.
Scenario #1:
Comme vous pouvez le voir dans le diagramme ci-dessus, nous avons deux machines ( un Windows 7 client et un serveur AppServer1 2008R2) situés dans deux sous-réseaux différents, chacun ayant IPv4 et IPv6 activés.
Lorsque vous activez IPv6 sur une carte réseau (en ayant la case IPV6 cochée dans les propriétés de la carte), l'adresse "Link Local" (commençant par FE80 : vérifiable avec la sortie IPCONFIG) sera automatiquement configurée par Windows.
Nous n'aborderons pas ici les mécanismes détaillés de la génération de l'adresse "Link Local" générée automatiquement. Ceci fera l'objet d'un prochain post.
Pour en revenir à notre scénario, supposons qu'aucune adresse IPv6 n'est configurée dans ce réseau. , qu'elle soit de type Global ou configurées dans les protocoles de transition entre IPv4 et IPv6 (Teredo, etc..)
Lors de l'enregistrement dynamique dans DNS de la machine AppServer1
l'adresse IPV4 est enregistrée (comportement classique).
L'adresse Link Local IPv6 n'est pas enregistrée puisqu'il s'agit d'une adresse non routable et limitée en portée au sous réseau local.
En d'autres termes dans les enregistrements DNS il n'existe qu'un record type A (IPv4) pour AppServer1 bien que IPv4 et IPv6 soient activés sur cette machine.
Supposons que le client Windows 7 ait besoin de communiquer avec le server AppServer1 et voyons comment les choses se passent au niveau de la résolution de noms.
Le client envoie une requête de résolution de noms au serveur DNS. Celui-ci renvoie le seul enregistrement présent à savoir le record A IPV4 10.1.0.2.
Ainsi, la communication va se dérouler totalement en IPv4 entre ces deux machines bien que la double pile IPv4 IPv6 soit activée sur les deux. Il n'y a ici d'un point de vue réseau aucun changement dans la configuration et dans les performances de la communication.
Si IPv6 était désactivé sur une des deux machines (voire les deux), le comportement serait le même que celui-ci.
Scenario #2:
Enrichissons le premier scénario décrit plus haut.
Le client possède toujours une double pile IPv4 IPv6, avec une adresse Link Local IPv6.
Le serveur lui a une adresse IPV6 de type Global.
Dans le mécanisme Dynamic DNS, le serveur va enregistrer cette fois ci un record A 10.1.0.2 et un record AAAA pour l'adresse globale IPV6. Notons qu'il possède encore une adresse Link Local qui ne sera pas enregistrée au niveau DNS comme prévu.
Que se passe-t-il lors de la résolution de noms?
Le Client va envoyer une requête au serveur DNS uniquement de type A.
En effet, le client sait que son adrese IPv6 est Link Local et qu'il lui est impossible de communiquer en dehors de son subnet via IPv6. Il ne demandera pas de record AAAA.
Le Serveur DNS répond par le record classique A IPv4.
La communication s'exécute uniquement en IPv4 comme dans le scénario 1.
Scenario #3:
Dans le troisième scénario, le client et le serveur ont des adresses IPv6 "Global" configurées.
De plus le routage a été activé sur les équipements réseaux pour permettre un traffic IPv6 natif entre les sous-réseaux.
Cela suppose d'avoir fait une série d'actions explicites pour configurer des adresses IPv6 globales au sein du réseau d'entreprise.
Ceci peut être fait manuellement, ou depuis le serveur DHCP, ou depuis le routeur. (voir le lien https://blogs.technet.com/b/askpfeplat/archive/2013/07/08/ipv6-for-the-windows-administrator-more-ipv6-subnetting-zones-address-autoconfiguration-router-advertisements-and-ipv4-comparisons.aspxpour en savoir plus sur la configuration par routeur)
Dans ce scénario les deux machines enregistrent leurs records A (IPv4) et AAAA (IPv6) dans DNS.
Cette fois ci , lors de la résolution de noms, les deux types d'enregistrement sont retournés au client.
Avec ces deux valeurs , le comportement par défaut de Windows est d'utiliser IPv6.
Dans ce scénario, la communication se fera en IPv6.
Résumé
Comme nous venons de le voir, c'est seulement dans le scénario 3 que le client et le serveur vont communiquer en IPV6.
Cette communication est la conséquence d'une série d'actions spécifiques pour configurer des adresses IPV6 "Global" cohérentes dans l'ensemble du réseau d'entreprise, aussi bien sur les machines que sur les routeurs.
SI vous n'effectuez aucune action spécifique sur IPv6 tout en laissant la pile IPv6 activée sur vos machines Windows avec les paramètres par défaut, l'impact sur votre production sera minimal comme vous avez pu le voir dans les scénarios 1 et 2.
Comme vous avez pu le remarquer, les adresses IPv4 utilisées se trouvent dans une plage privée.
Si votre réseau utilise des adresses IPv4 appartenant à des plages publiques, autres que 10.x.y.z,172.16.x.y,192.168.x.y des comportements différents sont à prendre en compte.
C'est ce qui fera l'objet d'un prochain Post.
La version originale par Venkat Kalyanasundaram de cet article se trouve au lien https://blogs.technet.com/b/askpfeplat/archive/2013/11/11/ipv6-for-the-windows-administrator-how-name-resolution-works-in-a-dual-ipv4-ipv6-scenario.aspx