DNS-Zone von einem anderen Dienst übertragen
Hast du bei deinem aktuellen Webhosting-Dienst deine DNS-Zone exportiert und möchtest diese nun bei cyon importieren? Damit der Import klappt, gilt es im Voraus die Daten in die von unserem System verlangte Form zu bringen. Im Abschnitt «Format der DNS-Einträge» beschreiben wir im Detail, welche Syntax für die einzelnen DNS-Records verlangt wird.
Vorbereitung für den Import
Nicht jeder Dienst nutzt für den Export dasselbe Datei-Format und dieselbe Syntax. Deshalb gilt es, die exportierte Datei zuerst in das korrekt Format zu bringen. Die Import-Funktion im my.cyon verlangt eine JSON-Datei. Wir beschreiben anhand eines Beispiels, wie du eine einfache Text-Datei in das für den Import notwendige Format bringen kannst.
- 1
- In unserem Beispiel haben wir die Datei
zone_oliverorange.txt
, welche die DNS-Informationen unserer Domainoliverorange.ch
enthält. Öffne deine Datei mit dem Textverarbeitungsprogramm deines Geräts oder dem Text-Editor deiner Wahl. Wir nutzen «TextEdit» von macOS. Unter Windows kannst du «Editor» nutzen. - 2
-
Der Inhalt in unserem Beispiel beginnt mit folgenden Zeilen:
; Zone file for oliverorange.ch ; $TTL 14400 oliverorange.ch. 14400 IN SOA ns1.cyon.ch. server.cyon.ch. 2024062401 14400 1800 1209600 3600 ; ; Zone NS Records ; oliverorange.ch. 86400 IN NS ns1.cyon.ch. oliverorange.ch. 86400 IN NS ns2.cyon.ch. ; ; basic services ; oliverorange.ch. 14400 IN A 149.126.4.12 www 14400 IN CNAME oliverorange.ch.
Die Zeilen, welche mit dem Semikolon beginnen, wie
; Zone file for oliverorange.ch
, sind Kommentare. Zur besseren Übersicht entfernen wir alle Kommentare und Zeilen, welche keine DNS-Einträge sind. Die Daten sehen nun schon deutlich übersichtlicher aus:oliverorange.ch. 14400 IN SOA ns1.cyon.ch. server.cyon.ch. 2024062401 14400 1800 1209600 3600 oliverorange.ch. 86400 IN NS ns1.cyon.ch. oliverorange.ch. 86400 IN NS ns2.cyon.ch. oliverorange.ch. 14400 IN A 149.126.4.12 www 14400 IN CNAME oliverorange.ch.
- 3
-
Manchmal wird bei DNS-Records die Domain nicht erwähnt oder lediglich als
@
dargestellt. So auch in unserem Beispiel, wo Subdomains ohne die eigentliche Domain danach dargestellt werden:www 14400 IN CNAME oliverorange.ch.
Hier ergänzen wir als Vorbereitung die Domain mit einem Punkt getrennt, so dass der Eintrag danach wie folgt aussieht:
www.oliverorange.ch. 14400 IN CNAME oliverorange.ch.
- 4
-
Nun müssen die verbleibenden DNS-Einträge in das korrekte Format gebracht werden. Wir zeigen hier das Vorgehen anhand des Haupt-A-Records deiner Domain. Dieser sieht in unserer Beispielsdatei wie folgt aus:
oliverorange.ch. 14400 IN A 149.126.4.12
Dieser Eintrag kann in folgende Teile aufgeteilt werden:
- Name:
oliverorange.ch.
- TTL:
14400
- Klasse:
IN
(Der Wert steht für «Internet» und gilt für alle DNS-Einträge. Weitere Infos dazu findest du auf Wikipedia) - Typ:
A
- Wert:
149.126.4.12
Diese Angaben müssen nun in folgendes Format gebracht werden:
{ "comments": [], "name": "oliverorange.ch.", "records": [ { "content": "149.126.4.12", "disabled": false } ], "ttl": 14400, "type": "A" }
Folgende Felder entsprechen also den oben erwähnten Angaben:
comment
: kann leer gelassen werdenname
: entspricht dem Feld «Name»content
: entspricht dem Feld «Wert»disabled
: schreibe dort jeweilsfalse
reinttl
: entspricht dem Feld «TTL»type
entspricht dem Feld «Typ»
Ist soweit alles klar, gilt es nun, den Inhalt entsprechend umzuschreiben.
- Name:
- 5
-
Erstelle dazu eine neue Datei in deinem Text-Editor und speichere diese mit der Dateiendung
.json
. Wir benennen diese in unserem Beispielzone_oliverorange.ch.json
. Damit diese als gültige JSON-Datei erkannt wird, beginne mit[
und]
.[ ]
- 6
-
Nun kopiere folgende Basisstruktur eines leeren DNS-Eintrags und füge diese zwischen den eckigen Klammern ein:
{ "comments": [], "name": "", "records": [ { "content": "", "disabled": false } ], "ttl": 14400, "type": "" },
Füge diese Zeile so oft nacheinander ein, wie du DNS-Einträge in deiner DNS-Zone hast. Beim letzten Eintrag entferne das Komma nach der geschweiften Klammer. Es sollte nun ungefähr so aussehen:
[ { "comments": [], "name": "", "records": [ { "content": "", "disabled": false } ], "ttl": 14400, "type": "" }, { "comments": [], "name": "", "records": [ { "content": "", "disabled": false } ], "ttl": 14400, "type": "" } ]
- 7
-
Fülle nun die noch leeren Felder mit den Inhalten aus deiner Datei aus und speichere diese. In unserem Beispiel sieht dies danach wie folgt aus:
[ { "comments": [], "name": "oliverorange.ch.", "records": [ { "content": "149.126.4.12", "disabled": false } ], "ttl": 14400, "type": "A" }, ... weitere DNS-Einträge ... { "comments": [], "name": "www.oliverorange.ch.", "records": [ { "content": "oliverorange.ch.", "disabled": false } ], "ttl": 14400, "type": "CNAME" } ]
- 8
- Nun ist die Datei bereit für den Import. Folge dazu unserer Anleitung «DNS-Zone importieren».
Format der DNS-Einträge
Folgend eine Liste aller von cyon unterstützten DNS-Einträge und wie diese in der JSON-Datei dargestellt werden, wobei wir die Daten aus den Beispielen im Artikel «DNS-Records» verwenden.
A-Record
{ "comments": [], "name": "demo.oliverorange.ch.", "records": [ { "content": "149.126.4.12", "disabled": false } ], "ttl": 14400, "type": "A" },
AAAA-Record
{ "comments": [], "name": "ipv6.oliverorange.ch.", "records": [ { "content": "2001:0db8:0000:08d3:0000:8a2e:0070:7344", "disabled": false } ], "ttl": 14400, "type": "AAAA" },
CNAME-Record
Die Eingabe der Domain wird stets mit einem Punkt abgeschlossen, wie das im Feld «Name» der Fall ist.
{ "comments": [], "name": "chantal.oliverorange.ch.", "records": [ { "content": "chantalcherry.ch.", "disabled": false } ], "ttl": 14400, "type": "CNAME" },
MX-Record
Beim MX-Record wird im Feld content
zuerst die Priorität und danach der Wert mit einem Leerzeichen getrennt eingetragen. Die Eingabe der Domain wird stets mit einem Punkt abgeschlossen, wie das im Feld «Name» der Fall ist.
{ "comments": [], "name": "oliverorange.ch.", "records": [ { "content": "0 oliverorange.ch.", "disabled": false } ], "ttl": 14400, "type": "MX" },
TXT-Record
Beachte dass der Wert eines TXT-Records immer in Anführungszeichen steht, welche mit einem Backslash \"
escaped werden sollen.
{ "comments": [], "name": "oliverorange.ch.", "records": [ { "content": "\"v=spf1 +a +mx +ip4:194.126.200.0/24 +ip4:149.126.0.0/21 -all\"", "disabled": false } ], "ttl": 14400, "type": "TXT" },
SRV-Record
Bei SRV-Records werden im Feld content
die Werte «Priorität», «Gewichtung», «Port» und «Wert» mit einem Leerzeichen getrennt aufgeführt. Die Eingabe der Domain wird stets mit einem Punkt abgeschlossen, wie das im Feld «Name» der Fall ist.
{ "comments": [], "name": "_autodiscover._tcp.oliverorange.ch.", "records": [ { "content": "0 0 443 maildiscovery.cyon.ch.", "disabled": false } ], "ttl": 14400, "type": "SRV" },
CAA-Record
Was ist ein CAA-Record?
Beim CAA-Record werden im Feld content
die Werte «Flag», «Tag» und «Wert» mit einem Leerzeichen getrennt aufgeführt. Beachte dass der Wert in Anführungszeichen steht, welche mit einem Backslash \"
escaped werden sollen.
{ "comments": [], "name": "oliverorange.ch.", "records": [ { "content": "0 issue \"letsencrypt.org\"", "disabled": false } ], "ttl": 14400, "type": "CAA" },
NS-Record
Die Eingabe der Domain im Feld «Wert» wird mit einem Punkt abgeschlossen, wie das im Feld «Name» der Fall ist.
{ "comments": [], "name": "subdomain.oliverorange.ch.", "records": [ { "content": "ns1.extern.tld.", "disabled": false } ], "ttl": 86400, "type": "NS" },
SOA-Record
Der SOA-Record wird durch unser System erstellt und verwaltet. Befindet sich ein solcher Eintrag im Zonenfile, welches du bei einem anderen Dienst exportiert hast, empfehlen wir, diesen Eintrag vor dem Import zu entfernen. Hast du die DNS-Zone hingegen über dein my.cyon exportiert, ist der SOA-Eintrag korrekt vorhanden und kann auch so belassen werden.
Bei SOA-Records werden im Feld content
die Werte «Mname», «Rname», «Serial», «Refresh», «Retry», «Expire» und «Minimum» mit einem Leerzeichen getrennt aufgeführt.
{ "comments": [], "name": "oliverorange.ch.", "records": [ { "content": "ns1.cyon.ch. server.cyon.ch. 2024062401 14400 1800 1209600 3600", "disabled": false } ], "ttl": 14400, "type": "SOA" },
- Kategorien
- DNS