DNS in una rete cloud virtuale

Il Domain Name System (DNS) consente ai computer di utilizzare i nomi host anziché gli indirizzi IP per comunicare tra loro. Questa funzione è limitata al traffico all'interno di una rete cloud virtuale (VCN), per l'uso del DNS con il traffico Internet, consulta la sezione relativa alla gestione del DNS e del traffico

Scelte per il DNS in una VCN

Di seguito sono riportate le scelte per la risoluzione dei nomi DNS per le istanze in una VCN. Effettua questa scelta per ogni subnet nella VCN, utilizzando il set di opzioni DHCP della subnet. Questa operazione è simile alla modalità di configurazione della tabella di instradamento e delle liste di sicurezza associate a ogni subnet. Per ulteriori informazioni, consulta le opzioni DHCP.

Nota

Utilizzare l'opzione DHCP del server dei nomi di dominio per specificare il tipo di DNS per la subnet associata. Se si modifica il valore dell'opzione, riavviare il client DHCP nell'istanza o riavviare l'istanza. In caso contrario, la modifica non viene ripresa finché il client DHCP non aggiorna il leasing (entro 24 ore).

SCELTA PREDEFINITA: RESOLVER INTERNET E VCN
Si tratta di un'opzione fornita da Oracle che include due parti:
  • Resolver Internet: consente alle istanze di risolvere i nomi host pubblicati pubblicamente su Internet. Le istanze non devono avere accesso a Internet tramite un gateway Internet o tramite una connessione a una rete in locale (ad esempio una connessione VPN da sito a sito IPSec tramite un DRG ).
  • Risolutore VCN: consente alle istanze di risolvere i nomi host (che è possibile assegnare) di altre istanze nella stessa VCN. Per ulteriori informazioni, vedere Informazioni sui domini DNS e sui nomi host.
Per impostazione predefinita, le nuove VCN create utilizzano Internet e il resolver VCN. Se si utilizza l'interfaccia API di networking, questa scelta fa riferimento all'enumerazione VcnLocalPlusInternet nell'oggetto DhcpDnsOption.
Nota

Per impostazione predefinita, il resolver Internet e VCN non consente alle istanze di risolvere i nomi host degli host in una rete on premise connessa a una VCN mediante VPN da sito a sito o FastConnect. Questa funzionalità può essere raggiunta utilizzando un resolver personalizzato o configurando il resolver DNS privato della VCN.

RESOLVER PERSONALIZZATO
Utilizzare i server DNS per la risoluzione (massimo tre). Potrebbero essere server DNS che sono:
  • Disponibile tramite Internet. Ad esempio, 216.146.35.35 per la Guida Internet di Dyn.
  • Nella VCN.
  • In una rete on premise, connessa alla VCN tramite una VPN da sito a sito o una FastConnect (tramite un DRG ).

Informazioni sui domini DNS e sui nomi host

Quando crei inizialmente una VCN e delle subnet, puoi specificare le etichette DNS per ciascuna di esse. Le etichette DNS della subnet possono essere impostate solo se la VCN stessa viene creata con un'etichetta DNS. Le etichette, insieme al dominio padre di oraclevcn.com, formano il nome del dominio VCN e il nome del dominio della subnet:

  • Nome dominio VCN: <VCN-DNS-label>.oraclevcn.com
  • Nome dominio subnet: <subnet-DNS-label>.<VCN-DNS-label>.oraclevcn.com

Quando crei un'istanza di computazione, puoi assegnare un nome host alla VNIC creata automaticamente durante la creazione dell'istanza (la VNIC primaria). Insieme al nome di dominio della subnet, il nome host costituisce il nome di dominio completamente qualificato (FQDN) dell'istanza:

  • FQDN istanza: <hostname>.<subnet-DNS-label>.<VCN-DNS-label>.oraclevcn.com

Ad esempio: database1.privatesubnet1.abccorpvcn1.oraclevcn.com.

Il nome FQDN viene risolto nell'indirizzo IP privato dell'istanza. Il resolver Internet e VCN esegue anche una ricerca DNS inversa, che consente di trovare il nome host corrispondente all'indirizzo IP privato.

Se aggiungi una VNIC secondaria a un'istanza, puoi specificare un nome host. Il nome FQDN risultante viene risolto nell'indirizzo IP privato della VNIC (l'IP privato primario).

Se si aggiunge un IP privato secondario a una VNIC, è possibile specificare un nome host. Il nome FQDN risultante viene risolto in tale indirizzo IP privato.

Importante

Si consiglia di utilizzare sempre il nome FQDN dell'istanza quando si inviano messaggi a un host oppure, in alternativa, specificare solo il nome host per i messaggi inviati all'interno di una VCN.

Requisiti per le etichette DNS e i nomi host

  • Etichette della VCN e della subnet: massimo 15 caratteri alfanumerici e deve iniziare con una lettera. Si noti che i trattini e i caratteri di sottolineatura non sono consentiti. Impossibile modificare il valore in un secondo momento.
  • Nomi host: sono consentiti al massimo 63 caratteri, lettere e numeri. I trattini sono consentiti. Si noti che i punti non sono consentiti, i trattini non sono consentiti all'inizio o alla fine del nome host e il nome host non può essere tutti i numeri. I nomi host devono essere conformi alle richieste RFC 952 e 1123. Il valore può essere modificato in seguito.
Importante

Il servizio di networking supporta nomi host con un massimo di 63 caratteri. Tuttavia, alcuni sistemi operativi precedenti applicano nomi host più brevi. In Linux, ecco come trovare la lunghezza massima consentita del nome host:

getconf HOST_NAME_MAX

Se un'istanza ha un nome host più lungo del numero massimo specifico del sistema operativo, il nome FQDN dell'istanza non è risolvibile all'interno della VCN. È possibile utilizzare il servizio Networking per aggiornare la VNIC e impostare il nome host su un valore più breve.

Univocità:

  • L'etichetta DNS VCN deve essere univoca tra le VCN in una tenancy (non richiesta, ma best practice)
  • Le etichette DNS della subnet devono essere univoche all'interno della VCN
  • I nomi host devono essere univoci all'interno della subnet
Suggerimento

Non confondere l'etichetta DNS o il nome host con il nome descrittivo che è possibile assegnare all'oggetto (il nome visualizzato), che non deve essere univoco.

Convalida e generazione del nome host

Se imposti etichette DNS per la VCN e le subnet, Oracle convalida il nome host per la conformità e l'univocità DNS durante la creazione dell'istanza di computazione. Se uno di questi requisiti non viene soddisfatto, la richiesta di creazione non riesce.

Se non si specifica un nome host durante la creazione dell'istanza, Oracle tenta di utilizzare il nome visualizzato dell'istanza come nome host. Se il nome visualizzato non supera la convalida, Oracle genera automaticamente un nome host conforme al DNS univoco in tutta la subnet. È possibile visualizzare il nome host generato nella pagina dell'istanza nella console. Nell'interfaccia API, il nome host fa parte dell'oggetto VNIC.

Se non si fornisce un nome host o un nome visualizzato durante la creazione dell'istanza utilizzando l'SDK o l'interfaccia CLI, Oracle non genera un nome visualizzato o un nome host. Ciò significa che l'istanza non è risolvibile utilizzando il resolver Internet e VCN.

Se non si fornisce un nome host o un nome visualizzato durante la creazione dell'istanza utilizzando la console, Oracle genera automaticamente un nome visualizzato e un record DNS corrispondente, a condizione che alla subnet sia associata un'etichetta DNS valida.

Nota

Il nome host del sistema operativo Linux nell'istanza viene impostato automaticamente sul nome host impostato durante la creazione dell'istanza o su quello generato da Oracle. Se si modifica il nome host direttamente nell'istanza, il nome FQDN dell'istanza non viene aggiornato.

Se aggiungi una VNIC secondaria a un'istanza o aggiungi un IP privato secondario a una VNIC, Oracle non prova mai a generare un nome host. Fornire un nome host valido se si desidera che l'indirizzo IP privato sia risolvibile utilizzando Internet e il resolver VCN.

Opzioni DHCP per DNS

Due opzioni DHCP sono correlate al DNS nella VCN:

  • Server dei nomi di dominio: per specificare la scelta per il tipo di DNS (Internet, VCN Resolver o Custom Resolver).

    • Valore predefinito nel set predefinito di opzioni DHCP: Resolver Internet e VCN
  • Dominio di ricerca: consente di specificare un singolo dominio di ricerca. Durante la risoluzione di una query DNS, il sistema operativo aggiunge questo dominio di ricerca al valore sottoposto a query. È possibile specificare un solo dominio di ricerca per il set di opzioni DHCP.

    • Valore predefinito nel set predefinito di opzioni DHCP: il nome di dominio VCN (<VCN-DNS-label>.oraclevcn.com), se durante la creazione è stata specificata un'etichetta DNS per la VCN, ma non è stato specificato un valore per il dominio di ricerca. Se è stato specificato un valore del dominio di ricerca, tale valore viene utilizzato per l'opzione Dominio di ricerca. Se non è stata specificata un'etichetta DNS, il set predefinito di opzioni DHCP non include un'opzione di dominio di ricerca.
Attenzione:

Si consiglia di utilizzare sempre il nome FQDN dell'istanza quando si inviano messaggi a un host in un'altra subnet/VCN e non si basa sul dominio di ricerca DNS.

Importante

In generale, quando qualsiasi set di opzioni DHCP viene creato inizialmente (il set predefinito o un set personalizzato creato dall'utente), il servizio di networking aggiunge automaticamente l'opzione Dominio di ricerca e lo imposta sul nome di dominio VCN ( <VCN-DNS-label>.oraclevcn.com) se vengono soddisfatte tutte le condizioni:

  • La VCN dispone di un'etichetta DNS
  • Tipo DNS = Resolver Internet e VCN
  • Non è stato specificato un dominio di ricerca durante la creazione del set di opzioni DHCP

Dopo aver creato il set di opzioni DHCP, puoi sempre rimuovere l'opzione Cerca dominio o impostarla su un valore diverso.

Come abilitare i nomi host DNS in una VCN

Solo le nuove VCN create dopo il rilascio della funzione Resolver di Internet e VCN dispongono dell'accesso automatico ad esse. La procedura per abilitare i nomi host DNS per una nuova VCN dipende dall'interfaccia in uso.

Se si crea una VCN e una subnet con la console
  1. Quando si crea la VCN:
    • Selezionare Usa nomi host DNS in questa VCN
    • Specificare un'etichetta DNS per la VCN. Se si seleziona questa opzione ma non si specifica un'etichetta DNS, la console presume di voler utilizzare Internet e il resolver VCN nella VCN e genera automaticamente un'etichetta DNS per la VCN. La console prende il nome della VCN fornito, rimuove i caratteri non alfanumerici, garantisce che il primo carattere sia una lettera e tronca l'etichetta a 15 caratteri. Il risultato viene visualizzato nella console e, se non piace, è possibile immettere un altro valore nel campo Etichetta DNS. Vedere Informazioni sui domini DNS e sui nomi host.
  2. Quando si creano le subnet:
    • Selezionare nuovamente Usa nomi host DNS in questa subnet
    • Specificare un'etichetta DNS per ogni subnet. Se si seleziona la casella di controllo ma non si specifica l'etichetta DNS per una subnet specifica, la console presume che si desideri utilizzare il resolver Internet e VCN per la subnet e genera automaticamente un'etichetta DNS per la subnet. La console prende il nome della subnet fornito, rimuove i caratteri non alfanumerici, garantisce che il primo carattere sia una lettera e tronca l'etichetta a 15 caratteri. Il risultato viene visualizzato nella console. Se non piace, è invece possibile immettere un valore personalizzato nel campo Etichetta DNS. Vedere Informazioni sui domini DNS e sui nomi host.
      Nota

      Le etichette DNS della subnet possono essere impostate solo se la VCN stessa viene creata con un'etichetta DNS.
    • Associare qualsiasi set di opzioni DHCP con tipo DNS = Internet e resolver VCN. Per impostazione predefinita, il set predefinito di opzioni DHCP nella VCN utilizza il resolver Internet e VCN.
  3. Durante la creazione delle istanze di computazione:
    • Selezionare l'opzione per assegnare un record DNS privato.
    • Specificare un nome host (o almeno un nome visualizzato) per ogni istanza. Per ulteriori informazioni, vedere Informazioni sui domini DNS e sui nomi host.

Se non si seleziona Usa nomi host DNS in questa VCN durante la creazione della VCN, non è possibile impostare l'etichetta DNS per la VCN o le subnet e non è possibile specificare un nome host durante la creazione dell'istanza di computazione.

Nota

La procedura precedente presuppone che l'utente crei la VCN e le subnet una alla volta nella console. La console dispone di una funzione che crea automaticamente una VCN con subnet e un gateway Internet contemporaneamente. Se si utilizza tale funzione per creare la VCN e le subnet, la console genera automaticamente le etichette DNS.

Se crei una VCN e subnet con l'API
  1. Quando si crea la VCN:

    • Specificare un'etichetta DNS per la VCN. Vedere Informazioni sui domini DNS e sui nomi host. Se non si imposta un valore (se nullo), Oracle presume di non voler utilizzare Internet e il resolver VCN, anche se le opzioni DHCP dispongono di DhcpDnsOption serverType = VcnLocalPlusInternet.
  2. Quando si creano le subnet:

    • Specificare un'etichetta DNS per ogni subnet. Vedere Informazioni sui domini DNS e sui nomi host. Se hai specificato un'etichetta DNS per la VCN, ma non specifichi un'etichetta DNS per la subnet, Oracle presuppone che non desideri che le istanze nella subnet utilizzino Internet e il resolver VCN e che la possibilità di utilizzare i nomi host per comunicare con le istanze nella VCN non sia più disponibile.
      Nota

      Le etichette DNS della subnet possono essere impostate solo se la VCN stessa è stata creata con un'etichetta DNS.
    • Associare qualsiasi set di opzioni DHCP con DhcpDnsOptionserverType = VcnLocalPlusInternet, che è l'opzione DHCP predefinita nella VCN.
  3. Durante la creazione delle istanze:

Se non si specifica un'etichetta DNS durante la creazione della VCN, non è possibile effettuare le operazioni riportate di seguito.

  • Impostare l'etichetta DNS per le subnet (a causa dell'errore della chiamata CreateSubnet)
  • Specificare un nome host durante la creazione dell'istanza di computazione (la chiamata LaunchInstance non riesce)
  • Assegnare un nome host a una VNIC secondaria o a un IP privato secondario

Scenario 1: utilizzare il resolver Internet e VCN con i nomi host DNS nella VCN

Lo scenario tipico è abilitare il resolver Internet e VCN su un'intera VCN, in modo che tutte le istanze nella VCN possano comunicare tra loro senza conoscere i propri indirizzi IP. A tale scopo, seguire le istruzioni riportate in Informazioni sui domini DNS e sui nomi host e assegnare un'etichetta DNS alla VCN e a ogni subnet. Quindi assegnare a ogni istanza un nome host (o almeno un nome visualizzato) al momento della creazione. Se si aggiunge una VNIC secondaria o un IP privato secondario, assegnargli anche un nome host. Le istanze possono quindi comunicare tra loro utilizzando i nomi FQDN anziché gli indirizzi IP.

Scenario 2: utilizzare un resolver DNS privato per risolvere i nomi host DNS

Puoi utilizzare un resolver DNS privato per rispondere alle query DNS per una VCN utilizzando una configurazione creata. Il resolver ascolta 169.254.169.254 per impostazione predefinita, ma è anche possibile definire gli endpoint per l'ascolto delle query e l'inoltro ad altri resolver in altre reti VCN, nella rete on premise di un cliente o in un'altra rete privata. Per ulteriori informazioni, vedere Risolutori DNS privati.

Scenario 3: utilizzo di diverse opzioni DHCP per subnet

Lo scenario 1 presuppone che si desideri utilizzare Internet e il resolver VCN allo stesso modo in tutte le subnet e quindi in tutte le istanze della VCN. È tuttavia possibile configurare impostazioni DNS diverse per ogni sottorete, in quanto le opzioni DHCP sono configurate a livello di sottorete. La cosa importante da capire è: la subnet in cui si desidera generare la query DNS è dove è necessario configurare le impostazioni Internet e VCN Resolver corrispondenti.

Ad esempio, se desideri che l'istanza A nella subnet A risolva il nome host dell'istanza B nella subnet B, devi configurare la subnet A in modo che utilizzi Internet e il resolver VCN. Al contrario, se desideri che l'istanza B risolva il nome host dell'istanza A, devi configurare la subnet B in modo che utilizzi Internet e il resolver VCN.

È possibile configurare un diverso set di opzioni DHCP per ogni sottorete. Ad esempio, è possibile impostare il dominio di ricerca della subnet A su subneta.vcn1.oraclevcn.com, il che significa che tutte le istanze della subnet A potrebbero utilizzare solo i nomi host per comunicare tra loro. In modo simile, è possibile impostare il dominio di ricerca della subnet B su subnetb.vcn1.oraclevcn.com per consentire alle istanze della subnet B di comunicare tra loro solo con i nomi host.