DNS-Zonendatei formatieren

Eine DNS-Zonendatei (Domain Name Service) ist eine Textdatei, die eine DNS-Zone beschreibt. Das BIND-Dateiformat ist das branchenweit bevorzugte Zonendateiformat und hat sich mittlerweile in DNS-Serversoftware etabliert.

Das Format wird in RFC 1035 definiert.

Beschränkungen und Überlegungen zu Zonendateien

Servicelimits

Der Oracle Cloud Infrastructure DNS-Service ist auf 1.000 Zonen pro Account und 25.000 Datensätze pro Zone begrenzt. Kunden, die Zonen- und Datensatzgrößen oberhalb dieser Werte benötigen, wird empfohlen, sich unter support.oracle.com an den Support zu wenden.

Beschränkungen für Zonendateien

Zonendateiuploads sind auf eine Größe von 1 MB pro Zonendatei beschränkt.

Um diese Beschränkung zu umgehen, erstellen Sie zunächst mit dem API-Vorgang console oder CreateZone eine Zone. Verwenden Sie dann den API-Vorgang PatchDomainRecords, um der Zone Datensätze in Batches von 100 hinzuzufügen.

Beschränkungen für Importe und Exporte

Das Exportieren von Zonendateien, die ALIAS-Datensatztypen enthalten oder Trafficmanagement (TM) verwenden, wird nicht unterstützt. Dies liegt daran, dass Zonendateien als RFC-Standarddatensätze exportiert werden, ALIAS-Datensätze und TM jedoch keine Standarddatensatztypen sind. Mit dem API-Vorgang GetZoneRecords können Sie ein Backup von benutzerdefinierten Datensätzen abrufen. Verwenden Sie den Parameter limit, um Batches von jeweils 100 Datensätzen zu erstellen.

Das Importieren und Exportieren für globale Zonen wird sowohl in der Konsole als auch in der API unterstützt, mit Ausnahme von ALIAS- und TM-Datensätzen.

Bei privaten Zonen wird der Import mit dem API-Vorgang CreateZone unterstützt. Zonenexport wird nicht unterstützt.

Beispiel für eine Zonendatei

Dies ist ein Beispiel für eine von Oracle Cloud Infrastructure DNS heruntergeladene Zone.

$ORIGIN example.com.
			@                    3600 SOA   ns1.p30.oraclecloud.net. (
			zone-admin.dyndns.com.     ; address of responsible party
			2016072701                 ; serial number
			3600                       ; refresh period
			600                        ; retry period
			604800                     ; expire time
			1800                     ) ; minimum ttl
			86400 NS    ns1.p68.dns.oraclecloud.net.
			86400 NS    ns2.p68.dns.oraclecloud.net.
			86400 NS    ns3.p68.dns.oraclecloud.net.
			86400 NS    ns4.p68.dns.oraclecloud.net.
			3600 MX    10 mail.example.com.
			3600 MX    20 vpn.example.com.
			3600 MX    30 mail.example.com.
			60 A     204.13.248.106
			3600 TXT   "v=spf1 includespf.oraclecloud.net ~all"
			mail                  14400 A     204.13.248.106
			vpn                      60 A     216.146.45.240
			webapp                   60 A     216.146.46.10
			webapp                   60 A     216.146.46.11
		www                   43200 CNAME example.com.
Hinweis

Datensatzklassen

In der vorherigen Beispielzonendatei werden keine Datensatzklassen angezeigt. OCI DNS arbeitet nur mit Internet-(IN-)Klassendateien, lässt aber aus Effizienzgründen die Klasseninformationen IN Zonendateien weg.

Anatomie einer Zonendatei

$ORIGIN gibt einen DNS-Knotenbaum an und startet normalerweise eine DNS-Zonendatei. Alle Hostlabels, die auf den Ursprung folgen, hängen den Ursprungshostnamen an, um einen vollqualifizierten Hostnamen zu assemblieren. Jedes Hostlabel in einem Datensatz, das einen vollqualifizierten Domainnamen verwendet, der mit einem Punkt endet, fügt den Ursprungshostnamen nicht an.

Beispiel: Bei ORIGIN example.com. wird an jeden Datensatz, bei dem auf das Hostlabelfeld kein Punkt folgt, example.com. angehängt.

Das Symbol "@" ist ein spezielles Label, das angibt, dass $ORIGIN das Symbol "@" ersetzen muss. Dies wird normalerweise für den Apex einer Zone verwendet.

SOA-Datensatz - Auf $ORIGIN folgt der Start of Authority-(SOA-)Datensatz der Zone. Für jede Zone ist ein SOA-Datensatz erforderlich. Er enthält den Namen der Zone, die E-Mail-Adresse der für die Verwaltung der Zonendatei der Domain verantwortlichen Partei, die aktuelle Seriennummer der Zone, den primären Name Server der Zone und verschiedene Timingelemente (in Sekunden gemessen).

SOA-Datensatzformat

@     IN     SOA    {primary-name-server}     {hostmaster-email} (
				{serial-number}
				{time-to-refresh}
				{time-to-retry}
				{time-to-expire}
			{minimum-TTL-for-negative-cache} )
  • Primärer Name Server - Der Name Server, der die ursprüngliche Zonendatei und keine mit AXFR übertragene Kopie enthält.
  • Hostmaster-E-Mail - Adresse der Partei, die für die Zone verantwortlich ist. Ein Punkt (".") wird anstelle eines "@"-Symbols verwendet. Bei E-Mail-Adressen, die Punkte enthalten, ersetzen Sie die Punkte durch einen Bindestrich ("/").
  • Seriennummer - Versionsnummer der Zone. Die Seriennummer erhöht sich mit jedem folgenden Update der Zone.
  • Zeit bis zur Aktualisierung - Gibt an, wie lange ein Name Server wartet, bevor geprüft wird, ob eine Seriennummer innerhalb der primären Zonendatei erhöht wird (in Sekunden). Eine höhere Seriennummer, die von einem sekundären DNS-Nameerver ermittelt wird, bedeutet, dass zur Synchronisierung der Datensätze eine Übertragung erforderlich ist. Gilt nur für Zonen, die Secondary DNS verwenden.
  • Wiederholungszeit – Gibt an, wie lange ein Name Server wartet, bevor erneut versucht wird, eine Zone nach einem nicht erfolgreichen Versuch zu aktualisieren (in Sekunden). Gilt nur für Zonen, die Secondary DNS verwenden.
  • Zeit bis zum Ablauf - Gibt an, wie lange ein Name Server wartet, bevor Daten von einer sekundären Zone als ungültig betrachtet und Abfragen für diese Zone nicht beantwortet werden (Sekunden). Gilt nur für Zonen, die Secondary DNS verwenden.
  • Minimale TTL - Minimale Gültigkeitsdauer (TTL). Gibt an, wie lange ein Name Server oder Resolver eine negative Antwort cacht (in Sekunden).

Anatomie eines Datensatzes innerhalb einer Zonendatei

Eine Zonendatei ist eine Sammlung von Resource Records. Jeder Datensatzeintrag wird in der folgenden Sequenz beschrieben:

Format: Hostlabel TTL Datensatzklasse Datensatztyp Datensatzdaten
Beispiel: example.com. 60 IN A 104.255.228.125
  • Hostlabel - Mit einem Hostlabel kann der Hostname eines Datensatzes definiert werden. Außerdem kann angegeben werden, ob der $ORIGIN-Hostname an das Label angehängt wird. Vollqualifizierte Hostnamen, die mit einem Punkt enden, hängen den Ursprung nicht an.
  • TTL - Die Gültigkeitsdauer (TTL) entspricht der Zeit, während der ein DNS-Datensatz von einem externen DNS-Server oder -Resolver zwischengespeichert wird (in Sekunden).
  • Datensatzklasse - Es sind drei Klassen von DNS-Datensätzen vorhanden: IN (Internet), CH (Chaosnet) und HS (Hesiod). Oracle Cloud Infrastructure DNS verwendet nur die IN-Datensatzklasse.
  • Datensatztyp - Der Typ eines Datensatzes, z.B. CNAME, AAAA oder TXT.
  • Datensatzdaten - Die Daten innerhalb einer DNS-Antwort, wie eine IP-Adresse, ein Hostname oder andere Informationen. Verschiedene Datensatztypen enthalten verschiedene Typen von Datensatzdaten.

Aus GoDaddy exportierte Zonendateien für den Import ändern

GoDaddy.com exportiert Zonendateien in ein proprietäres Format. Damit der OCI-DNS-Service eine aus GoDaddy exportierte Zonendatei korrekt importieren kann, müssen Sie die Datei direkt ändern. Folgen Sie diesen Anweisungen, um die Zonendatei zu aktualisieren.

  1. Exportieren Sie die Zonendatei aus GoDaddy. Lesen Sie die Dokumentation von GoDaddy, um zu sehen, wie dies geschieht.
  2. Öffnen Sie die Datei in einem beliebigen bevorzugten Texteditor.
  3. Stellen Sie der Datei vor dem SOA-Datensatz eine neue Zeile mit den folgenden Informationen voran, einschließlich des nachgestellten Punktes: $ORIGIN [yourdomain].
  4. Nachdem die Datei geändert wurde, speichern Sie die Änderungen an der Datei, und verwenden Sie die Zonenimportfunktion, um die Datei in die DNS-Konfiguration zu importieren. Weitere Informationen zum Zonenimport finden Sie unter DNS-Zonen verwalten.
Hinweis

Wenn die Zonendatei dynamische A-Datensätze enthält, wie @ 600 IN A GoCentral Published Site, müssen Sie diese Datensätze mit den korrekten IP-Adressen der Website ändern. Informationen darüber, wie Sie diese Informationen beziehen können, finden Sie unter GoDaddy. Beispiel:@ 600 IN A 192.0.2.255

Beispiel:

Dies ist ein Beispiel für eine von GoDaddy exportierte Zonendatei. Der fett formatierte Code ist der Code, der aus der Datei entfernt werden muss, damit er in Oracle Cloud Infrastructure DNS importiert werden kann.

Tipp

Das Setzen eines Semikolons am Anfang einer Zeile ist eine gültige Kommentarsyntax für eine Zonendatei gemäß RFC 1035. Zur einfacheren Verwendung und Formatierung wird jedoch empfohlen, den großen Abschnitt mit Kommentaren am Anfang der von GoDaddy bereitgestellten Zonendatei zu entfernen, wie dargestellt.
Domain: example.com
; Exported (y-m-d hh:mm:ss): 2019-01-10 13:05:04
;
; This file is intended for use for informational and archival
; purposes ONLY and MUST be edited before use on a production
; DNS server.
;
; In particular, you must update the SOA record with the correct
; authoritative name server and contact e-mail address information,
; and add the correct NS records for the name servers which will
; be authoritative for this domain.
;
; For further information, please consult the BIND documentation
; located on the following website:
;
; http://www.isc.org/
;
; And RFC 1035:
;
; http://www.ietf.org/rfc/rfc1035.txt
;
; Please note that we do NOT offer technical support for any use
; of this zone data, the BIND name server, or any other third-
; party DNS software.
;
; Use at your own risk.
; SOA Record
example.com.        3600     IN     SOA ns41.domaincontrol.com. dns.net. (
                    2018122702
                    28800
                    7200
                    604800
                    3600
                    ) 
; A Records
@   600  IN     A   192.0.2.249
blog    10800    IN     A   192.0.2.255
dev 1800     IN     A   192.0.2.254
dev01   1800     IN     A   192.0.2.253
dev02   1800     IN     A   192.0.2.252
dev03   1800     IN     A   192.0.2.251
dev04   1800     IN     A   192.0.2.250
; CNAME Records
abc123b432dc7785b7ef31f04f25c3e71    1800     IN     CNAME   verify.bing.com.
akamai  600  IN     CNAME   www.example.com.edgekey.net.
email   3600     IN     CNAME   email.secureserver.net.
; MX Records
@   604800   IN     MX  10  amlxe.l.google.com.
@   604800   IN     MX  10  aplxe.l.google.com.
; TXT Records
@   3600     IN     TXT "google-site-verification=3J82-80dbMyCo5Q5C1G11JszeOnZPGCSYlHcPcXg"
@   3600     IN     TXT "google-site-verification=eS_QPYLE_W4nduSrlN-cddxG7ZqOnB743xsbX918"

Das folgende Beispiel zeigt eine geänderte Zonendatei, die in OCI DNS importiert werden kann. Vor dem Import muss der fett formatierte Code der Zonendatei vorangestellt werden.

$ORIGIN example.com.
example.com.	     3600     IN     SOA ns41.domaincontrol.com. dns.net. (
                    2018122702
                    28800
                    7200
                    604800
                    3600
		     )
					
; A Records
@   600  IN     A   192.0.2.249
blog    10800    IN     A   192.0.2.255
dev 1800     IN     A   192.0.2.254
dev01   1800     IN     A   192.0.2.253
dev02   1800     IN     A   192.0.2.252
dev03   1800     IN     A   192.0.2.251
dev04   1800     IN     A   192.0.2.250abc123b432dc7785b7ef31f04f25c3e71    1800     IN     CNAME   verify.bing.com.
; CNAME Records
akamai  600  IN     CNAME   www.example.edgekey.net.
email   3600     IN     CNAME   email.secureserver.net.
; MX Records
@   604800   IN     MX  10  amlxe.l.google.com.
@   604800   IN     MX  10  aplxe.l.google.com.
; TXT Records
@   3600     IN     TXT "google-site-verification=3J82-80dbMyCo5Q5C1GM8os1VYVEOnZPGCSYlHcPcXg"
@   3600     IN     TXT "google-site-verification=eS_QPYLE_W4nduSrlN-cddxG7ZqOnB7k7uIG7qrsyu8"