Configurer l’appliance Citrix ADC en tant que serveur proxy DNS

En tant que serveur proxy DNS, l’appliance ADC peut fonctionner comme proxy pour un serveur DNS unique ou un groupe de serveurs DNS. Le flux des demandes et des réponses est illustré dans l’exemple de diagramme topologique suivant.

Figure 1. Citrix ADC en tant que proxy DNS

NetScaler en tant que proxy DNS

Par défaut, l’appliance Citrix ADC met en cache les réponses des serveurs de noms DNS. Lorsque l’appliance reçoit une requête DNS, elle vérifie le domaine interrogé dans son cache. Si l’adresse du domaine interrogé est présente dans son cache, Citrix ADC renvoie l’adresse correspondante au client. Sinon, il transfère la requête à un serveur de noms DNS qui vérifie la disponibilité de l’adresse et la renvoie au Citrix ADC. Citrix ADC renvoie ensuite l’adresse au client.

Pour les demandes d’un domaine qui a été mis en cache précédemment, Citrix ADC sert l’enregistrement Adresse du domaine à partir du cache sans interroger le serveur DNS configuré.

L’appliance rejette un enregistrement stocké dans son cache lorsque la valeur de durée de vie (TTL) de l’enregistrement atteint la valeur configurée. Un client qui demande un enregistrement expiré doit attendre que Citrix ADC récupère l’enregistrement du serveur et mette à jour son cache. Pour éviter ce retard, Citrix ADC met à jour de manière proactive le cache en récupérant l’enregistrement du serveur avant l’expiration de l’enregistrement.

Le tableau suivant répertorie les noms d’exemples et les valeurs des entités qui doivent être configurées sur Citrix ADC.

Tableau 1. Exemple de configuration d’entité proxy DNS

Type d’entité Nom Adresse IP Type Port
Serveur virtuel LB Vserver-DNS-1 10.102.29.40 DNS 53
Services Service-DNS-1 10.102.29.50 DNS 53
Services Service-DNS-2 10.102.29.51 DNS 53

Le diagramme suivant montre les entités d’un proxy DNS et les valeurs des paramètres à configurer sur Citrix ADC.

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

Modèle d'entité proxy DNS

Remarque

Pour configurer le proxy DNS, vous devez savoir comment configurer les services d’équilibrage de charge et les serveurs virtuels.

Créer un serveur virtuel d’équilibrage de charge

Pour configurer un proxy DNS sur Citrix ADC, configurez un serveur virtuel d’équilibrage de charge de type DNS. Pour configurer un serveur virtuel DNS pour équilibrer la charge d’un ensemble de serveurs DNS prenant en charge les requêtes récursives, vous devez définir l’option Récursion disponible. Avec cette option, le bit RA est défini sur ON dans les réponses DNS du serveur virtuel DNS.

Pour obtenir des instructions sur la création d’un serveur virtuel d’équilibrage de charge, reportez-vous à la section Équilibrage de charge.

Créer des services DNS

Après avoir créé un serveur virtuel d’équilibrage de charge de type DNS, vous devez créer des services DNS. Vous pouvez ajouter, modifier, activer, désactiver et supprimer un service DNS. Pour obtenir des instructions sur la création d’un service DNS, reportez-vous à la section Équilibrage de charge.

Lier un serveur virtuel d’équilibrage de charge aux services DNS

Pour terminer la configuration du proxy DNS, vous devez lier les services DNS au serveur virtuel d’équilibrage de charge. Pour obtenir des instructions sur la liaison d’un service à un serveur virtuel d’équilibrage de charge, reportez-vous à la section Équilibrage de charge.

Configurer la configuration du proxy DNS pour utiliser TCP

Certains clients utilisent le protocole UDP (User Datagram Protocol) pour les communications DNS. Toutefois, UDP spécifie une taille maximale de paquet de 512 octets. Lorsque les longueurs de charge utile dépassent 512 octets, le client doit utiliser le protocole TCP (Transmission Control Protocol). Lorsqu’un client envoie à l’appliance Citrix ADC une requête DNS, l’appliance transfère la requête à l’un des serveurs de noms. Si la réponse est trop volumineuse pour un paquet UDP, le serveur de noms définit le bit de troncation dans sa réponse au Citrix ADC. Le bit de troncation indique que la réponse est trop grande pour UDP et que le client doit envoyer la requête via une connexion TCP. Le Citrix ADC relaie la réponse au client avec le bit de troncation intact et attend que le client initie une connexion TCP avec l’adresse IP du serveur virtuel d’équilibrage de charge DNS, sur le port 53. Le client envoie la requête via une connexion TCP. L’appliance Citrix ADC transfère ensuite la demande au serveur de noms et relaie la réponse au client.

Pour configurer Citrix ADC pour qu’il utilise le protocole TCP pour DNS, vous devez configurer un serveur virtuel d’équilibrage de charge et des services, tous deux de type DNS_TCP. Vous pouvez configurer des moniteurs de type DNS_TCP pour vérifier l’état des services. Pour obtenir des instructions sur la création de serveurs virtuels, de services et de moniteurs DNS_TCP, reportez-vous à la section Équilibrage de charge.

Pour mettre à jour les enregistrements de manière proactive, Citrix ADC utilise une connexion TCP au serveur pour récupérer les enregistrements.

Important

Pour configurer Citrix ADC pour qu’il utilise UDP pour DNS et utilise TCP uniquement lorsque la longueur de charge utile d’UDP dépasse 512 octets, vous devez configurer les services DNS et DNS_TCP. L’adresse IP du service DNS_TCP doit être identique à celle du service DNS.

Configurer les valeurs de durée de vie pour les entrées DNS

La TTL est la même pour tous les enregistrements DNS avec le même nom de domaine et le même type d’enregistrement. Si la valeur TTL est modifiée pour l’un des enregistrements, la nouvelle valeur est reflétée dans tous les enregistrements du même nom de domaine et type. La valeur de TTL par défaut est 3600 secondes. Le minimum est 0 et le maximum est 604800. Si une entrée DNS a une valeur de TTL inférieure au minimum ou supérieure au maximum, elle est enregistrée en tant que valeur de TTL minimale ou maximale, respectivement.

Spécifiez la TTL minimale et/ou maximale à l’aide de l’interface de ligne de commande

À l’invite de commandes Citrix ADC, tapez les commandes suivantes pour spécifier la TTL minimale et maximale et vérifier la configuration :

-  set dns parameter [-minTTL <secs>] [-maxTTL <secs>]
-  show dns parameter

Exemple :

> set dns parameter -minTTL 1200 -maxTTL 1800
 Done
> show dns parameter
        DNS parameters:
        DNS retries: 5
        Minimum TTL: 1200               Maximum TTL: 1800
            .
            .
            .
 Done
>

Spécifiez la TTL minimale et/ou maximale à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > DNS.
  2. Dans le volet d’informations, sous Paramètres, cliquez sur Modifier les paramètres DNS.
  3. Dans la boîte de dialogue Configurer les paramètres DNS, dans TTL, dans les zones de texte Minimum et Maximum, tapez respectivement la durée minimale et la durée maximale de vie (en secondes), puis cliquez sur OK.

Remarque : Lorsque la TTL expire, l’enregistrement est supprimé du cache. Citrix ADC contacte de manière proactive les serveurs et obtient l’enregistrement DNS juste avant l’expiration de l’enregistrement DNS.

Vidage des enregistrements DNS

Vous pouvez supprimer tous les enregistrements DNS présents dans le cache. Par exemple, vous pouvez vider les enregistrements DNS lorsqu’un serveur est redémarré après que des modifications ont été apportées.

Supprimer tous les enregistrements proxy à l’aide de l’interface de ligne de commande

À l’invite de commandes Citrix ADC, tapez :

flush dns proxyRecords

Supprimer tous les enregistrements proxy à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > DNS > Enregistrements.
  2. Dans le volet d’informations, cliquez sur Vider les enregistrements proxy.

Ajouter des enregistrements de ressources DNS

Vous pouvez ajouter des enregistrements DNS à un domaine pour lequel l’appliance Citrix ADC est configurée en tant que serveur proxy DNS. Pour plus d’informations sur l’ajout d’enregistrements DNS, reportez-vous à la section Configuration des enregistrements de ressources DNS.

Suppression d’un serveur virtuel DNS équilibrage de charge

Pour plus d’informations sur la suppression d’un serveur virtuel d’équilibrage de charge, reportez-vous à la section Équilibrage de charge.

Limiter le nombre de demandes DNS simultanées sur une connexion client

Vous pouvez limiter le nombre de requêtes DNS simultanées sur une seule connexion client, identifiée par <clientip:port>-<vserver ip:port> tuple. Les demandes DNS simultanées sont les demandes que l’appliance Citrix ADC a transférées aux serveurs de noms et pour lesquelles l’appliance attend des réponses. La limitation du nombre de demandes simultanées sur une connexion client vous permet de protéger les serveurs de noms lorsqu’un client hostile tente une attaque DDoS (Distributed Denial of Service) en envoyant un flot de demandes DNS. Lorsque la limite pour une connexion client est atteinte, les requêtes DNS suivantes sur la connexion sont supprimées jusqu’à ce que le nombre de requêtes en attente soit inférieur à la limite. Cette limite ne s’applique pas aux demandes que l’appliance NetscCitrix AdCaler dessert hors de son cache.

La valeur par défaut de ce paramètre est 255. Cette valeur par défaut est suffisante dans la plupart des scénarios. Si les serveurs de noms servent un grand nombre de demandes DNS simultanées dans des conditions de fonctionnement normales, vous pouvez spécifier une valeur élevée ou une valeur nulle (0). La valeur 0 désactive cette fonctionnalité et spécifie qu’il n’y a pas de limite au nombre de requêtes DNS autorisées sur une seule connexion client. Il s’agit d’un paramètre global qui s’applique à tous les serveurs virtuels DNS configurés sur l’appliance Citrix ADC.

Spécifiez le nombre maximal de demandes DNS simultanées autorisées sur une seule connexion client à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez les commandes suivantes pour spécifier le nombre maximal de demandes DNS simultanées autorisées sur une seule connexion client et vérifiez la configuration :

-  set dns parameter -maxPipeline <positive_integer>
-  show dns parameter

Exemple :

> set dns parameter -maxPipeline 1000
 Done
> show dns parameter
        DNS parameters:
        DNS retries: 5
        .
        .
        .
        Max DNS Pipeline Requests: 1000
 Done

Spécifiez le nombre maximal de demandes DNS simultanées autorisées sur une seule connexion client à l’aide de l’interface graphique

  1. Accédez à Gestion du trafic > DNS.
  2. Dans le volet d’informations, cliquez sur Modifier les paramètres DNS.
  3. Dans la boîte de dialogue Configurer les paramètres DNS, spécifiez une valeur pour les demandes de pipeline DNS Max.
  4. Cliquez sur OK.