Exchange 2016 : DNS Round Robin

Introduction

Très utilisé dans le monde, le DNS Round Robin est une technique d’équilibrage de charge (load balancing).

Son principe est simple : associer plusieurs adresses IP à une même adresse Web au sein d’une zone DNS.

Dans notre cas, nous allons utiliser cette méthode pour assurer la haute disponibilité du CAS (Accès Client) d’une infrastructure Exchange 2016, autrement dit la partie FRONT-END.

En effet, dans le cas où vous possédez plusieurs serveurs Exchange 2016, il sera possible de faire face à une coupure puisque plusieurs IP desserviront l’URL de votre Exchange.

Avantages du DNS RR :

  • Gratuité
  • Mise en place simple et très rapide

Inconvénients du DNS RR :

  • Pas de système de « poids » : tous les serveurs sont servis de la même manière, vous ne pouvez pas prioriser un serveur plus que l’autre. Oubliez-donc les cluster Actif-Passif avec cette solution.
  • Une gestion manuelle du load balancing : si un problème survient avec un serveur Exchange, vous devez supprimer vous-même l’enregistrement A défaillant dans la zone DNS afin d’éviter que les clients reçoivent la mauvaise IP (même s’ils parviendront tout de même à se connecter à la bonne IP au bout du compte). Par ailleurs, la mise à jour de la zone dépendra du TTL, et ce n’est généralement pas instantané.
  • Mise à part le ping, les autres facteurs de défaillance (comme un service en particulier par exemple) ne sont pas surveillés. La limite se fixe donc au DNS.

 

Voici l’environnement avec lequel je vais évoluer dans cet article :

Serveur IP LAN IP WAN
EXC-01 10.32.64.120 51.254.24.220
EXC-02 10.32.64.130 87.98.236.142

 


Configuration Interne

AD (DNS)

Sur votre Active Directory :

  • Accédez à la configuration de vos zones DNS
  • Sélectionnez votre zone
  • Ajoutez-y deux entrées « A » avec les IP LAN de vos serveurs Exchange

Ce qui donne pour le webmail :

Puis pour autodiscover :

Pour être sur que la manipulation a été prise en compte, je me connecte à une machine du réseau, et en PowerShell j’utilise la commande Resolve-DnsName ou nslookup :

Le résultat m’indique bien les 2 IP LAN de mes Exchange !


Exchange

Vous devez ensuite vous assurez que le paramètre « InternalHostname » est identique sur vos deux serveurs Exchange.

Sur un des serveurs Exchange :

  • Lancez l’EMS (Exchange Management Shell)
  • Utilisez la commande ci-dessous :

Pensez bien entendu à changer l’URL

Puis pour vérifier que le changement est effectif :

EXC-01 et EXC-02 ont les mêmes valeurs, on peut donc passer à la configuration externe.


Configuration Externe

Les manipulations ici sont exactement les mêmes que pour l’interne côté DNS.

  • Connectez-vous sur le site de votre hébergeur
  • Accédez à la gestion de vos zones DNS
  • Puis ajoutez 2 entrées « A » avec les IP Public de vos Exchange

Attendez quelques minutes, puis sur une machine en dehors de votre réseau, faites de nouveau un test pour être sûr que les zones soient à jour :

Les 2 IP Public de mes Exchange ressortent bien !


Test Exchange (Haute Disponibilité)

Pour faire le test de haute disponibilité, je vais me connecter à une machine connectée au domaine, puis utiliser Outlook.

Je lance Outlook et laisse la fonctionnalité autodiscover faire son travail, ce qui me connecte en 1 click à ma boite mail.

Une fois Outlook lancé, je vais vérifier que la connexion est bien établie :

  • Rendez-vous dans la barre des tâches
  • Maintenez la touche « CTRL » enfoncée > click-droit sur l’icône Outlook
  • Puis faites « État de la connexion… »

Ce qui donne :

Je peux voir que la connexion est bien établie.

Ensuite, toujours sur la machine cliente, pour savoir à quel serveur mon Outlook est connecté, je vais utiliser la commande « Get-NetTCPConnection » :

Si la commande ci-dessus n’est pas disponible, vous pouvez utiliser « netstat » :

Ici, je peux voir qu’Outlook est connecté à l’IP 10.32.64.120, qui correspond à EXC-01.

J’éteins donc brutalement EXC-01 pour analyser la réaction d’Outlook.

Après 15 secondes, Outlook parvient à se reconnecter au serveur de messagerie.

L’état de la connexion m’indique que tout est OK :

Une nouvelle fois, grâce à Get-NetTCPConnection je regarde sur quel serveur Outlook s’est connecté :

Ou avec netstat :

Je peux voir que la connexion s’est initiée vers l’IP 10.32.64.130, qui est EXC-02.

Et voilà, on a pu voir comment assurer une haute disponibilité simple, gratuite et rapide de la partie Accès Client (CAS) de nos serveurs Exchange 2016 🙂

Si vous êtes intéressés par la partie BACK-END, c’est par ici !

Cependant, n’oubliez pas les inconvénients de cette solution !

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.