Hinzufügen von benutzerdefinierten Records und TXT-Records mit einer Länge von über 255 Zeichen
Einführung
Abschnitt betitelt „Einführung“Diese Anleitung gibt Ihnen Einblicke in das Erstellen von benutzerdefinierten (custom) Resource- und TXT-Records, die die Maximallänge von 255 Bytes überschreiten. Darüber hinaus erhalten Sie einen Überblick zur Fehlerbehebung.
Ein benutzerdefinierter (custom) Record ermöglicht es Ihnen, jede Art von Ressource-Record zu erstellen (auch nicht implementierte Standard-Records), sowie nicht zugewiesene Records und Records für die private Nutzung.
TXT-Records mit einer Länge von mehr als 255 Bytes müssen aufgeteilt werden. Diese Anleitung hilft Ihnen bei der Implementierung dieser Records mit STACKIT DNS.
Einführung
Abschnitt betitelt „Einführung“Diese Anleitung gibt Ihnen einen Einblick in das Erstellen eines benutzerdefinierten Ressourceneintrags sowie erste Schritte zur Fehlerbehebung. Ein benutzerdefinierter Eintrag ermöglicht es Benutzern, jede Art von Ressourceneintrag zu erstellen – auch Standard-Einträge, die nicht implementiert sind, sowie nicht zugewiesene Einträge und Einträge für die private Nutzung.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Sie verfügen über eine STACKIT DNS-Zone: Verwalten von DNS-Zonen
Benutzerdefinierte Records
Abschnitt betitelt „Benutzerdefinierte Records“Durchführung
Abschnitt betitelt „Durchführung“-
Navigieren Sie zu Networks > DNS.
-
Klicken Sie auf die DNS-Zone, in der Sie einen Record erstellen möchten.
-
Wählen Sie den Menüpunkt Ressource-Records.
-
Klicken Sie auf Ressourceneintrag erstellen.
-
Wählen Sie unter Typ die Option
CUSTOMaus.Wählen Sie den Typ
CUSTOMaus:
Nach der Auswahl erscheint ein neues Feld. Dies liegt daran, dass Sie beim Ressource-Record-Typ
CUSTOMdie Typ-ID selbst angeben müssen:
-
Geben Sie eine Typ-ID und den Inhalt Ihres benutzerdefinierten Eintrags ein. Sie müssen eine offiziell zugewiesene ID aus dem IANA-Standard eingeben. Diese finden Sie in dieser Liste: IANA Domain Name System (DNS) Parameters.
In diesem Artikel demonstrieren wir dies mit dem Record-Typ
CDR, dem die ID59zugewiesen ist. Geben Sie die eigentlichen Daten des Eintrags in das Feld Record-Daten ein.
Das Erstellen von benutzerdefinierten Eintrags funktioniert fast genauso wie das Erstellen jedes anderen Eintrags. Die Autorisierung und die API-Endpunkte sind identisch: https://dns.api.stackit.cloud/v1/projects/{projectId}/zones/{zoneId}/rrsets.
Sie definieren den Typ, die Typ-ID und die Record-Daten mit dem Payload Ihrer Anfrage. In der Tabelle erfahren Sie mehr über die Parameter:
| Parameter | Bedeutung | Beispiel |
|---|---|---|
| name | Der Name des Eintrags. | my-cdr-record.my-example-project.runs.onstackit.cloud |
| records | Ein Array der Einträge, die Sie erstellen möchten | [{"content": "1 1 1 10"}], |
| type | Der Typ Ihres Eintrags. Verwenden Sie für benutzerdefinierte Einträge TYPE, gefolgt von einem offiziell zugewiesenen zweistelligen Typcode.Eine Liste der Typen finden Sie unter IANA Domain Name System (DNS) Parameters. | TYPE59 |
Ihr Request-Body muss diese Schlüssel enthalten:
{ "name": "[name]", "records": [records], "type": "[type]"}Basierend auf den Beispielen in der obigen Tabelle können Sie sich mit dieser Beispielanfrage ein Bild machen:
{ "name": "customrecord.customzone.runs.onstackit.cloud", "records": [ { "content": "1 1 1 10" } ], "type": "TYPE59"}FAQ und Fehlerbehebung
Abschnitt betitelt „FAQ und Fehlerbehebung“Wenn Sie Fragen haben oder auf Probleme stoßen, konsultieren Sie den FAQ-Bereich für benutzerdefinierte Einträge.
Lange TXT-Records
Abschnitt betitelt „Lange TXT-Records“Es gibt Anwendungsfälle, in denen Sie Ressource-Records erstellen möchten, die länger als 255 Zeichen sind. Ein häufiger Anwendungsfall ist die Erstellung von TXT-Records für DKIM. Dieser Abschnitt hilft Ihnen, diese Aufgabe zu erledigen, ohne den Payload des Resource Records manuell aufteilen zu müssen. Im folgenden Codeblock sehen Sie als Praxisbeispiel den Antwortbereich einer Abfrage eines DKIM-Records:
# dig TXT tutorial._domainkey.at.stackit.rocks.;; Truncated, retrying in TCP mode.
; <<>> DiG 9.18.33-S1 <<>> TXT tutorial._domainkey.at.stackit.rocks.;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34220;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 1232; COOKIE: f1613ddd35f5453001000000693abe1217faa35fd17f2c13 (good);; QUESTION SECTION:;tutorial._domainkey.at.stackit.rocks. IN TXT
;; ANSWER SECTION:tutorial._domainkey.at.stackit.rocks. 3600 IN TXT "v=DKIM1;t=s;p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBCl6zpXB7V6OEhsZofPdsT7MtYGIXkMwwA27CuZefU7mqxFqbUE4k6Gf1OHzC7LjpqyWtodFEnVSI7VkMk+2VLc0Vm4NHU4QpoxfVcHJGFFJWmsFbmxpOr/kMmTnE5s3+zuNNlEwl3OyLoicUH+2vYkyuekJtOIeaKoLX5Is4sIV1c1c2dAQo2tbs3HthR7iO7O/" "nByD2ltaM2p/DsIknxki8pxF5D+0PlCxuuUqW9wzWCtzJHkHou1D3s3FlllX98AFKTWBAtoraUQEnkT2RZUr/Te2b5ow6SEJVP1u8KePXpmT1COhy+rxcdJMyjunssza9Nfj/JJkhRXOkOBhH7X7tK7QlLvLaAFKkuNzv5eJBlsYzDl7Mnmq3e8FCXPkHScl5f0Al5ufb57v3FgscCNrcILPemx904TU3zRHvIWOMtuLlGgi5LAnUERG//Ysnh9" "U7Ky0GheWpR/S5p3oHNbHBoH1yZeyATtk5YTymw36fqw7yQq6mAjqMaERfxaXT7pUVnvitHfUGxnOam1wVFOk7aUiPeI3QkP4qOiZN/UFkuiwwbetBCg1r6ZUyWnyuqZLluGjLh7jzFWGOifKnnMH3T+FZo5XsLqu2YsTM96MUO/8TzOPCjVbWOzbZf0R6IlApBLW4vjnUBzCvEyNCgk8h/IaEBZLv/7uT165Q8CAwEAAQ=="Wie immer haben Sie mehrere Möglichkeiten, Ihre STACKIT DNS-Records zu verwalten.
Das STACKIT Portal teilt Payloads mit einer Länge von mehr als 255 Bytes im Erstellungsassistenten automatisch auf. Um einen DNS-Record mit einer Länge von mehr als 255 Zeichen zu erstellen, folgen Sie diesen Schritten:
Open the Create resource record pane
Abschnitt betitelt „Open the Create resource record pane“- Navigieren Sie zu Networks > DNS.
- Klicken Sie auf die DNS-Zone, in der Sie einen Record erstellen möchten.
- Wählen Sie den Menüeintrag Ressource-Records.
- Klicken Sie auf Ressource-Record erstellen.
Geben Sie die Daten Ihres neuen Ressource-Records ein:
Abschnitt betitelt „Geben Sie die Daten Ihres neuen Ressource-Records ein:“-
Fügen Sie den Namen des Ressourceneintrags ein, den Sie erstellen möchten.
-
Wählen Sie die Time to Live (TTL) für diesen Eintrag.
-
Wählen Sie den Typ des Eintrags aus. Siehe Eintrags-Typen für eine Liste möglicher Typen.
-
Fügen Sie die Eintrags-Daten hinzu.
-
Fügen Sie eine optionale Beschreibung für den Eintrag hinzu.
-
Wenn der Payload 255 Zeichen überschreitet, erscheint ein neues Icon (im Screenshot mit dem roten Quadrat gezeigt)

Wenn Sie auf das hervorgehobene Symbol klicken, öffnet sich ein Fenster. Dort zeigt Ihnen das System an, wie es Ihre Daten beim Klicken auf Erstellen automatisch in Segmente aufteilen wird:

-
Klicken Sie auf Erstellen. Nach dem erfolgreichen Erstellen ist der neue Eintrag in Ihrer Ressource-Records-Übersicht sichtbar.
Die STACKIT API erstellt den Record gemäß den Richtlinien der RFC. Aus diesem Grund müssen Sie den gewünschten Payload vor dem Aufruf der API in Segmente von 255 Zeichen aufteilen. Sie können das folgende Skript verwenden, um Ihren gewünschten Payload in Segmente mit einer Länge von 255 Zeichen aufzuteilen:
#!/bin/bash
# Function to split a string into chunks of maximum length 255split_string() {local input_string="$1"local max_length=255local string_length=${#input_string}local start=0local end
echo -n "\""while [ "$start" -lt "$string_length" ]; do end=$((start + max_length)) if [ "$end" -gt "$string_length" ]; then end="$string_length" echo -n " " fi
# Extract the substring local substring="${input_string:$start:$max_length}"
# Print the substring (or do something else with it) echo -n "\\\"$substring\\\""
# Move the starting position for the next chunk start="$end"doneecho "\""}
split_string "$1"Rufen Sie nach dem Aufteilen des gewünschten Payloads die API mit den mehreren, durch Leerzeichen verketteten Segmenten auf. Informationen zum Erstellen von Resource Records finden Sie in der API-Referenz.