Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Configuration des serveurs DNS

Vue d’ensemble du DNS

Le système de noms de domaine (DNS) est le protocole standard permettant de résoudre les noms de domaine en adresses IP afin que le trafic puisse être acheminé vers sa destination. Le DNS assure la traduction entre les noms de domaine lisibles par l’homme et leurs adresses IP. Les noms de domaine sont définis dans une arborescence hiérarchique, avec une racine suivie d’étiquettes de domaine de niveau supérieur et de niveau suivant.

Un serveur DNS stocke les enregistrements d’un nom de domaine et répond aux requêtes des clients en fonction de ces enregistrements. Le serveur fait autorité pour les domaines pour lesquels il est configuré pour être le serveur de noms. Pour d’autres domaines, le serveur peut agir comme un serveur de mise en cache, récupérant les enregistrements en interrogeant d’autres serveurs de noms de domaine.

Voici les attributs clés du service de nom de domaine dans un monde virtuel :

  • Il devrait être possible de configurer plusieurs serveurs de noms de domaine pour fournir un service de résolution de noms pour les machines virtuelles générées dans le système.

  • Il doit être possible de configurer les serveurs de noms de domaine pour former les hiérarchies de serveurs DNS requises par chaque locataire.

    • Les hiérarchies peuvent être indépendantes et complètement isolées des autres hiérarchies similaires présentes dans le système, ou elles peuvent fournir un service de nommage à d’autres hiérarchies présentes dans le système.

  • Les enregistrements DNS des machines virtuelles générées dans le système doivent être mis à jour dynamiquement lors de la création ou de la destruction d’une machine virtuelle.

  • Le service doit être évolutif pour gérer l’augmentation du nombre de serveurs et le nombre accru de machines virtuelles et de requêtes DNS traitées dans le système.

Définition de plusieurs serveurs de noms de domaine virtuels dans Contrail

Contrail permet de définir plusieurs serveurs de noms de domaine virtuels sous chaque domaine du système. Chaque serveur de noms de domaine virtuels est un serveur faisant autorité pour le domaine DNS configuré. La figure 1 montre des exemples de serveurs DNS virtuels définis dans default-domain, fournissant le service de noms pour les domaines DNS indiqués.

Figure 1 : Exemples DNS Servers Examples de serveurs DNS

IPAM et Virtual DNS

Chaque service de gestion des adresses IP (IPAM) du système peut faire référence à l’un des serveurs DNS virtuels configurés. Les réseaux virtuels et les machines virtuelles générés sont associés au domaine DNS spécifié dans l’IPAM correspondant. Lorsque les machines virtuelles sont configurées avec DHCP, elles reçoivent l’attribution de domaine dans l’option nom de domaine DHCP. Des exemples sont présentés à la figure 2

Figure 2 : IPAM et Virtual DNS IPAM and Virtual DNS

Types d’enregistrements DNS

Les enregistrements DNS peuvent être ajoutés de manière statique. Les enregistrements DNS de type A, CNAME, PTR et NS sont actuellement pris en charge dans le système. Chaque enregistrement comprend le type, la classe (IN), le nom, les données et les valeurs TTL. Voir le tableau 1 pour la description des types d’enregistrements.

Tableau 1 : Types d’enregistrements DNS pris en charge

Type d’enregistrement DNS

Description

Un

Utilisé pour mapper les noms d’hôte aux adresses IPv4. Le nom fait référence au nom de la machine virtuelle et les données sont l’adresse IPv4 de la machine virtuelle.

CNAME

Fournit un alias à un nom. Le nom fait référence au nom de la machine virtuelle, et les données sont le nouveau nom (alias) de la machine virtuelle.

PTR

Pointeur vers un enregistrement, il fournit un mappage inverse d’une adresse IP à un nom. Le nom fait référence à l’adresse IP et les données sont le nom de la machine virtuelle. L’adresse dans l’enregistrement PTR doit faire partie d’un sous-réseau configuré pour un VN dans l’un des IPAM faisant référence à ce serveur DNS virtuel.

NS

Permet de déléguer un sous-domaine à un autre serveur DNS. Le serveur DNS peut être un autre serveur DNS virtuel défini dans le système ou l’adresse IP d’un serveur DNS externe accessible via l’infrastructure. Le nom fait référence au sous-domaine délégué, et les données sont le nom du serveur DNS virtuel ou l’adresse IP d’un serveur externe.

La figure 3 montre un exemple d’utilisation du type d’enregistrement DNS NS.

Figure 3 : Exemple d’utilisation pour le type Example Usage for NS Record Type d’enregistrement NS

Configuration du DNS sur l’interface utilisateur

Le DNS peut être configuré à l’aide de l’interface utilisateur ou de scripts. La procédure suivante montre comment configurer DNS via l’interface Contrail de Juniper Networks.

  1. Access Configurez > serveurs DNS > pour créer ou supprimer des serveurs et des enregistrements DNS virtuels.

    La page Configurer les enregistrements DNS s’affiche ; voir la figure 4.

    Figure 4 : Configurer les enregistrements Configure DNS Records DNS
  2. Pour ajouter un nouveau serveur DNS, cliquez sur le bouton Créer .

    Entrez les informations du serveur DNS dans la fenêtre Ajouter un DNS ; voir Figure 5

    Figure 5 : ajout d’un DNS Add DNS

    Complétez les champs pour le nouveau serveur ; voir tableau 2.

    Tableau 2 : ajout de champs DNS

    Champ

    Description

    Nom du serveur

    Entrez un nom pour ce serveur.

    Nom de domaine

    Entrez le nom du domaine de ce serveur.

    Il est temps de vivre

    Saisissez la durée de vie en secondes.

    Serveur DNS suivant

    Sélectionnez dans une liste le nom du serveur DNS suivant pour traiter les requêtes DNS si elles ne peuvent pas être traitées sur ce serveur, ou Aucun.

    Ordre d’équilibrage de charge

    Sélectionnez l’ordre d’équilibrage de charge dans une liste : Aléatoire, Fixe, Round Robin. Lorsqu’un nom a plusieurs enregistrements correspondants, l’ordre d’enregistrement configuré détermine l’ordre dans lequel les enregistrements sont envoyés dans la réponse. Sélectionnez Aléatoire pour que les enregistrements soient envoyés dans un ordre aléatoire. Sélectionnez Fixe pour que les enregistrements soient envoyés dans l’ordre de création. Sélectionnez Round Robin pour que l’ordre des enregistrements soit recyclé pour chaque demande à l’enregistrement.

    D'ACCORD

    Cliquez sur OK pour créer l’enregistrement.

    Annuler

    Cliquez sur Annuler pour effacer les champs et recommencer.

  3. Pour ajouter un nouvel enregistrement DNS, à partir de la page Configurer les enregistrements DNS , cliquez sur le bouton Ajouter un enregistrement dans la partie inférieure droite de l’écran.

    La fenêtre Add DNS Record (Ajouter un enregistrement DNS) s’affiche ; voir Figure 6.

    Figure 6 : Ajouter un enregistrement Add DNS Record DNS
  4. Remplissez les champs du nouvel enregistrement ; voir le tableau 3.
    Tableau 3 : Ajouter des champs d’enregistrement DNS

    Champ

    Description

    Nom de l’enregistrement

    Entrez un nom pour cet enregistrement.

    Type

    Sélectionnez le type d’enregistrement dans une liste : A, CNAME, PTR, NS.

    Adresse IP

    Entrez l’adresse IP de l’emplacement de cet enregistrement.

    Classe

    Sélectionnez la classe d’enregistrement dans une liste : IN est la valeur par défaut.

    Il est temps de vivre

    Saisissez la durée de vie en secondes.

    D'ACCORD

    Cliquez sur OK pour créer l’enregistrement.

    Annuler

    Cliquez sur Annuler pour effacer les champs et recommencer.

  5. Pour associer un IPAM à un serveur DNS virtuel, dans la page Configurer les enregistrements DNS, sélectionnez l’onglet IPAM associés dans la partie inférieure droite de l’écran et cliquez sur le bouton Modifier.

    La fenêtre Associer les IPAM au DNS s’affiche ; voir la figure 7.

    Figure 7 : Association d’IPAM au DNS Associate IPAMs to DNS

    Complétez les associations IPAM à l’aide des descriptions de champs dans le tableau 4.

    Tableau 4 : Associer des IPAM à des champs DNS

    Champ

    Description

    Associer à tous les IPAM

    Cochez cette case pour associer le serveur DNS sélectionné à tous les IPAM disponibles.

    IPAM disponibles

    Cette colonne affiche les IPAM actuellement disponibles.

    IPAM associés

    Cette colonne affiche les IPAM actuellement associés au serveur DNS sélectionné.

    >>

    Utilisez ce bouton pour associer un IPAM disponible au serveur DNS sélectionné, en sélectionnant un IPAM disponible dans la colonne de gauche et en cliquant sur ce bouton pour le déplacer vers la colonne IPAM associés. L’IPAM sélectionné est maintenant associé au serveur DNS sélectionné.

    <<

    Utilisez ce bouton pour dissocier un IPAM du serveur DNS sélectionné, en sélectionnant un IPAM associé dans la colonne de droite et en cliquant sur ce bouton pour le déplacer vers la colonne de gauche (IPAM disponibles). L’IPAM sélectionné est maintenant dissocié du serveur DNS sélectionné.

    D'ACCORD

    Cliquez sur OK pour valider les modifications indiquées dans la fenêtre.

    Annuler

    Cliquez sur Annuler pour effacer toutes les entrées et recommencer.

  6. Utilisez la page Gestion des adresses IP (Configurer la mise en réseau > > la gestion des adresses IP) ; reportez-vous à la Figure 8) pour configurer le mode DNS d’un serveur DNS et pour associer un IPAM à des serveurs DNS de n’importe quel mode ou aux adresses IP des locataires.
    Figure 8 : Configurer la gestion des Configure IP Address Management adresses IP
  7. Pour associer un IPAM à un serveur DNS virtuel ou aux adresses IP du locataire, sur la page Gestion des adresses IP, sélectionnez le réseau associé à cet IPAM, puis cliquez sur le bouton Action dans la dernière colonne, puis cliquez sur Modifier.

    La fenêtre Modifier la gestion des adresses IP s’affiche ; voir la figure 9.

    Figure 9 : Serveur DNS Server DNS
  8. Dans le premier champ, sélectionnez la méthode DNS dans une liste (Aucune, DNS par défaut, DNS de locataire, DNS virtuel ; voir le tableau 5.
    Tableau 5 : modes DNS

    DNS Mode

    Description

    Aucun

    Sélectionnez Aucun lorsqu’aucune prise en charge DNS n’est requise pour les machines virtuelles.

    Par défaut

    En mode par défaut, la résolution DNS des machines virtuelles est effectuée en fonction de la configuration du serveur de noms dans l’infrastructure du serveur. La passerelle par défaut du sous-réseau est configurée en tant que serveur DNS pour la machine virtuelle, et la réponse DHCP à la machine virtuelle comporte cette option de serveur DNS. Les requêtes DNS envoyées par une machine virtuelle à la passerelle par défaut sont envoyées aux serveurs de noms configurés sur les nœuds de calcul respectifs. Les réponses sont renvoyées à la machine virtuelle.

    Locataire

    Configurez ce mode lorsqu’un locataire souhaite utiliser ses propres serveurs DNS. Configurez la liste des serveurs dans l’IPAM. La liste des serveurs est envoyée dans la réponse DHCP à la machine virtuelle en tant que serveurs DNS. Les requêtes DNS envoyées par les machines virtuelles sont acheminées de la même manière que tout autre paquet de données en fonction des informations de routage disponibles.

    DNS virtuel

    Configurez ce mode pour prendre en charge les serveurs DNS virtuels (VDNS) afin de résoudre les requêtes DNS des machines virtuelles. Chaque IPAM peut disposer d’un serveur DNS virtuel configuré dans ce mode.

  9. Remplissez les champs restants sur cette page, puis cliquez sur OK pour valider les modifications, ou cliquez sur Annuler pour effacer les champs et recommencer.

Configuration du DNS à l’aide de scripts

Vous pouvez configurer le DNS à l’aide de scripts disponibles dans le package RPM/DEB contrail-utils dans le répertoire / opt/contrail/utils . Les scripts sont copiés sur le nœud config_api_container ou config lorsque vous installez le package RPM/DEB contrail-utils. Vous pouvez exécuter les scripts à partir du conteneur config_api ou du nœud de configuration. Les scripts sont décrits dans le tableau 6.

ATTENTION:

Tenez compte des précautions suivantes lorsque vous utilisez des scripts pour configurer le DNS :

  • Le DNS n’autorise pas les caractères spéciaux dans les noms, à l’exception de - (tiret) et . (point). Tous les enregistrements dont le nom contient des caractères spéciaux seront ignorés par le système.

  • Le mode et l’association DNS de l’IPAM ne doivent être modifiés que lorsqu’il n’y a pas d’instances de machine virtuelle dans les réseaux virtuels associés à l’IPAM.

Tableau 6 : scripts DNS

Action

Script

Ajouter un serveur DNS virtuel

Script: add_virtual_dns.py

Exemple d’utilisation : python add_virtual_dns.py --api_server_ip 10.204.216.21 --api_server_port 8082 --name vdns1 --domain_name default-domain --dns_domain juniper.net --dyn_updates --record_order random --ttl 1200 --next_vdns default-domain:vdns2

Supprimer un serveur DNS virtuel

Script: del_virtual_dns_record.py

Exemple d’utilisation : python del_virtual_dns.py --api_server_ip 10.204.216.21 --api_server_port 8082 --fq_name default-domain:vdns1

Ajouter un enregistrement DNS

Script: add_virtual_dns_record.py

Exemple d’utilisation : python add_virtual_dns_record.py --api_server_ip 10.204.216.21 --api_server_port 8082 --name rec1 --vdns_fqname default-domain:vdns1 --rec_name one --rec_type A --rec_class IN --rec_data 1.2.3.4 --rec_ttl 2400

Supprimer un enregistrement DNS

Script: del_virtual_dns_record.py

Exemple d’utilisation : python del_virtual_dns_record.py --api_server_ip 10.204.216.21 --api_server_port 8082 --fq_name default-domain:vdns1:rec1

Associer un serveur DNS virtuel à un IPAM

Script: associate_virtual_dns.py

Exemple d’utilisation : python associate_virtual_dns.py --api_server_ip 10.204.216.21 --api_server_port 8082 --ipam_fqname default-domain:demo:ipam1 --vdns_fqname default-domain:vdns1

Dissocier un serveur DNS virtuel d’un IPAM

Script: disassociate_virtual_dns.py

Exemple d’utilisation : python disassociate_virtual_dns.py --api_server_ip 10.204.216.21 --api_server_port 8082 --ipam_fqname default-domain:demo:ipam1 --vdns_fqname default-domain:vdns1