ADC

Système de noms de domaine

Remarque : à partir de la version 13.0 build 41.x, l’appliance NetScaler en mode ADNS et proxy est entièrement conforme au jour du drapeau DNS 2019.

Vous pouvez configurer l’appliance NetScaler pour qu’elle fonctionne comme un serveur de noms de domaine (serveur ADNS) faisant autorité 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 NetScaler

Vous pouvez configurer l’appliance NetScaler 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 NetScaler, notamment 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 NetScaler pour équilibrer la charge des serveurs de noms DNS externes.

L’appliance NetScaler 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 NetScaler 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 NetScaler recherche le nom de domaine dans les enregistrements de ressources configurés. Vous pouvez configurer le service ADNS à utiliser avec la fonctionnalité NetScaler 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 NetScaler fasse autorité pour le sous-domaine en ajoutant un « enregistrement colle » pour chacun des serveurs de noms de sous-domaines. Si le GSLB est configuré, NetScaler 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 NetScaler peut fonctionner comme un proxy DNS. La mise en cache des enregistrements DNS, qui constitue une fonction importante d’un proxy DNS, est activée par défaut sur l’appliance NetScaler. La mise en cache permet à l’appliance NetScaler 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.

NetScaler propose deux options, la durée de vie minimale (TTL) et la TTL 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. NetScaler vérifie le TTL 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.

NetScaler 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, NetScaler renvoie un message d’erreur (NXDOMAIN). Si la réponse ne se trouve pas dans le cache local, la requête est transmise au serveur, qui renvoie une erreur NXDOMAIN à NetScaler. NetScaler met la réponse en cache localement, puis renvoie le message d’erreur au client.
  • Message d’erreur NODATA : NetScaler envoie un message d’erreur NODATA si le nom de domaine de la requête est valide mais que les enregistrements du type indiqué ne sont pas disponibles.

NetScaler 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, NetScaler 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 NetScaler en tant que redirecteur DNS. Un redirecteur transmet les demandes DNS à des serveurs de noms externes. NetScaler vous permet d’ajouter des serveurs de noms externes et fournit une résolution de noms pour les domaines situés en dehors du réseau. NetScaler vous permet également de définir la priorité de recherche de noms 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 commande, 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 NetScaler reçoit une demande DNS, il répond en modifiant l’ordre de la liste des enregistrements de ressources DNS selon une méthode circulaire. 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. NetScaler exécute cette fonction automatiquement. Il n’est pas nécessaire de configurer ce comportement.

Vue d’ensemble fonctionnelle

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

NetScaler modifie ensuite l’ordre dans lequel les enregistrements sont envoyés dans la réponse DNS selon une méthode circulaire. 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 NetScaler reçoit une requête pour l’enregistrement A de ns1, les enregistrements d’adresses sont servis selon une méthode circulaire 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