Citrix ADC

Système de noms de domaine

Remarque : à partir de la version 13.0 build 41.x, l’appliance Citrix ADC en mode ADNS et proxy est entièrement compatible avec l’indicateur DNS day 2019.

Vous pouvez configurer l’appliance Citrix ADC pour qu’elle fonctionne en tant que serveur de noms de domaine faisant autorité (serveur ADNS) pour un domaine. Ajoutez les enregistrements de ressources DNS appartenant au domaine pour lequel l’appliance fait autorité et configurez les paramètres d’enregistrement de ressources. Vous pouvez également configurer l’appliance en tant que serveur DNS proxy qui équilibre la charge d’une batterie de serveurs de noms DNS qui se trouvent à l’intérieur ou à l’extérieur de votre réseau. Configurez l’appliance en tant que résolveur final et redirecteur. Vous pouvez configurer des suffixes DNS qui permettent la résolution de noms lorsque les noms de domaine complets ne sont pas configurés. L’appliance prend également en charge la requête DNS ANY qui récupère tous les enregistrements appartenant à un domaine.

Vous pouvez configurer l’appliance pour qu’elle fonctionne simultanément en tant que serveur DNS faisant autorité pour un domaine et serveur proxy DNS pour un autre domaine. Lorsque vous configurez l’appliance en tant que serveur DNS ou serveur proxy DNS faisant autorité pour une zone, vous pouvez autoriser l’appliance à utiliser le protocole TCP pour les tailles de réponse qui dépassent la limite de taille spécifiée pour le protocole UDP (User Datagram Protocol).

Fonctionnement du DNS sur Citrix ADC

Vous pouvez configurer l’appliance Citrix ADC pour qu’elle fonctionne en tant que serveur ADNS, serveur proxy DNS, résolveur final et redirecteur. Vous pouvez ajouter des enregistrements de ressources DNS sur l’appliance Citrix ADC, y compris les enregistrements suivants :

  • Enregistrements de service (SRV)
  • Enregistrements IPv6 (AAAA)
  • Enregistrements d’adresse (A)
  • Enregistrements d’échange de courrier (MX)
  • Enregistrements de nom canonique (CNAME)
  • Enregistrements de pointeur (PTR)
  • Enregistrements de début d’autorisation (SOA)
  • Enregistrements texte (TXT)

En outre, vous pouvez configurer Citrix ADC pour équilibrer la charge des serveurs de noms DNS externes.

L’appliance Citrix ADC peut être configurée en tant qu’autorité pour un domaine. Ajoutez des enregistrements SOA et NS valides pour le domaine.

Un serveur ADNS est un serveur DNS qui contient des informations complètes sur une zone.

Pour configurer l’appliance Citrix ADC en tant que serveur ADNS pour une zone, vous devez ajouter un service ADNS, puis configurer la zone. Pour ce faire, vous ajoutez des enregistrements SOA et NS valides pour le domaine. Lorsqu’un client envoie une demande DNS, l’appliance Citrix ADC recherche le nom de domaine dans les enregistrements de ressources configurés. Vous pouvez configurer le service ADNS à utiliser avec la fonctionnalité GSLB (Global Server Load Balancing) Citrix ADC.

Vous pouvez déléguer un sous-domaine en ajoutant des enregistrements NS pour le sous-domaine à la zone du domaine parent. Vous pouvez ensuite rendre Citrix ADC faisant autorité pour le sous-domaine, en ajoutant un « enregistrement de colle » pour chacun des serveurs de noms de sous-domaine. Si GSLB est configuré, Citrix ADC prend une décision d’équilibrage de charge GSLB en fonction de sa configuration et répond avec l’adresse IP du serveur virtuel sélectionné. La figure suivante montre les entités d’une configuration GSLB ADNS et d’une configuration de proxy DNS.

Figure 1. Modèle d’entité proxy DNS

Modèle d'entité DNS

L’appliance Citrix ADC peut fonctionner en tant que proxy DNS. La mise en cache des enregistrements DNS, qui est une fonction importante d’un proxy DNS, est activée par défaut sur l’appliance Citrix ADC. La mise en cache permet à l’appliance Citrix ADC de fournir des réponses rapides pour les traductions répétées. Créez un serveur virtuel DNS d’équilibrage de charge et des services DNS, puis liez ces services au serveur virtuel.

Citrix ADC offre deux options, la durée de vie minimale (TTL) et la durée de vie maximale pour configurer la durée de vie des données mises en cache. Les données mises en cache durent comme spécifié par vos paramètres pour ces deux options. Citrix ADC vérifie la TTL de l’enregistrement DNS provenant du serveur. Si la TTL est inférieure à la TTL minimale configurée, elle est remplacée par la TTL minimale configurée. Si la TTL est supérieure à la TTL maximale configurée, elle est remplacée par la TTL maximale configurée.

Citrix ADC permet également la mise en cache des réponses négatives pour un domaine. Une réponse négative indique que les informations sur un domaine demandé n’existent pas ou que le serveur ne peut pas fournir de réponse à la requête. Le stockage de ces informations est appelé mise en cache négative. La mise en cache négative permet d’accélérer les réponses aux requêtes sur un domaine et peut éventuellement fournir le type d’enregistrement.

Une réponse négative peut être l’une des réponses suivantes :

  • Message d’erreur NXDOMAIN - Si une réponse négative est présente dans le cache local, Citrix ADC renvoie un message d’erreur (NXDOMAIN). Si la réponse n’est pas dans le cache local, la requête est transférée au serveur et le serveur renvoie une erreur NXDOMAIN au contrôleur de domaine Citrix ADC. Citrix ADC met en cache la réponse localement, puis renvoie le message d’erreur au client.
  • Message d’erreur NODATA - Le Citrix ADC envoie un message d’erreur NODATA, si le nom de domaine dans la requête est valide mais que les enregistrements du type donné ne sont pas disponibles.

Le Citrix ADC prend en charge la résolution récursive des requêtes DNS. En résolution récursive, le résolveur (client DNS) envoie une requête récursive à un serveur de noms pour un nom de domaine. Si le serveur de noms interrogé fait autorité pour le domaine, il répond avec le nom de domaine demandé. Sinon, Citrix ADC interroge les serveurs de noms de manière récursive jusqu’à ce que le nom de domaine demandé soit trouvé.

Avant de pouvoir appliquer l’option de requête récursive, vous devez d’abord l’activer. Vous pouvez également définir le nombre de fois que le résolveur DNS doit envoyer une demande de résolution (nouvelles tentatives DNS) si une recherche DNS échoue.

Vous pouvez configurer Citrix ADC en tant que redirecteur DNS. Un redirecteur transmet les demandes DNS aux serveurs de noms externes. Le Citrix ADC vous permet d’ajouter des serveurs de noms externes et fournit une résolution de noms pour les domaines en dehors du réseau. Citrix ADC vous permet également de définir la priorité de recherche de nom sur DNS ou WINS (Windows Internet Name Service).

Autoriser l’appliance ADC à utiliser DNS pour résoudre le nom d’hôte à son adresse IP respective

Remarque : vous avez besoin d’un utilitaire SSH pour accéder à l’interface de ligne de commande (CLI) de l’appliance.

Par défaut, l’appliance ADC ne peut pas résoudre le nom d’hôte à son adresse IP respective. Effectuez les tâches suivantes pour activer la résolution de noms sur l’appliance :

  1. Définissez les serveurs de noms.
  2. Définissez un suffixe DNS.

Points à noter

Effectuez la recherche DNS à partir de l’interface de ligne de commande. Les recherches DNS à partir de l’invite shell du système d’exploitation FreeBSD échouent car l’entrée dans le fichier /etc/resolv.conf pointe vers l’adresse IP 127.0.0.2.

Les commandes suivantes ne sont pas disponibles dans l’interface de ligne de commande de l’appliance :

-  host
-  dig
-  getent/MIP
-  nslookup

Si l’appliance ne parvient pas à effectuer un ping sur le serveur DNS sur son adresse SNIP, l’état du serveur s’affiche comme étant inactif. La réussite du ping est importante lorsque l’appliance se trouve derrière un pare-feu.

Configuration de l’interface de ligne de commande

À l’invite de commandes, tapez :

add dns nameServer <Name_Server_IP_Address>
add dns suffix <DNS_Suffix>

Pour vérifier la configuration, tapez :

show dns nameServer
show dns suffix

Pour tester la résolution DNS, tapez :

show dns addrec <Host_Name>

Configuration de l’interface graphique

  1. Accédez à Gestion du trafic > DNS > Noms Serveurs > Ajouter.
  2. Dans la boîte de dialogue Créer un serveur de noms, entrez l’adresse IP du serveur de noms et cliquez sur Créer .
  3. Accédez à Gestion du trafic > DNS > Suffixe DNS > Ajouter.
  4. Dans la boîte de dialogue Créer un suffixe DNS, entrez le suffixe DNS, tel que example.com, à utiliser pour toutes les requêtes d’hôte, puis cliquez sur Créer.

Round Robin DNS

Lorsqu’un client envoie une requête DNS pour rechercher l’enregistrement de ressource DNS, il reçoit une liste d’adresses IP se résolvant au nom de la requête DNS. Le client utilise ensuite l’une des adresses IP de la liste, généralement le premier enregistrement ou l’adresse IP. Par conséquent, un serveur unique est utilisé pour la TTL totale du cache et est surchargé lorsque de nombreuses requêtes arrivent.

Lorsque Citrix ADC reçoit une demande DNS, il répond en modifiant l’ordre de la liste des enregistrements de ressources DNS dans une méthode round robin. Cette fonctionnalité est appelée Round Robin DNS. Round robin répartit également le trafic entre les centres de données. Citrix ADC exécute cette fonction automatiquement. Vous n’avez pas à configurer ce comportement.

Vue d’ensemble fonctionnelle

Si Citrix ADC est configuré en tant que serveur ADNS, il renvoie les enregistrements DNS dans l’ordre dans lequel les enregistrements sont configurés. Lorsque Citrix ADC est configuré en tant que proxy DNS, il renvoie les enregistrements DNS dans l’ordre dans lequel il reçoit les enregistrements du serveur. L’ordre des enregistrements présents dans le cache correspond à l’ordre dans lequel les enregistrements sont reçus du serveur.

Citrix ADC modifie ensuite l’ordre dans lequel les enregistrements sont envoyés dans la réponse DNS dans une méthode round robin. La première réponse contient le premier enregistrement dans l’ordre, la deuxième réponse contient le deuxième enregistrement dans l’ordre et l’ordre se poursuit dans la même séquence. Ainsi, les clients demandant le même nom peuvent se connecter à différentes adresses IP.

Exemple de DNS Round Robin

À titre d’exemple de Round Robin DNS, considérez les enregistrements DNS qui ont été ajoutés comme suit :

  add dns addRec ns1 1.1.1.1  add dns addRec ns1 1.1.1.2  add dns addRec ns1 1.1.1.3  add dns addRec ns1 1.1.1.4

Le domaine, abc.com est lié à un enregistrement NS comme suit :

  add dns nsrec abc.com. ns1

Lorsque Citrix ADC reçoit une requête pour l’enregistrement A de ns1, les enregistrements Address sont servis dans une méthode round robin comme suit. Dans la première réponse DNS, 1.1.1.1 est servi comme premier enregistrement :

  ns1.                    1H IN A         1.1.1.1  ns1.                    1H IN A         1.1.1.2  ns1.                    1H IN A         1.1.1.3  ns1.                    1H IN A         1.1.1.4

Dans la deuxième réponse DNS, la deuxième adresse IP, 1.1.1.2 est servi comme premier enregistrement :

  ns1.                    1H IN A         1.1.1.2  ns1.                    1H IN A         1.1.1.3  ns1.                    1H IN A         1.1.1.4  ns1.                    1H IN A         1.1.1.1

Dans la troisième réponse DNS, la troisième adresse IP, 1.1.1.2 est servi comme premier enregistrement :

  ns1.                    1H IN A         1.1.1.3  ns1.                    1H IN A         1.1.1.4  ns1.                    1H IN A         1.1.1.1  ns1.                    1H IN A         1.1.1.2

Système de noms de domaine