DNS dans un réseau Cloud virtuel

Le système de noms de domaine (DNS) permet aux ordinateurs d'utiliser des noms d'hôte au lieu d'adresses IP pour communiquer entre eux. Cette fonctionnalité est limitée au trafic au sein d'un réseau cloud virtuel (VCN), pour l'utilisation du DNS avec le trafic Internet, reportez-vous à Gestion du trafic et du DNS

Choix pour le DNS dans un VCN

Voici les choix de résolution de nom DNS pour les instances d'un VCN. Vous faites un choix pour chaque sous-réseau du réseau cloud virtuel, à l'aide de l'ensemble d'options DHCP du sous-réseau. Cette procédure est semblable à celle utilisée pour la configuration de la table de routage et des listes de sécurité qui sont associées à chaque sous-réseau. Pour plus d'informations, reportez-vous à Options DHCP.

Remarque

L'option DHCP du serveur DNS permet d'indiquer le type DNS du sous-réseau associé. Si vous modifiez la valeur de l'option, redémarrez le client DHCP sur l'instance ou redémarrez l'instance. Sinon, le changement n'est pas pris en compte tant que le client DHCP n'actualise plus le bail (dans le 24 heures).

Choix par défaut : résolveur Internet et de réseau cloud virtuel
Il s'agit d'une option fournie par Oracle qui inclut deux parties :
  • Résolveur Internet : permet aux instances de résoudre les noms d'hôte publiés publiquement sur Internet. Les instances n'ont pas besoin d'avoir un accès Internet via une passerelle Internet ou une connexion à un réseau sur site (telle qu'une connexion VPN site à site IPSec via un DRG ).
  • Résolveur de réseau cloud virtuel : permet aux instances de résoudre les noms d'hôte (que vous pouvez affecter) d'autres instances dans le même réseau cloud virtuel. Pour plus d'informations, reportez-vous à A propos des noms d'hôte et des domaines DNS.
Par défaut, les réseaux cloud virtuels que vous créez utilisent le résolveur Internet et de réseau cloud virtuel. Si vous utilisez l'API Networking, cette option fait référence à l'enumération VcnLocalPlusInternet dans l'objet DhcpDnsOption.
Remarque

Par défaut. Internet et le résolveur VCN ne permettent pas aux instances de résoudre les noms d'hôte des hôtes d'un réseau sur site connecté à un VCN par un VPN site à site ou FastConnect. Pour bénéficier de cette fonctionnalité, vous pouvez utiliser un résolveur personnalisé ou configurer le résolveur DNS privé du réseau cloud virtuel.

Résolveur personnalisé
Utilisez les serveurs DNS pour la résolution (trois maximum). Il peut s'agir de serveurs DNS qui sont :
  • disponibles via Internet (par exemple, 216.146.35.35 pour Internet Guide de Dyn),
  • Dans le VCN.
  • Dans un réseau sur site, qui est connecté au VCN par le biais d'un VPN site à site ou de FastConnect (via un DRG ).

A propos des noms d'hôte et des domaines DNS

Lorsque vous créez initialement un VCN et des sous-réseaux, vous pouvez spécifier des étiquettes DNS pour chacun d'eux. Les libellés DNS de sous-réseau peuvent uniquement être définis si le réseau cloud virtuel lui-même est créé avec un libellé DNS. Les libellés, ainsi que le domaine parent de oraclevcn.com, forment le nom de domaine du réseau cloud virtuel et le nom de domaine du sous-réseau :

  • Nom de domaine VCN : <VCN-DNS-label>.oraclevcn.com
  • Nom de domaine du sous-réseau : <subnet-DNS-label>.<VCN-DNS-label>.oraclevcn.com

Lorsque vous créez ensuite une instance Compute, vous pouvez affecter un nom d'hôte à la carte d'interface réseau virtuelle créée automatiquement lors de la création de l'instance (carte d'interface réseau virtuelle principale). Avec le nom de domaine du sous-réseau, le nom d'hôte forme le nom de domaine qualifié complet de l'instance :

  • FQDN de l'instance : <hostname>.<subnet-DNS-label>.<VCN-DNS-label>.oraclevcn.com

Par exemple : database1.privatesubnet1.abccorpvcn1.oraclevcn.com.

Le nom de domaine qualifié complet se résout en adresse IP privée de l'instance. Internet et le résolveur VCN effectuent également une recherche DNS inverse, qui vous permet de trouver le nom d'hôte correspondant à l'adresse IP privée.

Si vous ajoutez une carte d'interface réseau virtuelle secondaire à une instance, vous pouvez indiquer un nom d'hôte. Le nom de domaines qualifiés complets obtenu résout l'adresse IP privée de la carte d'interface réseau virtuelles (adresse IP privée principale).

Si vous ajoutez une adresse IP privée secondaire à une carte d'interface réseau virtuelle, vous pouvez indiquer un nom d'hôte. Le nom de domaine qualifié complet obtenu se résout en adresse IP privée.

Important

Nous vous recommandons de toujours utiliser le nom de domaine qualifié complet d'instance lors de l'envoi de messages à un hôte, ou de n'indiquer alternativement que le nom d'hôte pour les messages envoyés dans un VCN.

Exigences relatives aux noms d'hôte et aux libellés DNS

  • Libellés de sous-réseau et de réseau cloud virtuel : peuvent comporter jusqu'à 15 caractères alphanumériques et doivent commencer par une lettre. Les traits d'union et les traits de soulignement ne sont pas autorisés. La valeur ne peut pas être modifiée ultérieurement.
  • Noms d'hôte : 63 caractères au maximum, les lettres et les chiffres sont autorisés. Les traits d'union sont autorisés. Les points ne sont ni autorisés, les traits d'union ne sont ni autorisés au début ni à la fin du nom d'hôte et le nom d'hôtes ne peut pas contenir tous des chiffres. Les noms d'hôte doivent être conformes aux RFC 952 et 1123. La valeur peut être modifiée ultérieurement.
Important

Le service Networking prend en charge les noms d'hôte comportant jusqu'à 63 caractères. Cependant, certains systèmes d'exploitation plus anciens imposent des noms d'hôte plus courts. Sous Linux, voici comment trouver la longueur de nom d'hôte maximale autorisée :

getconf HOST_NAME_MAX

Si le nom d'hôte d'une instance est plus long que la valeur maximale propre au système d'exploitation, le nom de domaine qualifié complet de l'instance ne peut pas être résolu dans le VCN. Vous pouvez utiliser le service Networking pour mettre à jour la carte d'interface réseau virtuelle et remplacer le nom d'hôte par une valeur plus courte.

Unicité :

  • Le libellé DNS VCN doit être unique sur les réseaux cloud virtuels d'une location (non requis, mais meilleure pratique)
  • Les libellés DNS de sous-réseau doivent être uniques au sein du réseau cloud virtuel.
  • Les noms d'hôte doivent être uniques au sein du sous-réseau.
Conseil

Ne confondez pas l'étiquette DNS ou le Nom d'hôte avec le nom convivial que vous pouvez affecter à l'objet (c'est-à-dire, le nom d'affichage), qui n'a pas besoin d'être unique.

Validation et génération du nom d'hôte

Si vous définissez des libellés DNS pour le VCN et les sous-réseaux, Oracle valide le nom d'hôte pour la conformité et l'unicité du DNS lors de la création de l'instance Compute. Si l'une de ces exigences n'est pas respectée, la demande de création échoue.

Si vous n'indiquez pas de nom d'hôte lors de la création de l'instance, Oracle tente d'utiliser le Nom d'affichage de l'instance comme nom d'hôte. Si le nom d'affichage ne passe plus la validation, Oracle génère automatiquement un nom d'hôtes compatible DNS et unique dans le sous-réseau. Vous pouvez visualiser le nom d'hôte généré sur la page de l'instance dans la console. Dans l'API, le nom d'hôte fait partie de l'objet Carte d'interface réseau virtuelle.

Si vous ne fournissez pas de nom d'hôte ou d'affichage lors de la création de l'instance à l'aide du kit SDK ou de la CLI, Oracle ne génère pas de nom d'affichage ni de nom d'hôte. Cela signifie que l'instance ne peut pas être résolue à l'aide d'Internet et du résolveur VCN.

Si vous ne fournissez pas de nom d'hôte ou de nom d'affichage lors de la création de l'instance à l'aide de la console, Oracle génère automatique un nom d'affichage et un enregistrement DNS correspondant, à condition qu'un libellé DNS valide soit associé au sous-réseau.

Remarque

Le nom d'hôte du système d'exploitation Linux sur l'instance est automatiquement défini dans le nom d'hôte défini lors de la création de l'instance (ou celui généré par Oracle). Si vous modifiez le Nom d'hôte directement sur l'instance, le Nom de domaine qualifié complet de l'instance n'est pas mis à jour.

Si vous ajoutez une carte d'interface réseau virtuelle secondaire à une instance ou une adresse IP privée secondaire à une carte d'interface réseau virtuelle, Oracle ne tente pas de générer un nom d'hôte. Indiquez un nom d'hôte valide si vous souhaitez que l'adresse IP privée puisse être résolue à l'aide du résolveur Internet et de réseau cloud virtuel.

Options DHCP pour DNS

Deux options DHCP sont liées au DNS dans le VCN :

  • Serveur de noms de domaine : permet de spécifier le choix du type de DNS (résolveur Internet et VCN ou résolveur personnalisé).

    • Valeur par défaut dans l'ensemble d'options DHCP par défaut : résolveur Internet et de réseau cloud virtuel.
  • Domaine de recherche : permet d'indiquer un domaine de recherche unique. Lors de la résolution d'une requête DNS, le système d'exploitation ajoute ce domaine de recherche à la fin de la valeur interrogée. Vous ne pouvez indiquer qu'un seul domaine de recherche pour l'ensemble d'options DHCP.

    • Valeur par défaut dans l'ensemble d'options DHCP par défaut : nom de domaine VCN (<VCN-DNS-label>.oraclevcn.com), si vous avez spécifié une étiquette DNS pour le VCN lors de la création mais que vous n'avez pas spécifié de valeur de domaine de recherche. Si vous avez indiqué une valeur de domaine de recherche, cette valeur est utilisée pour l'option Domaine de recherche. Si vous n'avez indiqué aucun libellé DNS, l'ensemble d'options DHCP par défaut n'inclut aucune option Domaine de recherche.
Attention

Nous vous recommandons de toujours utiliser le nom de domaine qualifié complet d'instance lors de l'envoi de messages à un hôte dans un autre sous-réseau/VCN et de ne pas utiliser le domaine de recherche DNS.

Important

En général, lorsque n'importe quel ensemble d'options DHCP est initialement créé (l'ensemble par défaut ou un ensemble personnalisé que vous créez), le service Networking ajoute automatiquement l'option Domaine de recherche et la définit sur le nom de domaine VCN ( <VCN-DNS-label>.oraclevcn.com) si toutes les conditions sont remplies :

  • Le réseau cloud virtuel possède un libellé DNS
  • Type DNS = résolveur Internet et de réseau cloud virtuel
  • Vous n'avez pas spécifié de domaine de recherche lors de la création de l'ensemble d'options DHCP

Après avoir créé l'ensemble d'options DHCP, vous pouvez toujours enlever l'option Domaine de recherche ou la définir sur une autre valeur.

Activation des noms d'hôte DNS dans un VCN

Seuls les réseaux cloud virtuels créés après la publication de la fonctionnalité Résolveur Internet et de réseau cloud virtuel disposent d'un accès automatique à cette dernière. La méthode d'autorisation des noms d'hôte DNS pour un nouveau réseau cloud virtuel dépend de l'interface utilisée.

Si vous créez un réseau cloud virtuel et des sous-réseaux à l'aide de la console
  1. Lors de la création du réseau cloud virtuel, procédez comme suit :
    • Sélectionnez Utiliser les noms d'hôte DNS dans ce VCN
    • Indiquez un libellé DNS pour le réseau cloud virtuel. Si vous sélectionnez cette option sans spécifier de libellé DNS, la console suppose que vous souhaitez utiliser Internet et le résolveur VCN dans le VCN et génère automatiquement un libellé DNS pour le VCN. La console prend le nom VCN que vous avez fourni, supprime les caractères non alphanumériques, s'assure que le premier caractère est une lettre et tronque le libellé à 15 caractères. La console affiche le résultat et, si cela vous convient, vous pouvez saisir une autre valeur dans le champ Libellé DNS. Reportez-vous à A propos des noms d'hôte et des domaines DNS.
  2. Lors de la création des sous-réseaux, procédez comme suit :
    • Sélectionnez à nouveau Utiliser les noms d'hôte DNS dans ce sous-réseau.
    • Indiquez un libellé DNS pour chaque sous-réseau. Si vous cochez la case mais que vous ne spécifiez pas le libellé DNS pour un sous-réseau spécifique, la console suppose que vous voulez utiliser Internet et le résolveur VCN pour le sous-réseau et génère automatiquement un libellé DNS pour le sous-réseau. La console prend le nom du sous-réseau fourni, enlève les caractères non alphanumérique, vérifie que le premier caractère est une lettre et tronque le libellé à 15 caractères. La console affiche le résultat et, si cela vous convient, vous pouvez saisir une valeur personnalisée dans le champ Libellé DNS. Reportez-vous à A propos des noms d'hôte et des domaines DNS.
      Remarque

      Les libellés DNS de sous-réseau peuvent uniquement être définis si le réseau cloud virtuel lui-même est créé avec un libellé DNS.
    • Associez tout ensemble d'options DHCP ayant Résolveur Internet et de réseau cloud virtuel comme type DNS. L'ensemble d'options DHCP par défaut présent dans le réseau cloud virtuel utilise le résolveur Internet et de réseau cloud virtuel par défaut.
  3. Lors de la création d'instances Compute :
    • Sélectionnez l'option permettant d'affecter un enregistrement DNS privé.
    • Indiquez un nom d'hôte (ou au moins un nom d'affichage) pour chaque instance. Pour plus d'informations, reportez-vous à A propos des noms d'hôte et des domaines DNS.

Si vous ne sélectionnez pas Utiliser les noms d'hôte DNS dans ce VCN lors de la création du VCN, vous ne pouvez pas définir le libellé DNS pour le VCN ou les sous-réseaux, et vous ne pouvez pas spécifier de nom d'hôte lors de la création de l'instance Compute.

Remarque

La procédure précédente suppose que vous créez le VCN et les sous-réseaux un par un dans la console. La console comporte une fonctionnalité qui crée automatiquement un réseau cloud virtuel avec des sous-réseaux et une passerelle Internet simultanément. Si vous utilisez cette fonctionnalité pour créer le VCN et les sous-réseaux, la console génère automatiquement des étiquettes DNS pour eux.

Si vous créez un réseau cloud virtuel et des sous-réseaux à l'aide de l'API
  1. Lors de la création du réseau cloud virtuel, procédez comme suit :

    • Indiquez un libellé DNS pour le réseau cloud virtuel. Reportez-vous à A propos des noms d'hôte et des domaines DNS. Si vous ne définissez pas de valeur (si la valeur est NULL), Oracle suppose que vous ne voulez pas utiliser le résolveur Internet et de réseau cloud virtuel, même si les options DHCP disposent de DhcpDnsOption serverType = VcnLocalPlusInternet.
  2. Lors de la création des sous-réseaux, procédez comme suit :

    • Indiquez un libellé DNS pour chaque sous-réseau. Reportez-vous à A propos des noms d'hôte et des domaines DNS. Si vous avez indiqué un libellé DNS pour le réseau cloud virtuel, mais que vous n'en indiquez aucun pour le sous-réseau, Oracle suppose que vous ne voulez pas que les instances du sous-réseau utilisent le résolveur Internet et de réseau cloud virtuel, et il devient impossible d'utiliser des noms d'hôte pour communiquer avec les instances du réseau cloud virtuel.
      Remarque

      Les libellés DNS de sous-réseau peuvent uniquement être définis si le réseau cloud virtuel lui-même a été créé avec un libellé DNS.
    • Associez tout ensemble d'options DHCP disposant de DhcpDnsOptionserverType = VcnLocalPlusInternet, qui est l'option DHCP par défaut du réseau cloud virtuel.
  3. Lors de la création d'instances :

    • Sélectionnez l'option permettant d'affecter un enregistrement DNS privé.
    • Indiquez un nom d'hôte (ou au moins un nom d'affichage) pour chaque instance. Pour plus d'informations, reportez-vous à A propos des noms d'hôte et des domaines DNS.

Si vous ne spécifiez pas de libellé DNS lors de la création du réseau cloud virtuel, vous ne pouvez pas effectuer les opérations suivantes :

Scénario 1 : utilisation du résolveur Internet et de réseau cloud virtuel avec les noms d'hôte DNS dans le réseau cloud virtuel

Le scénario typique est d'activer Internet et le résolveur VCN sur l'ensemble d'un VCN, afin que toutes les instances du VCN puissent communiquer entre elles sans connaître leurs adresses IP. Pour ce faire, suivez les instructions dans A propos des noms d'hôte et des domaines DNS, puis affectez un libellé DNS au réseau cloud virtuel et à chaque sous-réseau. Ensuite, affectez un Nom d'hôte (ou au moins un Nom d'affichage) à chaque instance lors de la création. Si vous ajoutez une carte d'interface réseau virtuelle secondaire ou une adresse IP privée secondaire, affectez-lui également un nom d'hôte. Les instances peuvent alors communiquer entre elles à l'aide des noms de domaine qualifiés complets au lieu des adresses IP.

Scénario 2 : utilisation d'un résolveur DNS privé pour résoudre les noms d'hôte DNS

Vous pouvez utiliser un résolveur DNS privé pour répondre aux requêtes DNS d'un réseau cloud virtuel à l'aide d'une configuration que vous créez. Le résolveur écoute sur 169.254.169.254 par défaut, mais vous pouvez également définir les adresses pour l'écoute des requêtes et la transmission à d'autres résolveurs dans d'autres réseaux réseau cloud virtuels, le réseau sur site d'un client ou un autre réseau privé. Pour plus d'informations, reportez-vous à Résolveurs DNS privés.

Scénario 3 : utilisation de différentes options DHCP par sous-réseau

Le scénario 1 suppose que vous voulez utiliser le résolveur Internet et de réseau cloud virtuel de la même manière sur tous les sous-réseaux, et donc sur toutes les instances dans le réseau cloud virtuel. Toutefois, vous pouvez configurer des paramètres DNS différents pour chaque sous-réseau, car les options DHCP sont configurées au niveau du sous-réseau. Il est important de comprendre que le sous-réseau dans lequel vous voulez générer la requête DNS est également l'emplacement de configuration des paramètres de résolveur Internet et de réseau cloud virtuel correspondants.

Par exemple, si vous souhaitez que l'instance A dans le sous-réseau A résolve le nom d'hôte de l'instance B dans le sous-réseau B, vous devez configurer le sous-réseau A de sorte qu'il utilise le résolveur Internet et de réseau cloud virtuel. Réciproquement, si vous souhaitez que l'instance B puisse résoudre le nom d'hôte de l'instance A, vous devez configurer le sous-réseau B de sorte qu'il utilise le résolveur Internet et de réseau cloud virtuel.

Vous pouvez configurer un ensemble d'options DHCP différent pour chaque sous-réseau. Par exemple, vous pouvez définir la valeur subneta.vcn1.oraclevcn.com du domaine de recherche du sous-réseau A, ce qui signifie que toutes les instances du sous-réseau A peuvent uniquement utiliser des noms d'hôte pour communiquer entre elles. De même, vous pouvez définir le domaine de recherche du sous-réseau B sur subnetb.vcn1.oraclevcn.com pour permettre aux instances du sous-réseau B de communiquer entre elles uniquement avec des noms d'hôte.