
Ich habe ein paar Fragen zur Funktionsweise von DNS.
Könnte ich einen A-Eintrag buchstäblich mit jeder gewünschten IP-Adresse verbinden, beispielsweise mit der IP von Google?
Das wusste ich tatsächlich nicht und bin ziemlich erstaunt darüber. Ich dachte nur, dass man auf Websites umleiten kann, die einem gehören, oder dass man seine Domain nur auf den eigentlichen Ziellink weiterleiten lassen kann. Und wenn das stimmt, dann muss das doch auch für CNAME-Einträge gelten, oder?
Mit anderen Worten: Kann ich dafür sorgen, dass auf meine eigene Domain geklickt wird und die Site von Google angezeigt wird, wobei nicht der Name der Google-Domain, sondern meine eigene Domain angezeigt wird?
Könnte ich mehrere Datensätze mit einer Domäne verbinden, z. B. einen A-Datensatz, einen TXT-Datensatz oder einen AAAA-Datensatz und einen CNAME-Datensatz?
Wie funktionieren TXT-Einträge eigentlich? Gibt man wirklich einfach die URL in den Browser ein und der Text erscheint auf dem Bildschirm oder muss man dafür eine spezielle Get-Anfrage stellen oder so etwas?
Antwort1
Könnte ich einen A-Eintrag buchstäblich mit jeder gewünschten IP-Adresse verbinden, beispielsweise mit der IP von Google?
Ja. Es handelt sich nicht wirklich um eine Frage des „Eigentums“, sondern um eine Vereinbarung zwischen dem Domäneninhaber und dem Serverbetreiber.
Es wird Ihnen nicht weiterhelfen, wenn Sie auf einen Server verweisen, der nichtvereinbartdie gewünschte Domäne bereitstellen – der DNS-Eintrag funktioniert, aber der Webserver antwortet nur mit einer Fehlerseite. (Dies ist wichtig für das Web oder E-Mail, wo der Server weiß, welche Domäne angefordert wird – oder für alles TLS-basierte, wo der Server über das richtige Zertifikat verfügen muss.)
Aber im Allgemeinen funktioniert beispielsweise kostenpflichtiges Webhosting so: Normalerweise besitzen Sie die IP-Adresse nicht, und bei „Shared“-Plänen besitzen Sie nichts am Server, aber Sie richten trotzdem A/AAAA-Einträge darauf aus, weil er so konfiguriert wurde, dass er die Domäne erkennt und etwas Nützliches für sie tut.
Das wusste ich tatsächlich nicht und bin ziemlich erstaunt darüber. Ich dachte nur, dass man auf Websites umleiten kann, die einem gehören, oder dass man seine Domain nur auf den eigentlichen Ziellink weiterleiten lassen kann. Und wenn das stimmt, dann muss das doch auch für CNAME-Einträge gelten, oder?
Auch ja. Wie oben, der Besitz spielt keine Rolle, das Einzige, was zählt, ist, ob der Server so konfiguriert ist, dass er das tut, was Sie wollen (wenn es in der Diskussion speziell um Websites geht, weiß der Zielserver, von welcher Domäne aus er besucht wird – und antwortet möglicherweise einfach mit „Nein, ich bin nicht so konfiguriert, dass ich diese Domäne bedienen kann“).
Im Allgemeinen kümmert sich DNS nicht um „Websites“ oder „Links“ – es kümmert sich nur um Domänennamen und IP-Adressen. Aber selbst dann sind DNS-Einträge unidirektional; Sie können alles auf alles verweisen.
Mit anderen Worten: Kann ich dafür sorgen, dass auf meine eigene Domain geklickt wird und die Site von Google angezeigt wird, wobei nicht der Name der Google-Domain, sondern meine eigene Domain angezeigt wird?
Es würde funktionieren mitmancheWebserver. Bei Google – wahrscheinlich nicht.
Wie bereits erwähnt, wissen Webserver, unter welcher Domain sie aufgerufen werden (diese ist in jeder HTTP-Anfrage enthalten). Größere Webhostsverlassendarauf, da sie viele Websites für verschiedene Domänen unter derselben IP-Adresse bereitstellen.
Wenn Sie also einfach einen A-Eintrag für Ihre eigene Domain erstellen, der auf einen solchen Webserver verweist, wird er keine passende „virtuelle Host“-Konfiguration finden und normalerweise eine allgemeine Fehlerseite anstelle der gewünschten Website anzeigen. Aber für kleine Webserver, die nur einen „Standard“-Vhost haben, würde es tatsächlich funktionieren.
Es funktioniert auch nicht mit HTTPS oder anderen TLS-basierten Verbindungen. Selbst im einfachsten Fall muss der Server ein für die besuchte Domäne gültiges Zertifikat anbieten, sonst zeigt der Browser eine Fehlerseite mit der Meldung „Zertifikat stimmt nicht überein“ an.
Aber bei vielen anderen (nicht-web) Diensten ist eswürdefunktionieren und der Server würde es nicht einmal bemerken. Beispielsweise melden SSH oder FTP den Hostnamen überhaupt nicht.
Könnte ich mehrere Datensätze mit einer Domäne verbinden, z. B. einen A-Datensatz, einen TXT-Datensatz oder einen AAAA-Datensatz und einen CNAME-Datensatz?
Im Allgemeinen ja. Jeder Dienst berücksichtigt nur die gewünschten Datensatztypen und ignoriert den Rest. Sie können also jede beliebige Kombination von Datensatztypen haben (ob sie nun sinnvoll ist oder nicht) – mit einigen Ausnahmen.
Beispielsweise ist A+AAAA ganz normal – so hosten Sie Dual-Stack-IPv4+IPv6-Dienste, wobei derselbe Server beide Adresstypen hat. Im Domänenstamm hätten Sie normalerweise MX für E-Mail direkt neben diesen A+AAAA-Einträgen (sowie NS+SOA für interne DNS-Operationen).
Es gibt Datensatztypen wie SSHFP, diesein sollenwerden zusammen mit Adressdatensätzen verwendet, und es gibt viele Typen, die „beschreibende“ Zwecke haben und einfach überall platziert werden können (TXT, HINFO, RP, LOC …).
(Ich glaube, das ist im Grunde der Sinn und Zweck der Existenz unterschiedlicher Datensatztypen.)
Eine große Ausnahme ist jedoch CNAME, das normalerweisenicht erlaubtzur Verwendung mit anderen Datensatztypen. Entweder ist ein Name ein Aliasoderdas ist es nicht, aber nicht beides gleichzeitig. (Aus diesem Grund können Sie CNAME normalerweise nicht an Ihrem Domänenstamm platzieren – weil Sie dort bereits SOA und NS haben.)
Wie funktionieren TXT-Einträge eigentlich? Gibt man wirklich einfach die URL in den Browser ein und der Text erscheint auf dem Bildschirm oder muss man dafür eine spezielle Get-Anfrage stellen oder so etwas?
Nein, Webbrowser interagieren überhaupt nicht mit TXT-Einträgen. Sie dienen anderen Zwecken.
(DNS als Ganzesexistiert schon vor dem Internetum mehrere Jahre, daher dient vieles davon anderen Zwecken als HTTP. Webbrowser verwenden einfach dieselben allgemeinen A/AAAA-Einträge, die viele andere Dienste bereits verwendet haben.)
Obwohl es für TXT-Einträge keine URL gibt, können Sie den Inhalt solcher Einträge durch direkte DNS-Anfragen mit Tools wie„dig“, „host“ oder „nslookup“. Unter Windows können Sie beispielsweise nslookup -q=txt example.com
oder ausführen Resolve-DnsName -Type TXT example.com
, während unter Linux oder macOS host -t txt example.com
oder dig example.com txt
vorzuziehen sind.
(Tatsächlich gibt es auf der wörtlichen Seite example.com zwei TXT-Einträge – der mit „v=spf1“ beginnende ist für Mailserver, die SPF-Prüfungen durchführen, der andere vielleicht für die Domänenüberprüfung von DigiCert. Die meisten TXT-Verwendungen erfolgen heutzutage für automatisierte Anfragen, obwohl man manchmal immer noch TXT-Einträge finden kann, die für das Lesen durch Systemadministratoren bestimmt sind.)