DNS in einem virtuellen Cloud-Netzwerk

Mit dem Domain Name System (DNS) können Rechner Hostnamen anstelle von IP-Adressen verwenden, um miteinander zu kommunizieren. Dieses Feature ist auf Traffic innerhalb eines virtuellen Cloud-Netzwerks (VCN) begrenzt. Informationen zur Verwendung von DNS mit Internettraffic finden Sie unter DNS und Trafficmanagement

Auswahlmöglichkeiten für DNS in einem VCN

Im Folgenden werden die Optionen zur Auflösung des DNS-Namens für die Instanzen in einem VCN aufgeführt. Sie treffen diese Auswahl für jedes Subnetz im VCN, indem Sie das Set von DHCP-Optionen des Subnetzes verwenden. Dieser Prozess ist ähnlich wie bei der Konfiguration der Routentabelle und Sicherheitslisten, die mit jedem Subnetz verknüpft sind. Weitere Informationen finden Sie unter DHCP-Optionen.

Hinweis

Mit der DHCP-Option für den Domain Name Server geben Sie den DNS-Typ für das verknüpfte Subnetz an. Wenn Sie den Wert der Option ändern, starten Sie entweder den DHCP-Client auf der Instanz neu oder starten die Instanz neu. Andernfalls wird die Änderung erst übernommen, wenn der DHCP-Client die Leasing-Zeit aktualisiert (innerhalb 24 Stunden).

STANDARDAUSWAHL: INTERNET- UND VCN-RESOLVER
Dies ist eine von Oracle bereitgestellte Option, die aus zwei Teilen besteht:
  • Internet-Resolver: Hier können Instanzen Hostnamen auflösen, die öffentlich im Internet veröffentlicht sind. Die Instanzen müssen keinen Internetzugriff über ein Internetgateway oder eine Verbindung zu einem On-Premise-Netzwerk (wie eine Site-to-Site-VPN-Verbindung IPSec über ein DRG ) haben.
  • VCN-Resolver: Ermöglicht Instanzen das Auflösen von (von Ihnen zuweisbaren) Hostnamen anderer Instanzen in demselben VCN. Weitere Informationen finden Sie unter Infos zu DNS-Domains und -Hostnamen.
Standardmäßig verwenden neue VCNs, die Sie erstellen, den Internet- und VCN-Resolver. Wenn Sie die Netzwerk-API verwenden, bezieht sich diese Auswahl auf die VcnLocalPlusInternet-Aufzählung im DhcpDnsOption-Objekt.
Hinweis

Im Internet- und VCN-Resolver können Instanzen standardmäßig nicht die Hostnamen von Hosts in einem On-Premise-Netzwerk auflösen, das über Site-to-Site-VPN oder FastConnect mit einem VCN verbunden ist Diese Funktionalität kann entweder mit einem benutzerdefinierten Resolver oder durch Konfigurieren des privaten DNS-Resolvers des VCN erreicht werden.

BENUTZERDEFINIERTER RESOLVER
Verwenden Sie DNS-Server zur Auflösung (maximal drei). Dabei könnte es sich um DNS-Server handeln, die:
  • Über das Internet verfügbar sind. Beispiel: 216.146.35.35 für Dyn's Internet Guide.
  • Im VCN.
  • in einem On-Premise-Netzwerk, das über ein Site-to-Site-VPN oder FastConnect (über ein DRG ) mit dem VCN verbunden ist.

DNS-Domains und -Hostnamen

Wenn Sie anfänglich ein VCN und Subnetze erstellen, können Sie dafür jeweils DNS-Labels angeben. Subnetz-DNS-Labels können nur festgelegt werden, wenn das VCN selbst mit einem DNS-Label erstellt wird. Die Labels zusammen mit der übergeordneten Domain oraclevcn.com bilden den VCN-Domainnamen und den Subnetzdomainnamen:

  • VCN-Domainname: <VCN-DNS-label>.oraclevcn.com
  • Subnetzdomainname: <subnet-DNS-label>.<VCN-DNS-label>.oraclevcn.com

Wenn Sie dann eine Compute-Instanz erstellen, können Sie der VNIC einen Hostnamen zuweisen, der automatisch beim Erstellen der Instanz erstellt wird (die primäre VNIC). Zusammen mit dem Domainnamen des Subnetzes bildet der Hostname den vollqualifizierten Domainnamen der Instanz (FQDN):

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

Beispiel: database1.privatesubnet1.abccorpvcn1.oraclevcn.com.

Der FQDN wird in die private IP-Adresse der Instanz aufgelöst. Der Internet- und VCN-Resolver führt auch einen Reverse-DNS-Lookup aus, mit dem Sie den Hostnamen finden können, der der privaten IP-Adresse entspricht.

Wenn Sie einer Instanz eine sekundäre VNIC hinzufügen, können Sie einen Hostnamen angeben. Der resultierende FQDN wurde in die private IP-Adresse der VNIC aufgelöst (auch die primäre private IP).

Wenn Sie einer VNIC eine sekundäre private IP hinzufügen, können Sie einen Hostnamen angeben. Der resultierende FQDN wird in diese private IP-Adresse aufgelöst.

Wichtig

Es wird empfohlen, dass Sie immer den Instanz-FQDN verwenden, wenn sie Nachrichten an einen Host senden, oder alternativ nur den Hostnamen für Nachrichten angeben, welche innerhalb eines VCN gesendet werden.

Anforderungen an DNS-Labels und -Hostnamen

  • VCN- und Subnetzlabels: Maximal 15 alphanumerische Zeichen und müssen mit einem Buchstaben beginnen. Beachten Sie, dass Bindestriche und Unterstriche nicht zulässig sind. Der Wert kann später nicht geändert werden.
  • Hostnamen: maximal 63 Zeichen, Buchstaben und Zahlen sind zulässig. Bindestriche sind zulässig. Beachten Sie, dass der Hostname keine Punkte enthält, nicht am Anfang oder Ende des Hostnamens Bindestriche enthalten sind und nicht nur aus Zahlen bestehen darf. Hostnamen müssen mit RFCs 952 und 1123 konform sein. Der Wert kann später geändert werden.
Wichtig

Der Networking-Service unterstützt Hostnamen mit bis zu 63 Zeichen. Einige ältere Betriebssysteme erzwingen jedoch kürzere Hostnamen. In Linux finden Sie die maximal zulässige Hostnamenlänge:

getconf HOST_NAME_MAX

Wenn eine Instanz einen Hostnamen aufweist, der länger als das BS-spezifische Maximum ist, kann der FQDN einer Instanz nicht innerhalb des VCN aufgelöst werden. Mit dem Networking-Service können Sie die VNIC aktualisieren und den Hostnamen auf einen kürzeren Wert ändern.

Eindeutigkeit:

  • VCN-DNS-Label muss über VCNs in einem Mandanten hinweg eindeutig sein (nicht erforderlich, aber Best Practice)
  • Subnetz-DNS-Labels müssen innerhalb des VCN eindeutig sein
  • Hostnamen müssen innerhalb des Subnetzes eindeutig sein
Tipp

Verwechseln sie das DNS-Label oder die Hostnamen nicht mit den benutzerfreundlichen Namen, den Sie das Objekt zuweisen können (auch dem Anzeigenamen), der nicht eindeutig sein muss.

Validierung und Generierung des Hostnamens

Wenn Sie für VCN und Subnetze DNS-Labels festlegen, validiert Oracle den Hostnamen bei der Erstellung der Compute-Instanz auf DNS-Compliance und Eindeutigkeit. Wenn eine dieser Anforderungen nicht erfüllt ist, verläuft die Erstellungsanforderung nicht erfolgreich.

Wenn Sie beim Erstellen der Instanz keinen Hostnamen angeben, versucht Oracle, den Anzeigenamen der Instanz als Hostnamen zu verwenden. Wenn die Validierung des Anzeigenamens nicht fehlschlägt, generiert Oracle automatisch einen DNS-konformen Hostnamen, der im Subnetz eindeutig ist. Der generierte Hostname wird auf der Seite der Instanz in der Konsole angezeigt. In der API ist der Hostname Teil des VNIC-Objekts.

Wenn Sie während der Instanzerstellung mit dem SDK oder der CLI keinen Hostnamen oder Anzeigenamen angeben, generiert Oracle keinen Anzeigenamen oder Hostnamen. Das heißt, die Instanz kann nicht mit dem Internet- und VCN-Resolver aufgelöst werden.

Wenn Sie beim Erstellen der Instanz mit der Konsole keinen Hostnamen oder Anzeigenamen angeben, generiert Oracle automatisch einen Anzeigenamen und einen entsprechenden DNS-Datensatz, sofern ein gültiges DNS-Label mit dem Subnetz verknüpft ist.

Hinweis

Der Linux-Betriebssystemhostname auf der Instanz wird automatisch auf den Hostnamen gesetzt, den Sie beim Erstellen der Instanz festgelegt (oder den von Oracle generierten Host). Wenn Sie den Hostnamen direkt in der Instanz ändern, wird der FQDN der Instanz nicht aktualisiert.

Wenn Sie eine sekundäre VNIC zu einer Instanz hinzufügen oder einer VNIC eine sekundäre private IP hinzufügen, versucht Oracle nie, einen Hostnamen zu generieren. Geben Sie einen gültigen Hostnamen an, wenn die private IP-Adresse mit dem Internet- und VCN-Resolver aufgelöst werden soll.

DHCP-Optionen für DNS

Zwei DHCP-Optionen beziehen sich auf das DNS im VCN:

  • Domain Name Server: Zur Angabe der Wahl für denDNS-Typ (Internet- und VCN-Resolver oder Benutzerdefinierter Resolver).

    • Standardwert in dem Standardset von DHCP-Optionen: Internet- und VCN-Resolver
  • Suchdomain: Zur Angabe einer einzelnen Suchdomain. Bei der Auflösung einer DNS-Abfrage hängt das Betriebssystem diese Suchdomain an den abgefragten Wert an. Sie können nur eine Suchdomain für das Set von DHCP-Optionen angeben.

    • Standardwert in dem Standardset von DHCP-Optionen: Der VCN-Domainname (<VCN-DNS-label>.oraclevcn.com), wenn Sie während die Erstellung ein DNS-Label für das VCN angegeben, aber kein Suchdomainwert angegeben hat. Wenn Sie einen Suchdomainwert angegeben haben, wird dieser Wert für die Suchdomainoption verwendet. Wenn Sie kein DNS-Label angegeben hat, enthält das Standardset von DHCP-Optionen die Option "Suchdomain".
Achtung

Es wird empfohlen, den Instanz-FQDN immer zu verwenden, wenn Nachrichten an einen Host in einem anderen Subnetz/VCN gesendet werden, und sich auf die DNS-Suchdomain nicht verlassen.

Wichtig

Im Allgemeinen fügt der Networking-Service beim ersten Erstellen von beliebigen Sets von DHCP-Optionen (Standardoptionen oder benutzerdefinierte Optionen), automatisch die Suchdomainoption hinzugefügt und setzt sie auf den VCN-Domainnamen ( <VCN-DNS-label>.oraclevcn.com), wenn alle Bedingungen zutreffen:

  • VCN verfügt über ein DNS-Label
  • DNS-Typ = Internet- und VCN-Resolver
  • Sie haben während der Erstellung des Sets von DHCP-Optionen keine Suchdomain angegeben

Nach dem Erstellen des Sets von DHCP-Optionen können Sie die Suchdomainoption jederzeit entfernen oder auf einen anderen Wert setzen.

DNS-Hostnamen in einem VCN aktivieren

Nur neue VCNs, die nach dem Release der Internet- und VCN-Resolver-Funktion erstellt wurden, haben automatischen Zugriff darauf. Wie Sie DNS-Hostnamen für ein neues VCN aktivieren, hängt davon ab, welche Schnittstelle Sie verwenden.

Wenn Sie ein VCN und Subnetze mit der Konsole erstellen
  1. Beim Erstellen des VCN:
    • Wählen Sie DNS-Hostnamen in diesem VCN verwenden aus.
    • Geben Sie ein DNS-Label für das VCN an. Wenn Sie diese Option auswählen, jedoch kein DNS-Label angeben, geht die Konsole davon aus, dass Sie den Internet- und VCN-Resolver im VCN verwenden und automatisch ein DNS-Label für das VCN generieren möchten. Die Konsole übernimmt den angegebenen VCN-Namen, entfernt nicht-alphanumerischen Zeichen, stellt sicher, dass das erste Zeichen ein Buchstabe ist, und kürzt das Label auf 15 Zeichen. Das Ergebnis wird in der Konsole angezeigt, und falls es Ihnen nicht gefallen hat, können Sie stattdessen einen anderen Wert in das Feld DNS-Label eingeben. Siehe Infos zu DNS-Domains und -Hostnamen.
  2. Beim Erstellen der Subnetze:
    • Wählen Sie erneut DNS-Hostnamen in diesem Subnetz verwenden aus.
    • Geben Sie ein DNS-Label für jedes Subnetz an. Wenn Sie das Kontrollkästchen aktivieren, jedoch kein DNS-Label für ein bestimmtes Subnetz angeben, geht die Konsole davon aus, das Internet- und VCN-Resolver für das Subnetz verwenden und automatisch ein DNS-Label für das Subnetz generiert werden soll. Die Konsole enthält den angegebenen Subnetznamen, entfernt nicht-alphanumerischen Zeichen, stellt sicher, dass das erste Zeichen ein Buchstabe ist, und kürzt das Label auf 15 Zeichen. Das Ergebnis wird in der Konsole angezeigt, und falls es Ihnen nicht gefallen hat, können Sie stattdessen einen benutzerdefinierten Wert in das Feld DNS-Label eingeben. Siehe Infos zu DNS-Domains und -Hostnamen.
      Hinweis

      Subnetz-DNS-Subnetz-Labels können nur festgelegt werden, wenn das VCN selbst mit einem DNS-Label erstellt wird.
    • Verknüpfen Sie alle Sets von DHCP-Optionen mit dem DNS-Typ "Internet-Resolver" und "VCN-Resolver". Das Standardset von DHCP-Optionen im VCN verwendet standardmäßig den Internet- und VCN-Resolver.
  3. Beim Erstellen von Compute-Instanzen:
    • Wählen Sie die Option zum Zuweisen eines privaten DNS-Datensatzes aus.
    • Geben Sie einen Hostnamen (oder zumindest einen Anzeigenamen) für jede Instanz an. Weitere Informationen finden Sie unter Infos zu DNS-Domains und -Hostnamen.

Wenn Sie bei der Erstellung des VCN die Option DNS-Hostnamen in diesem VCN verwenden nicht auswählen, können Sie das DNS-Label für das VCN oder das Subnetze nicht festlegen und während der Erstellung der Compute-Instanz keinen Hostnamen angeben.

Hinweis

Das vorherige Verfahren setzt voraus, dass Sie das VCN und die Subnetze einzeln in der Konsole erstellen. Die Konsole verfügt über ein Feature, mit dem ein VCN mit Subnetzen und ein Internetgateway gleichzeitig erstellt werden. Wenn Sie diese Funktion zum Erstellen von VCN und Subnetzen verwenden, generiert die Konsole automatisch DNS-Labels dafür.

Wenn Sie ein VCN und Subnetze mit der API erstellen
  1. Beim Erstellen des VCN:

    • Geben Sie ein DNS-Label für das VCN an. Siehe Infos zu DNS-Domains und -Hostnamen. Wenn Sie keinen Wert festlegen (NULL), geht Oracle davon aus, dass Sie den Internet- und VCN-Resolver nicht verwenden möchten, selbst wenn die DHCP-Optionen DhcpDnsOption serverType = VcnLocalPlusInternet enthalten.
  2. Beim Erstellen der Subnetze:

    • Geben Sie ein DNS-Label für jedes Subnetz an. Siehe Infos zu DNS-Domains und -Hostnamen. Wenn Sie ein DNS-Label für das VCN angegeben haben, jedoch kein DNS-Label für das Subnetz angeben, geht Oracle davon aus, dass der Internet- und VCN-Resolver nicht von den Instanzen im Subnetz verwendet werden sollen, und die Möglichkeit, Hostnamen zur Kommunikation mit Instanzen im VCN zu verwenden, ist nicht mehr verfügbar.
      Hinweis

      Subnetz-DNS-Subnetz-Labels können nur festgelegt werden, wenn das VCN selbst mit einem DNS-Label erstellt wurde.
    • Verknüpfen Sie alle Sets von DHCP-Optionen, die DhcpDnsOptionserverType = VcnLocalPlusInternet enthalten. Dies ist die Standard-DHCP-Option im VCN.
  3. Beim Erstellen von Instanzen:

    • Wählen Sie die Option zum Zuweisen eines privaten DNS-Datensatzes aus.
    • Geben Sie einen Hostnamen (oder zumindest einen Anzeigenamen) für jede Instanz an. Weitere Informationen finden Sie unter Infos zu DNS-Domains und -Hostnamen.

Wenn Sie beim Erstellen des VCN kein DNS-Label angeben, ist Folgendes nicht möglich:

  • DNS-Label für die Subnetze festlegen (wodurch der Aufruf CreateSubnet nicht erfolgreich verläuft)
  • Geben Sie während der Erstellung der Compute-Instanz einen Hostnamen an (da der Aufruf LaunchInstance nicht erfolgreich verläuft)
  • Einer sekundären VNIC oder einer sekundären privaten IP einen Hostnamen zuweisen

Szenario 1: Internet- und VCN-Resolver mit DNS-Hostnamen im ganzen VCN verwenden

Bei einem typischen Szenario wird der Internet- und VCN-Resolver für ein gesamtes VCN aktiviert. Dadurch werden alle Instanzen im VCN miteinander kommunizieren, ohne ihre IP-Adressen kennen zu müssen. Befolgen Sie dazu die Anweisungen unter Infos zu DNS-Domains und -Hostnamen, und weisen Sie dem VCN und jedem Subnetz ein DNS-Label zu. Weisen Sie anschließend jeder Instanz beim Erstellen einen Hostnamen (oder wenigstens einen Anzeigenamen) zu. Wenn Sie eine sekundäre VNIC oder eine sekundäre private IP hinzufügen, weisen Sie ihr auch einen Hostnamen zu. Die Instanzen können dann mit FQDNs anstatt mit IP-Adressen miteinander kommunizieren.

Szenario 2: Privaten DNS-Resolver zum Auflösen von DNS-Hostnamen verwenden

Mit einem privaten DNS-Resolver können Sie DNS-Abfragen für ein VCN mit einer von Ihnen erstellten Konfiguration beantworten. Der Resolver horcht standardmäßig auf 169.254.169.254. Sie haben jedoch die Möglichkeit, Endpunkte zu definieren, die auf Abfragen horchen und diese an andere Resolver in anderen VCNs, dem On-Premise-Netzwerk eines Kunden oder einem anderen privaten Netzwerk weiterleiten. Weitere Informationen finden Sie unter Private DNS-Resolver.

Szenario 3: Unterschiedliche DHCP-Optionen pro Subnetz verwenden

Bei Szenario 1 wird davon ausgegangen, dass Sie den Internet- und VCN-Resolver auf dieselbe Weise in allen Subnetzen und somit auf allen Instanzen im VCN verwenden möchten. Sie können jedoch unterschiedliche DNS-Einstellungen für jedes Subnetz konfigurieren, da die DHCP-Optionen auf Subnetzebene konfiguriert werden. Zu beachten ist nur, dass in dem Subnetz, in dem Sie die DNS-Abfrage generieren möchten, die entsprechenden Internet- und VCN-Resolver-Einstellungen konfiguriert werden müssen.

Wenn beispielsweise Instanz A in Subnetz A den Hostnamen von Instanz B in Subnetz B auflösen soll, müssen Sie Subnetz A für die Verwendung des Internet- und VCN-Resolvers konfigurieren. Wenn Sie umgekehrt möchten, dass der Hostname von Instanz A durch Instanz B aufgelöst wird, müssen Sie Subnetz B für die Verwendung des Internet- und VCN-Resolvers konfigurieren.

Sie können für jedes Subnetz andere Sets von DHCP-Optionen konfigurieren. Beispiel: Sie können die Suchdomain von Subnetz A auf subneta.vcn1.oraclevcn.com festlegen. Das bedeutet, dass alle Instanzen in Subnetz A nur über Hostnamen miteinander kommunizieren können. Ebenso können Sie die Suchdomain von Subnetz B auf subnetb.vcn1.oraclevcn.com setzen, damit die Instanzen von Subnetz B nur mit Hostnamen miteinander kommunizieren können.