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.

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

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

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.
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.
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.
Action |
Script |
---|---|
Ajouter un serveur DNS virtuel |
Script: Exemple d’utilisation : |
Supprimer un serveur DNS virtuel |
Script: Exemple d’utilisation : |
Ajouter un enregistrement DNS |
Script: Exemple d’utilisation : |
Supprimer un enregistrement DNS |
Script: Exemple d’utilisation : |
Associer un serveur DNS virtuel à un IPAM |
Script: Exemple d’utilisation : |
Dissocier un serveur DNS virtuel d’un IPAM |
Script: Exemple d’utilisation : |