Il arrive par moment que l’on ait besoin de travailler en IPv6. Pourquoi faire ? Par exemple : tester le bon accès d’un autre composant en IPv6 ???? Ceci est effectivement mon cas : ce blog dédié à Azure est hébergé sur Azure via un App Service, fonctionnant en 2023 encore et toujours … en IPv4. Comme certains fournisseurs d’accès internet ont entièrement basculé sur le protocole IPv6, il est nécessaire de trouver une parade pour rendre le site accessible à tous.
Pourquoi faire un article dédié à l’IPv6 sur Azure ?
Comme il arrive que le blog par moment ne soit plus accessible en IPv6, il peut s’écouler pas mal de temps avant que je m’en rende compte. Cet écueil serait sans doute identifié plus rapidement si le site croulait sous l’audience ????.
Pour m’aider, il existe certains sites spécialisés dans l’affichage en IPv4 / IPv6, mais le résultat n’est pas toujours garantie.
Comment rendre un site hébergé sur Azure Web App compatible IPv6 ?
Plusieurs auteurs ont déjà trouvé une parade avant moi, comme Patrickob Blog, ou via un article rédigé sur la Tech Community de Microsoft : l’ajout du service Azure Front Door permet de disposer d’une adresse IPv6 frontale, cela redirige le flux de requêtes vers l’App Service :
Tout cela est possible grâce à l’ajout d’un enregistrement DNS de type CNAME pointant vers le nom d’hôte de votre service Azure Front Door : xxxxxx.azurefd.net.
Il est aussi possible d’utiliser uniquement un enregistrement DNS de type AAAA, pointant vers l’IPv6 de votre service Azure Front Door :
La configuration entre Azure Front Door et Azure App Service est par la suite assez facile :
Dans cet article, nous allons créer une machine virtuelle Azure afin de se connecter à l’App Service, par le biais d’Azure Front Door, et tout cela en IPv6.
Comme le rappelle Microsoft :
- L’IPv6 apporte une sécurisation par défaut dans la mesure où la connectivité IPv6 à Internet n’est établie que lorsque vous le demandez explicitement dans votre déploiement.
- L’utilisation d’adresses IPv6 publiques ou de préfixes IPv6 publics n’est pas facturée.
- La bande passante associées sont facturées au même tarif que le protocole IPv4.
Avant de commencer notre démonstration, quelques rappels sont importants :
- Les machines virtuelles uniquement IPv6 ne sont pas pris en charge, chaque carte réseau doit inclure au moins une configuration IPv4.
- Il en est de même pour les réseaux virtuels Azure et ses sous-réseaux. Ils ne peuvent disposer d’une IPv6 uniquement, mais bien d’un double adressage IPv4 / IPv6.
Etape 0 – Rappel des prérequis :
Des prérequis sont nécessaires pour réaliser ce test sur un environnement Azure :
- Un tenant Microsoft
- Une souscription Azure valide
Etape I – Déploiement du Réseau Virtuel Azure :
Commencez par créer un réseau virtuel :
Cochez la case suivante dédiée à l’IPv6, puis ajoutez un plan d0adressage en IPv6 à votre sous-réseau :
Lancez la validation, puis la création :
Attendez la création de votre réseau virtuel pour passer à l’étape suivante :
Un fois le réseau virtuel IPv4 / IPv6 correctement déployé, l’étape suivante consistera à créer une machine virtuelle avec une seule carte réseau sur ce réseau virtuel hybride.
Etape II – Création de la Machine Virtuelle Azure :
Commencez la création de votre machine virtuelle :
Dans l’onglet Réseau, choisissez le sous-réseau comprenant le double adressage IPv4 / IPv6, mais retirez la création de l’IP publique, par défaut prévue en IPv4 :
Lancez la validation, puis la création de votre machine virtuelle :
Attendez la fin de la création de votre machine virtuelle pour passer à l’étape suivante :
L’étape suivante consistera à ajouter une IP publique, mais uniquement sous format IPv6.
Etape III – Déploiement de l’IP publique en IPv6 :
Retournez sur la carte réseau de votre machine virtuelle :
Ajoutez une seconde configuration suivante :
Cliquez sur OK et attendez que la configuration se termine :
Retournez sur la page principale de votre machine virtuelle et constatez l’apparition d’une adresse IPv6 publique seule :
Etape IV – Connexion à la machine virtuelle IPv6 :
Connectez-vous à votre machine virtuelle via le protocole RDP :
Si comme moi vous rencontrez le message d’erreur suivant :
Déployez le service Azure Bastion comme ceci :
Renseignez les champs suivants :
Lancez sa validation, puis sa création :
Attendez la fin de la création d’Azure Bastion :
Connectez-vous à votre machine virtuelle via Azure Bastion nouvellement déployé :
Etape V – Tests IPv6 :
Une fois connecté, ouvrez la configuration IP et constatez la présence d’adresse IP locales en IPv4 et IPv6 :
Ouvrez également Edge et tester les informations réseaux internet depuis un des sites suivants :
Constatez la présence unique de l’IPv6 :
Testez le bon fonctionnement de l’IPv6 du site internet hébergé par l’App Service Azure via le nom de domaine :
Mais aussi via le nom de votre Azure Front Door :
Etape VI – Tests IPv6 d’Azure Front Door :
Afin de vérifier que la connexion entre la machine virtuelle et Azure Front Door s’opère bien uniquement sous le protocole IPv6, il est très facile de désactiver la route de ce dernier comme ceci :
Quelques secondes et un rafraîchissement web plus tard, le status de la route vers l’App Service change de couleur :
Réactualisez la page de votre site de test depuis votre machine virtuelle de test pour constater l’erreur :
Pensez à réactiver la route de votre service Azure Front Door.
Conclusion
Azure a encore du chemin à faire concernant l’implémentation générale de l’IPv6 au sein de l’ensemble de ses services. Nul doute que cela va arriver, mais on peut raisonnablement se demander exactement quand, car l’attente commence à se faire longueeeeeeeeeeeee ????.