Resource Record
Ein Resource Record (RR) ist die grundlegende Informationseinheit im Domain Name System (DNS). Er tritt in ASCII-Darstellung in Zonendateien oder in komprimierter Form in DNS-Transport-Paketen oder DNS-Caches auf. Einige RR-Typen – sogenannte Pseudo-Resource-Records – werden nur in DNS-Transport-Paketen verwendet.
RR-Format in Zonendateien
Das hier dargestellte Format bezieht sich auf die ASCII-Darstellung, die in Zonendateien verwendet wird. In Caches oder auf dem Transportweg wird eine inhaltsgleiche, aber komprimierte Form verwendet. RR-Typen werden dort durch Zahlen zwischen 1 und 255 ausgedrückt. Ähnliches gilt für Class und TTL.
ASCII-Format: <name> [<ttl>] [<class>] <type> [<rdlength>] <rdata>
- <name> Der Domänenname des Objekts, zu dem der Resource Record gehört
- <ttl> time to live (in Sekunden). Gültigkeit des Resource Records (optional)
- <class> Protokollgruppe, zu der der Resource Record gehört (optional)
- <type> beschreibt den Typ des Resource Records
- <rdlength> Länge der Daten, welche den Resource Record näher beschreiben (optional)
- <rdata> (resource data) Daten, welche den Resource Record näher beschreiben (zum Beispiel eine IP-Adresse für einen A-RR, oder einen Hostnamen für einen NS-RR)
Bei einigen Typen existieren weitere Felder, die unmittelbar vor <rdata> eingeordnet werden (siehe Beispiel unten: MX). Die optionalen Komponenten können in bestimmten Fällen weggelassen werden. Es wird dann vom Nameserver automatisch der zuletzt aufgetretene Wert dieser Komponente eingesetzt.
Die zulässigen Klassen
In der Praxis wird nahezu ausnahmslos IN verwendet. Die anderen Klassen haben nur noch historische Bedeutung. Von BIND-Servern wird gelegentlich CH gebraucht, um die Versionsnummer eines Nameservers zu publizieren.
- IN Internet
- CH Chaosnet (selten verwendet)
- HS Hesiod (selten verwendet)
- CS CSNET (wird nicht mehr verwendet)
Die wichtigsten RR-Typen
Typ | Wert (dezimal) | Definierendes RFC | Beschreibung | Funktion |
---|---|---|---|---|
A | 1 | RFC 1035[1] | Address record | Gibt die 32 bit IPv4-Adresse eines Hosts zurück. Am häufigsten für die Zuordnung eines Hostnamens zu einer IP-Adresse des Hosts gebräuchlich, wird aber auch für DNSBLs, speichern von Subnetzmasken und dgl. verwendet. |
AAAA | 28 | RFC 3596[2] | IPv6 Address record | Gibt die 128 bit IPv6-Adresse eines Hosts zurück. Am häufigsten für die Zuordnung eines Hostnamens zu einer IP-Adresse des Hosts gebräuchlich. |
AFSDB | 18 | RFC 1183 | AFS Database Record | Resource Record für den Ort von Cell Database Server des Andrew File Systems. Dieser RR wird üblicherweise von AFS Clients benutzt, um AFS Cells außerhalb ihrer lokalen Domain zu benachrichtigen. Ein Subtyp dieses RR wird von dem mittlerweile veralteten DCE/DFS Dateisystems verwendet. |
APL | 42 | RFC 3123 | Address Prefix List | Auflisten von Adressbereichen, z. B. im CIDR Format, für verschiedene Adressfamilien. Versuchsweise eingeführt. |
A6 | Resource Record des Verfahrens A6 zur teilweisen Adressauflösung unter IPv6. Inzwischen veraltet. | |||
CAA | 257 | RFC 6844 | Certification Authority Authorization | Certification Authority (CA) Blockierung, die zulässige CAs für einen Host bzw. eine Domain beschränken |
CDNSKEY | 60 | RFC 7344 | Child DNSKEY | Kindkopie eines DNSKEY Records, um sie an sein Eltern-Record zu übertragen |
CDS | 59 | RFC 7344 | Child DS | Kindkopie eines DS Records, um sie an sein Eltern-Record zu übertragen |
CERT | 37 | RFC 4398 | Certificate record | Resource Record für das Speichern von Zertifikaten wie PKIX, SPKI und PGP |
CNAME | 5 | RFC 1035[1] | Canonical Name record | Kanonischer Name für einen Host (die Domain mit diesem RR ist ein Alias) |
DHCID | 49 | RFC 4701 | DHCP Identifier | In Verbindung mit der FQDN Option für DHCP benutzt. |
DLV | 32769 | RFC 4431 | DNSSEC Lookaside Validation record | Benutzt zur Veröffentlichung von DNSSEC Trust Anchors außerhalb der DNS Delegationskette (delegation chain). Benutzt dasselbe Format wie der DS Record. RFC 5074 beschreibt die Art der Benutzung dieser Records. |
DNAME | 39 | RFC 2672 | Delegation Name | Alias für einen Namen und alle seine Subnamen. Ähnlich wie CNAME, aber anstatt eines Aliases nur für einen übereinstimmenden Namen, ist DNAME für komplette Domains zuständig. Ähnlich wie CNAME wird die Suche im DNS durch ständiges Probieren, den neuen Namen zu finden, weitergeführt. |
DNSKEY | 48 | RFC 4034 | DNS Key record | Enthält einen dem Namen zugeordneten Public-Key und löste ab 2004 bei DNSSEC den Typ KEY ab. |
DS | 43 | RFC 4034 | Delegation Signer | Dient der Identifizierung und Verkettung DNSSEC-signierter Zonen |
GPOS | Geographical Position | Geographische Position, veraltet. | ||
HIP | 55 | RFC 5205 | Host Identity Protocol | Methode zur Trennung der Endpunktkennzeichnung und Ortungsfunktionen von IP-Adressen. |
HINFO | 13 | RFC 1035[1] | Host Information | Informationen des Hosts wie Prozessortyp und Betriebssystem |
HTTPS | 65 | RFC Draft | HTTPS Binding | Verbesserte Performance für den direkten Zugriff auf HTTPS Ressourcen |
IPSECKEY | 45 | RFC 4025 | IPsec Key | Schlüsseleintrag, der mit IPsec verwendet werden kann |
ISDN | ISDN | ISDN-Nummer, wird nur selten verwendet. | ||
KEY | 25 | RFC 2535[3] und RFC 2930[4] | Key record | Enthält einen dem Namen zugeordneten Public-Key und wird seit 2004 nicht mehr von DNSSEC verwendet.
Wurde nur für SIG(0) (RFC 2931) und TKEY (RFC 2930) verwendet.[5] RFC 3445 schloss die Nutzung für Anwendungsschlüssel aus und beschränkte ihre Nutzung auf DNSSEC.[6] RFC 3755 kennzeichnet DNSKEY als den Ersatz innerhalb von DNSSEC.[7] RFC 4025 benennt IPSECKEY als Ersatz bei der Nutzung von IPsec.[8] |
KX | 36 | RFC 2230 | Key eXchanger record | Wird in einigen kryptografischen Systemen (DNSSEC nicht eingeschlossen) verwendet, um einen Agenten zum Schlüsselmanagement für den zugehörigen Domainnamen zu bestimmen. Dieses hat nichts mit DNS Sicherheit zu tun. Dieser Eintrag ist lediglich eine Informationsstatusangabe, anstatt von den IETF Standards verfolgt zu werden. Er hatte immer eine eingeschränkte Entwicklung, ist aber immer noch in Benutzung. |
LOC | 29 | RFC 1876 | Location record | Führt einen geografischen Ort (Lokation) auf, der mit einem Domainnamen in Verbindung gebracht werden kann. |
MB | Mailbox domain name | Spezifiziert einen Domainnamen in Verbindung mit einer Mailbox. Experimentell | ||
MD | Mail Destination | Nicht mehr in Gebrauch. Heutzutage wird MX verwendet. | ||
MF | Mail Forwarder | Nicht mehr in Gebrauch. Heutzutage wird MX verwendet. | ||
MG | Mail Group member | Experimentell | ||
MINFO | Mailbox oder mail list information | |||
MR | Mail Rename domain name | Experimentell | ||
MX | 15 | RFC 1035[1] und RFC 7505 | Mail eXchange record | Ordnet den für diese Domain zuständigen Mailserver einer Liste von Mail Transfer Agents zu. |
NAPTR | 35 | RFC 3403 | Naming Authority Pointer | Eine Erweiterung des A Resource Record, die die regulärer Schreibung von Domainnamen erlaubt. Diese kann dann in URIs, weiteren Domainnamen zum Nachschlagen etc. benutzt werden. |
NS | 2 | RFC 1035[1] | Name Server record | Hostname eines autoritativen Nameservers. Überträgt eine DNS Zone, um die vorgegebenen Nameserver zu nutzen. |
NSAP | 2 | Network Service Access Point | ||
NSEC | 47 | RFC 4034 | Next-Secure record | Verkettet DNS-Einträge in DNSSEC signierten Zonen und wird dazu benutzt nachzuweisen, dass ein Name nicht existiert. Benutzt dasselbe Format wie der 2004 abgelöste Typ NXT. |
NSEC3 | 50 | RFC 5155 | NSEC record version 3 or NSEC hashed | Alternative zum NSEC RR ohne Zone Enumeration Problem (seit 2008). Ermöglicht den Nachweis, dass ein Name fehlt, ohne die Überschreitung einer Zone zuzulassen. |
NSEC3PARAM | 51 | RFC 5155 | NSEC3 Parameters | Parameter Eintrag für NSEC3. |
NULL | Null Resource Record | Experimentell | ||
NXT | Next Resource Record | Veraltet. Wurde durch den praktisch identischen NSEC Resource Record abgelöst. | ||
OPT | RFC 2671 | Option Resource Record | Pseudo RR[9], markiert ein Paket als Extended-DNS-Paket (EDNS), stellt 16 zusätzliche Flags bereit und erweitert Response-Codes um acht Bytes (damit können in einem Paket insgesamt drei Response-Codes untergebracht werden). | |
PTR | 12 | RFC 1035[1] | Pointer record | Domain Name Pointer zu einem kanonischen Namen für das Reverse Mapping, um IP-Adressen Namen zuzuweisen. Im Gegensatz zu CNAME wird die DNS Verarbeitung beendet und lediglich der Name wird zurückgegeben. Die häufigste allgemeine Verwendung von PTR ist die Implementierung von Reverse Mappings, aber es wird auch für DNS-SD eingesetzt. |
RP | 17 | RFC 1183 | Responsible Person | Information über die verantwortliche(n) Person(en) für die Domain. Üblicherweise eine E-Mail-Adresse, wobei das '@' durch ein '.' ersetzt wurde. |
RRSIG | 46 | RFC 4034 | DNSSEC Signature | Enthält eine digitale Unterschrift für den Eintrag. Wird seit 2004 von DNSSEC (=DNS Security) verwendet und ersetzt das gleichformatige SIG. |
SIG | 24 | RFC 2535 | Signature | Enthält eine digitale Unterschrift, die in SIG(0) (RFC 2931) und TKEY (RFC 2930) benutzt wird.[7] SIG ist veraltet und wurde bis 2004 von DNSSEC (=DNS Security) verwendet. RFC 3755 nennt RRSIG als Ersatz für SIG zur Benutzung in DNSSEC.[7] |
SOA | 6 | RFC 1035[1] und RFC 2308[10] | Start Of [a zone of] Authority | Führt verbindliche Informationen über eine DNS Zone auf, einschließlich des Primary Nameservers, der E-Mail-Adresse des Administrators der Domäne, der Seriennummer der Domäne und Angaben über mehrere Zeitgeber in Bezug auf die Aktualisierung der Zone. |
SPF | Sender Policy Framework (früher Sender Permitted From) | Der SPF Eintrag soll das Fälschen der Absenderadresse einer E-Mail verhindern. Es entstand als Verfahren zur Abwehr von Spam. Der Record-Typ ist veraltet und wurde durch TXT ersetzt. | ||
SRV | 33 | RFC 2782 | Service locator | Verallgemeinernder Eintrag zu angebotenen Diensten (Services). Wird von neueren Protokollen benutzt anstatt protokollspezifische Einträge zu erstellen, wie dies bei MX der Fall ist. |
SSHFP | 44 | RFC 4255 | SSH public key Fingerprint | Veröffentlichung der Fingerprints von SSH-Schlüsseln in das DNS, um die Überprüfung der Echtheit eines Hosts zu unterstützen. RFC 6594 definiert die ECC SSH-Schlüssel und die SHA-256 Hashes. Details sind bei der IANA SSHFP RR parameters registry zu finden. |
TA | 32768 | – | DNSSEC Trust Authorities | Teil eines Entwicklungsvorschlages für DNSSEC ohne signierten DNS Root. Für Details siehe die IANA Datenbank und die Weiler Spezifikationen. TA benutzt dasselbe Format wie der DS Resource Record. |
TKEY | 249 | RFC 2930 | Secret Key | Eine Methode Artikel für Schlüssel zur Verfügung zu stellen, die mit TSIG benutzt werden können und das dort innerhalb des öffentlichen Schlüssels mit dem begleitenden KEY Resource Record verschlüsselt ist.[11] |
TLSA | 52 | RFC 6698 | TLSA certificate association | Eintrag nötig für das Protokoll DNS-based Authentication of Named Entities (DANE), das dazu dient, den Datenverkehr abzusichern. RFC 6698 definiert die Nutzung des TLSA Resource Records (RR) als Verbindung eines TLS Serverzertifikates oder eines öffentlichen Schlüssels mit dem Domainnamen, wo der Eintrag gefunden wird. Die Verbindung erstellt deshalb eine 'TLSA Zertifikatsverbindung'.[12] |
TSIG | 250 | RFC 2845 | Transaction Signature | Kann, in ähnlicher Weise zu DNSSEC, für die Authentifikation von dynamischen Aktualisierungen in der Art verwendet werden, als ob diese von einem freigegebenen Client kommt, oder Antworten zu authentifizieren als ob diese von einem freigegebenen rekursiven Nameserver kommen. |
TXT | 16 | RFC 1035[1] | Text record | Ursprünglich erdacht für frei definierbaren und von Menschen lesbaren Text in DNS Einträgen. Seit den frühen 1990ern enthält dieser Eintrag häufig jedoch u. a. auch maschinenlesbare Daten wie in RFC 1464 spezifiziert, Sender Policy Framework (SPF), DomainKeys, DMARC (Domain-based Message Authentication, Reporting and Conformance), DNS-SD und Google-Site Verification. |
URI | 256 | RFC 7553 | Uniform Resource Identifier | Wird benutzt, um Abbildungen von Hostnamen auf URIs zu veröffentlichen. |
WKS | RFC 0974[13] | Well Known Service | Wird in der Mailweiterleitung benutzt und speichert Informationen über die Netzwerkdienste (wie z. B. SMTP), die ein vorgegebener Domainname unterstützt.[13] | |
X25 | RFC 1356 | X.25-Adresse | Spezifiziert die Einkapselung von IP und anderen Netzwerkschichtprotokollen über X.25-Netzwerke. Wird nur selten verwendet. |
Beispiele
test.example.com. 3600 IN A 172.30.0.7 IN TXT "für DNS-Test" abc 1800 IN MX 10 test.example.com. dns1 NS nameserver.example.org. 7.0.30.172.in-addr.arpa. PTR test.example.com.
Einzelnachweise
- Paul Mockapetris: RFC 1035: Domain Names – Implementation and Specification. Network Working Group of the IETF (Internet Engineering Task Force). November 1987. Abgerufen am 20. Februar 2015.
- RFC 3596: DNS Extensions to Support IP Version 6. The Internet Society. Oktober 2003. Abgerufen am 20. Februar 2015.
- RFC 2535, §3
- RFC 3445, §1. "The KEY RR was defined in [RFC 2930]..."
- RFC 2931, §2.4. “SIG(0) on the other hand, uses public key authentication, where the public keys are stored in DNS as KEY RRs and a private key is stored at the signer."
- RFC 3445, §1. "DNSSEC will be the only allowable sub-type for the KEY RR…”
- RFC 3755, §3. “DNSKEY will be the replacement for KEY, with the mnemonic indicating that these keys are not for application use, per [RFC3445]. RRSIG (Resource Record SIGnature) will replace SIG, and NSEC (Next SECure) will replace NXT. These new types completely replace the old types, except that SIG(0) [RFC2931] and TKEY [RFC2930] will continue to use SIG and KEY.”
- RFC 4025, Abstract. “This record replaces the functionality of the sub-type #4 of the KEY Resource Record, which has been obsoleted by RFC 3445.”
- RFC 2671, §4. "An OPT is called a pseudo-RR because it pertains to a particular transport level message and not to any actual DNS data."
- The minimum field of SOA record is redefined to be the TTL of NXDOMAIN reply in RFC 2308.
- RFC 2930, §6. "... the keying material is sent within the key data field of a TKEY RR encrypted under the public key in an accompanying KEY RR [RFC 2535]."
- P. Hoffman, VPN Consortium: RFC 6698: The DNS-Based Authentication of Named Entities (DANE), Transport Layer Security (TLS) Protocol: TLSA. Network Working Group of the IETF (Internet Engineering Task Force). August 2012. Abgerufen am 20. Februar 2015. “The TLSA DNS resource record is used to associate a TLS server certificate or public key with the domain name where the record is found, thus forming a ‘TLSA certificate association’”
- Craig Partridge, CSNET CIC BBN Laboratories Inc: RFC 0974: MAIL ROUTING AND THE DOMAIN SYSTEM. Januar 1986. Abgerufen am 20. Februar 2015. “[…] the Well Known Service (WKS) RR, which stores information about network services (such as SMTP) a given domain name supports.”