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é.

Pour la demande DOT pour un domaine, si les informations mises en cache ne sont pas chiffrées, NetScaler transmet la requête à un serveur de noms DNS qui vérifie la disponibilité de l’adresse et la renvoie à NetScaler. NetScaler chiffre l’adresse et la réponse au client. Il met également en cache les enregistrements avec une option sécurisée. Pour la demande UDP ou TCP pour un domaine pour lequel une option sécurisée est activée, NetScaler fournit l’enregistrement d’adresse du domaine depuis le 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 le nombre maximal de demandes de pipeline DNS.
  4. Cliquez sur OK.

Prise en charge de l’insertion de l’option ECS par le DNS

Le temps de réponse du serveur DNS peut être amélioré en incluant l’option ECS dans la requête DNS. Cela permet au serveur DNS de rediriger les requêtes vers l’emplacement géographique approprié. En fonction de l’adresse IP du client et du masque de sous-réseau, vous pouvez inclure une option ECS (Extended Client Subnet) dans les requêtes DNS par proxy.

Configurer le paramètre ECS à l’aide de la CLI

À l’invite de commandes, tapez :

add dns profile <profilename> -insertECS <ENABLED|DISABLED> -replaceECS <ENABLED|DISABLED> -maxCacheableECSPrefixLength <0-32> -maxCacheableECSPrefixLength6 <0-128>

  • insertECS - Lorsque cette option est activée, les requêtes DNS transmises par proxy via un serveur virtuel d’équilibrage de charge avec le profil DNS contiendront une option ECS basée sur l’adresse IP du client. Par défaut, ce paramètre est DÉSACTIVÉ.

  • replaceECS - Lorsque cette option est activée, les requêtes DNS transmises par proxy via un serveur virtuel d’équilibrage de charge, l’option ECS de profil DNS est remplacée par une nouvelle option ECS basée sur l’adresse IP du client. Par défaut, ce paramètre est DÉSACTIVÉ.

  • maxCacheableECSPrefixLength - Spécifie la longueur maximale du préfixe du masque réseau utilisé avec l’option ECS pour les adresses IPv4. Valeurs valides : 0 à 32 Valeur par défaut : 32
  • maxCacheableECSPrefixLength6 - Spécifie la longueur maximale du préfixe du masque réseau utilisé avec l’option ECS pour les adresses IPv6. Valeurs valides : 0 à -128 Valeur par défaut : 128.

Configurer le paramètre ECS à l’aide de l’interface graphique

  1. Accédez à Système > Profils> Profil DNS, puis créez le profil DNS.
  2. Activez Insérer ECS ou Remplacer ECS.
  3. Entrez la longueur du préfixe des adresses IPv4 et IPv6.
  4. Cliquez sur OK.