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 le jour du drapeau DNS 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 qui appartiennent 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 situés à l’intérieur ou à l’extérieur de votre réseau. Configurez l’appliance en tant que résolveur d’extrémité et redirecteur. Vous pouvez configurer des suffixes DNS qui permettent la résolution de noms lorsque des 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 en tant que 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 permettre à l’appliance d’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).

Comment fonctionne le 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 noms canoniques (CNAME)
  • Enregistrements Pointer (PTR)
  • Enregistrements de début d’autorité (SOA)
  • Enregistrements texte (TXT)
  • Enregistrements de pointeur d’autorité de nom (NAPTR)
  • Dossiers DNSKEY
  • Enregistrements d’autorisation de l’autorité de certification (CAA)

Vous pouvez également 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 devez ajouter 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é Citrix ADC Global Server Load Balancing (GSLB).

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 faire en sorte que Citrix ADC fasse autorité pour le sous-domaine, en ajoutant un « enregistrement de collage » 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 propose 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 expirent conformément à vos paramètres pour ces deux options. Le Citrix ADC vérifie la durée de vie de l’enregistrement DNS provenant du serveur. Si la durée de vie est inférieure à la durée de vie minimale configurée, elle est remplacée par la durée de vie minimale configurée. Si la durée de vie est supérieure à la durée de vie maximale configurée, elle est remplacée par la durée de vie 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 concernant 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 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 ne se trouve pas dans le cache local, la requête est transférée au serveur et le serveur renvoie une erreur NXDOMAIN à 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 demandes 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 où le résolveur DNS doit envoyer une demande de résolution (nouvelles tentatives DNS) en cas d’échec d’une recherche DNS.

Vous pouvez configurer Citrix ADC en tant que redirecteur DNS. Un redirecteur transmet les demandes DNS à des serveurs de noms externes. 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 Windows Internet Name Service (WINS).

Permettre à l’appliance ADC d’utiliser DNS pour résoudre le nom d’hôte sur 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 sur son adresse IP respective. Effectuez les tâches suivantes pour activer la résolution de noms sur l’appliance :

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

Points à noter

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

Les commandes suivantes sont remplacées par la commande drill de l’interface de ligne de commande FreeBSD de l’appliance accessible par la commande shell:

-  host
-  dig
-  getent/MIP
-  nslookup
<!--NeedCopy-->

Par exemple, au lieu d’exécuter dig www.google.com @8.8.8.8 pour interroger l’enregistrement « A » « www.google.com » sur le serveur de noms « 8.8.8.8 », vous pouvez exécuter la commande drill www.google.com @8.8.8.8. La commande drill fonctionne exactement de la même manière que la commande dig.

root@lab# drill www.google.com @8.8.8.8
;; ->>HEADER<<- opcode: QUERY, rcode: NOERROR, id: 57980
;; flags: qr rd ra ; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;; www.google.com. IN A

;; ANSWER SECTION:
www.google.com. 300 IN A 142.250.187.196

;; AUTHORITY SECTION:

;; ADDITIONAL SECTION:

;; Query time: 53 msec
;; SERVER: 8.8.8.8
;; WHEN: Thu Jun 9 11:04:55 2022
;; MSG SIZE rcvd: 48
<!--NeedCopy-->

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

Configuration CLI

À l’invite de commandes, tapez :

add dns nameServer <Name_Server_IP_Address>
add dns suffix <DNS_Suffix>
<!--NeedCopy-->

Pour vérifier la configuration, tapez :

show dns nameServer
show dns suffix
<!--NeedCopy-->

Pour tester la résolution DNS, tapez :

show dns addrec <Host_Name>
<!--NeedCopy-->

Configuration graphique

  1. Accédez à Gestion du trafic > DNS > Serveurs de noms > Ajouter.
  2. Dans la boîte de dialogue Créer un serveur de noms, saisissez 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 exemple.com, à utiliser pour toutes les requêtes d’hôte, puis cliquez sur Créer.

DNS Round Robin

Lorsqu’un client envoie une demande DNS pour trouver l’enregistrement de ressource DNS, il reçoit une liste d’adresses IP correspondant au nom indiqué dans la demande DNS. Le client utilise ensuite l’une des adresses IP de la liste, généralement le premier enregistrement ou adresse IP. Par conséquent, un seul serveur est utilisé pour la durée de vie totale du cache et est surchargé lorsque de nombreuses demandes 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 DNS Round Robin. Le Round Robin répartit le trafic de manière égale entre les centres de données. Le Citrix ADC exécute cette fonction automatiquement. Il n’est pas nécessaire de 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 de tournoi à la ronde. La première réponse contient le premier enregistrement en séquence, la seconde réponse contient le second enregistrement en séquence, 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 DNS Round Robin, 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
<!--NeedCopy-->

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

  add dns nsrec abc.com. ns1
<!--NeedCopy-->

Lorsque Citrix ADC reçoit une requête pour l’enregistrement A de ns1, les enregistrements d’adresse 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
<!--NeedCopy-->

Dans la deuxième réponse DNS, la deuxième adresse IP, 1.1.1.2, est utilisée 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
<!--NeedCopy-->

Dans la troisième réponse DNS, la troisième adresse IP, 1.1.1.2, est utilisée 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
<!--NeedCopy-->
Système de noms de domaine