Unterschied zwischen Host-Eintrag und A-Eintrag

Unterschied zwischen Host-Eintrag und A-Eintrag

Was ist der eigentliche Unterschied zwischen einem Host-Eintrag und einem A-Eintrag? Beide verweisen auf eine IP, also was ist der Unterschied?

Antwort1

In der eigentlichen DNS-Spezifikation gibt es keinen Host-Eintrag. Host-Einträge sind im Allgemeinen ein logisches Konstrukt inDDI (DNS, DHCP und IPAM)Lösungen wieInfobloxund andere. Sie umfassen verschiedene DNS-Eintragstypen (A, AAAA, PTR, CNAME usw.) und andere Metadaten, die mit einem „Host“ verknüpft sind.

Antwort2

Wie andere bereits erwähnt haben, gibt es in der DNS-Spezifikation keinen „Host“-Eintrag. Die meisten Leute verwechseln Hostnamen und DNS-Einträge, da DNS häufig verwendet wird, um die Beziehungen zwischen Hostnamen und IP-Adressen zu speichern, die durch die Eintragstypen A, AAAA, und dargestellt PTRwerden.

DNS ist allerdings noch viel mehr:

  • DNS ist eine weit verteilte, hierarchische Datenbank, in der man eine beliebige Anzahl von Dingen speichern kann. Sie ist zufällig auf die Zuordnung von Namen zu IP-Adressen und umgekehrt spezialisiert, denn das ist es, was das Internet von einer solchen Datenbank am meisten benötigt.
  • Alle Hostnamen sind gültige DNS-Bezeichnungen. (Bezeichnung = die linke Seite eines DNS-Eintrags)
  • Nicht alle DNS-Labels sind gültige Hostnameneinheiten.Das ist der Punkt, an dem die Leute verwirrt werden.Wikipedia deckt dieses Thema ziemlich gut ab, aber die Kurzfassung ist, dass esvieleZeichen, die eine Syntaxprüfung für DNS bestehen und für die Verwendung in Hostnamen nicht zulässig sind. Dies ist ein ziemlich deutlicher Hinweis darauf, dass DNS nicht an die Hostnamenspezifikationen gebunden ist.

Um die oben genannten Themen zusammenzufassen und zu verstärken, werde ich eine dicke Textwand vonRFC-2181:

  1. Namenssyntax

Gelegentlich wird angenommen, dass das Domain Name System nur dazu dient, Internet-Hostnamen Daten und Internetadressen Hostnamen zuzuordnen. Dies ist jedoch nicht korrekt, denn das DNS ist eine allgemeine (wenn auch etwas eingeschränkte) hierarchische Datenbank und kann nahezu alle Arten von Daten für nahezu jeden Zweck speichern.

Das DNS selbst legt nur eine Einschränkung für die bestimmten Bezeichnungen fest, die zur Identifizierung von Ressourceneinträgen verwendet werden können. Diese eine Einschränkung bezieht sich auf die Länge der Bezeichnung und des vollständigen Namens. Die Länge einer Bezeichnung ist auf 1 bis 63 Oktette begrenzt. Ein vollständiger Domänenname ist auf 255 Oktette (einschließlich der Trennzeichen) begrenzt. Der vollständige Name mit der Länge Null wird als die Wurzel des DNS-Baums definiert und wird normalerweise als „.“ geschrieben und angezeigt. Abgesehen von diesen Einschränkungen kann jede beliebige Binärzeichenfolge als Bezeichnung eines beliebigen Ressourceneintrags verwendet werden. Ebenso kann jede beliebige Binärzeichenfolge als Wert eines beliebigen Eintrags dienen, der einen Domänennamen als einen Teil oder den gesamten Wert enthält (SOA, NS, MX, PTR, CNAME und alle anderen, die hinzugefügt werden können). Implementierungen der DNS-Protokolle dürfen keine Einschränkungen für die Bezeichnungen festlegen, die verwendet werden können. Insbesondere dürfen DNS-Server die Bereitstellung einer Zone nicht verweigern, weil diese Bezeichnungen enthält, die für einige DNS-Clientprogramme möglicherweise nicht akzeptabel sind. Ein DNS-Server kann so konfiguriert werden, dass er beim Laden einer primären Zone mit möglicherweise fragwürdigen Bezeichnungen Warnungen ausgibt oder das Laden sogar verweigert. Dies sollte jedoch standardmäßig nicht geschehen.

Beachten Sie jedoch, dass für die verschiedenen Anwendungen, die DNS-Daten verwenden, Beschränkungen hinsichtlich der in ihrer Umgebung zulässigen Werte gelten können. Wenn beispielsweise jedes binäre Label einen MX-Eintrag haben kann, bedeutet dies nicht, dass jeder binäre Name als Hostteil einer E-Mail-Adresse verwendet werden kann. Clients des DNS können für die Werte, die sie als Schlüssel für DNS-Suchanfragen verwenden, und für die vom DNS zurückgegebenen Werte beliebige, ihren Umständen entsprechende Beschränkungen festlegen. Wenn für den Client solche Beschränkungen gelten, liegt es in seiner alleinigen Verantwortung, die Daten vom DNS zu validieren, um sicherzustellen, dass sie den Anforderungen entsprechen, bevor er diese Daten verwendet.

Der letzte Absatz ist besonders wichtig. Die DNS-Standards sind sehr offen in Bezug darauf, was legal gespeichert werden darfinnerhalb des DNS, aber andere Standards können vorschreiben, wie ein DienstverbrauchtDNS und kann beliebige Einschränkungen auferlegen, was eine Anwendung dort erwarten sollte (und was nicht). Dies ist genau der Fall bei Hostnamen, die durch RFCs definiert sind.draußender DNS-Standards.

Antwort3

DNS gibt A-Einträge als einen möglichen Eintragstyp an. A-Einträge werden manchmal als Host-Einträge bezeichnet. Sie sind dasselbe, aber ich würde lieber „A-Eintrag“ verwenden, da dies die offizielle Bezeichnung ist.

Sind Sie beiden Konzepten in einer Situation begegnet, in der sie scheinbar etwas anderes bedeuten? Ich weiß, dass Infoblox DNS-Geräte das Konzept eines „Hostobjekts“ unterstützen. Dabei handelt es sich um eine Datenstruktur in ihrer Konfiguration, die im DNS-Server in einen A- und einen PTR-Eintrag übersetzt wird.

Antwort4

Ja, ich habe mit Infoblox gearbeitet. Und ihr hattet Recht – Host Record ist ein von Infoblox erstelltes Objekt, um gleichzeitig sowohl A-Record als auch PTR-Record zu erstellen.

Außerdem können individuelle Vorwärts- und Rückwärtssuchen erstellt werden. Obwohl Infoblox beim Durchsuchen einer großen Datenbank etwas langsam ist, ist es für viele Dinge gut geeignet.

Vielen Dank für die Beiträge. Habe viel gelernt :)

verwandte Informationen