ADC

Configurer l’appliance NetScaler en tant que serveur proxy DNS

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

Figure 1. NetScaler en tant que proxy DNS

NetScaler en tant que proxy DNS

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

Pour les demandes concernant un domaine qui a déjà été mis en cache, NetScaler fournit l’enregistrement d’adresse du domaine à partir du cache sans interroger le serveur DNS configuré.

L’appliance supprime 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 NetScaler récupère l’enregistrement sur le serveur et mette à jour son cache. Pour éviter ce retard, NetScaler met à jour le cache de manière proactive en récupérant l’enregistrement sur le serveur avant son expiration.

Le tableau suivant répertorie les exemples de noms et les valeurs des entités qui doivent être configurées sur NetScaler.

Tableau 1 Exemple de configuration de l’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 schéma suivant montre les entités d’un proxy DNS et les valeurs des paramètres à configurer sur NetScaler.

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

Modèle d'entité proxy DNS

Remarque

Pour configurer la fonctionnalité de 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 NetScaler, configurez un serveur virtuel d’équilibrage de charge de type DNS. Pour configurer un serveur virtuel DNS afin d’équilibrer la charge d’un ensemble de serveurs DNS prenant en charge les requêtes récursives, vous devez définir l’option Récursivité 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, voir Équilibrage decharge.

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, voir É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, le protocole UDP spécifie une taille de paquet maximale de 512 octets. Lorsque la longueur de la charge utile dépasse 512 octets, le client doit utiliser le protocole TCP. Lorsqu’un client envoie une requête DNS à l’appliance NetScaler, l’appliance transmet 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 troncature dans sa réponse à NetScaler. Le bit de troncature indique que la réponse est trop volumineuse pour UDP et que le client doit envoyer la requête via une connexion TCP. L’appliance ADC transmet la réponse au client avec le bit de troncature intact. Il 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 demande via une connexion TCP. L’appliance NetScaler transmet ensuite la demande au serveur de noms et transmet la réponse au client.

Pour configurer NetScaler afin qu’il utilise le protocole TCP pour le 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, NetScaler utilise une connexion TCP avec le serveur pour récupérer les enregistrements.

Important

Pour configurer NetScaler de manière à utiliser le protocole UDP pour le DNS et à n’utiliser le protocole TCP que lorsque la longueur de la charge utile du protocole UDP dépasse 512 octets, vous devez configurer à la fois les services DNS et DNS_TCP. L’adresse IP du service DNS_TCP doit être identique à l’adresse IP du service DNS.

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

Le TTL est le même pour tous les enregistrements DNS ayant 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 du même type. La valeur TTL par défaut est de 3 600 secondes. Le minimum est 0 et le maximum est 604800. Si une entrée DNS possède une valeur TTL inférieure au minimum ou supérieure au maximum, elle est enregistrée en tant que valeur TTL minimale ou maximale, respectivement.

Spécifiez le TTL minimum et maximum à l’aide de l’interface de ligne de commande

À l’invite de commandes NetScaler, tapez les commandes suivantes pour spécifier le TTL minimum et maximum et vérifier la configuration :

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

Exemple :

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

Spécifiez le TTL minimum et maximum à 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 de vie minimale et maximale (en secondes), puis cliquez sur OK.

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

Effacer les enregistrements DNS

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

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

À l’invite de commande NetScaler, tapez :

flush dns proxyRecords

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

  1. Accédez à Gestion du trafic > DNS > Enregistrements.
  2. Dans le volet de détails, cliquez sur Flush Proxy Records.

Ajouter des enregistrements de ressources DNS

Vous pouvez ajouter des enregistrements DNS à un domaine pour lequel l’appliance NetScaler 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, voir Équilibrage decharge.

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 le <clientip:port>-<vserver ip:port> tuple. Les demandes DNS simultanées sont les demandes que l’appliance NetScaler a transmises 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 par déni de service distribué (DDoS) en envoyant un flot de requêtes DNS. Lorsque la limite pour une connexion client est atteinte, les requêtes DNS suivantes sur la connexion sont abandonnées jusqu’à ce que le nombre de demandes en attente passe en dessous de la limite. Cette limite ne s’applique pas aux demandes que l’appliance NetScaler traite à partir 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 traitent de nombreuses 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 indique qu’il n’y a pas de limite au nombre de requêtes DNS autorisées sur une seule connexion client. Ce paramètre est un paramètre global qui s’applique à tous les serveurs virtuels DNS configurés sur l’appliance NetScaler. 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 traitent de nombreuses 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 indique qu’il n’y a pas de limite au nombre de requêtes DNS autorisées sur une seule connexion client. Ce paramètre est un paramètre global qui s’applique à tous les serveurs virtuels DNS configurés sur l’appliance NetScaler. 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 traitent de nombreuses 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 indique qu’il n’y a pas de limite au nombre de requêtes DNS autorisées sur une seule connexion client. Ce paramètre est un paramètre global qui s’applique à tous les serveurs virtuels DNS configurés sur l’appliance NetScaler.

Spécifiez le nombre maximum 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 maximum de demandes DNS simultanées autorisées sur une seule connexion client et vérifier la configuration :

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

Exemple :

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

Spécifiez le nombre maximum de requêtes 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.