DNS-Auflösung und -Einträge für Entwickler

Verknüpfung zum Originalartikel.

Einführung

Domain Name System (DNS) ist etwas, das wir alle täglich verwenden, ohne die interne Funktionsweise zu kennen. Wie wird eine URL, die wir in unseren Browser eingeben, zu einem bestimmten Server umgeleitet? Wie geht das so schnell? Wenn Sie eine Website eingerichtet haben, sind Sie möglicherweise mit dem Hinzufügen von A-Einträgen und CNAMEs vertraut. Aber was sind sie? Was @ als Gastgeber bedeutet? Wann was verwenden? Dieser Artikel versucht, all diese Fragen zu beantworten. Wir werden behandeln, was DNS ist, wie es funktioniert, was verschiedene DNS-Einträge sind und ihre Anwendungsfälle.

Was ist ein Domainname?

Lassen Sie uns zuerst verstehen, was ein Domainname ist, bevor wir in DNS einsteigen können. Ein Domänenname ist eine eindeutige Textkennung für eine Website oder einen Server. Der Domainname für diese Website lautet arbazsiddiqui.me. Eine Domain hat folgende Struktur:

<subdomain>.<domain>.<TLD>

Lassen Sie uns dies anhand eines Beispiels verstehen blog.arbazsiddiqui.me.

.me ist der Top Level Domain (TLD). Dies ist der Stamm der Domäne und umfasst alle darin enthaltenen Domänen. .com, .org, .io sind alles Beispiele für TLDs. arbazsiddiqui ist der domain und technisch a subdomain von .me. blog ist eine Subdomain von arbazsiddiqui. Wir können das so weit verketten, wie wir wollen, das einzige, was hier zu verstehen ist, ist das TLD ist die Wurzel und alle nachfolgenden Domänen sind subdomains des vorigen.

Was ist DNS?

Das Domain Name System (DNS) ist das Telefonbuch des Internets. DNS ist der Mechanismus, der für die Konvertierung von benutzerfreundlichen URLs wie z arbazsiddiqui.me zu maschinenverständlichen IP-Adressen (104.198.14.52 in diesem Fall). Jedes mit dem Internet verbundene Gerät hat eine eindeutige IP-Adresse, die andere Computer verwenden, um das Gerät zu finden. DNS beseitigt die Notwendigkeit für Menschen, sich IP-Adressen zu merken.

Wie funktioniert DNS?

Das Auffinden der IP-Adresse eines Hostnamens wird als DNS-Auflösung oder DNS-Lookup bezeichnet. Ein Server fragt eine Reihe anderer Server ab, ob sie die IP-Adresse des angeforderten Domänennamens haben. Der andere Server kennt möglicherweise nicht die IP der angeforderten Domäne, verweist sie jedoch auf einen anderen Server, der sie möglicherweise kennt. Nachdem wir diese Kette verfolgt haben, erhalten wir schließlich die IP-Adresse unserer Domain.

Eine DNS-Auflösung erfordert normalerweise 4 Hops (in einem nicht zwischengespeicherten Szenario).

  1. DNS-Resolver : Der DNS-Resolver ist der Computer, der auf eine Anfrage von einem Client antwortet und sich die Zeit nimmt, den DNS-Eintrag aufzuspüren. Es fragt alle anderen nachfolgenden Server in Ihrem Namen ab und antwortet, nachdem es die IP-Adresse gefunden hat, damit.
  2. Root-Nameserver : Dies ist der erste Schritt, um die IP der angeforderten Domain zu finden. Ein Root-Nameserver hat die IP-Adresse von TLD-Nameservern. Also, wenn Sie anfordern example.comzeigt der Root-Nameserver den DNS-Resolver auf die IP-Adresse des TLD-Nameservers für .com und der DNS-Resolver kann von dort aus verarbeiten.
  3. TLD-Nameserver : TLD-Nameserver enthalten die IP-Adressen aller Subdomains, die Teil ihrer TLD sind. Also in unserem Fall von example.comdas .com TLD (auf deren Verwendung hingewiesen wurde von root nameserver) zeigt den DNS-Resolver auf die Authoritative nameserver von example.com.
  4. Autorisierender Nameserver : Ein autoritativer DNS-Server ist ein Server, der tatsächlich DNS-Ressourceneinträge enthält und für diese verantwortlich ist. Dies ist der Server am Ende der DNS-Lookup-Kette, der mit dem abgefragten Ressourceneintrag antwortet und es dem Webbrowser, der die Anfrage stellt, letztendlich ermöglicht, die IP-Adresse zu erreichen, die für den Zugriff auf eine Website oder andere Webressourcen erforderlich ist. In unserem Fall antwortet es mit der IP-Adresse 104.198.14.52 an den DNS-Resolver, der dem Client dasselbe zurückantwortet. Dies markiert die vollständige Kette eines DNS-Lookups.

DNS-Lookup

Um die IP-Adresse eines Domainnamens zu erfahren, können Sie einfach Folgendes tun:

dig arbazsiddiqui.me +short

104.198.14.52

104.198.14.52 ist die IP-Adresse des Serverhostings arbazsiddiqui.me.

DNS-Einträge

DNS-Einträge sind Anweisungen, die in autoritativen Nameservern gespeichert sind und Informationen über eine Domäne bereitstellen, einschließlich der mit dieser Domäne verknüpften IP-Adresse und der Bearbeitung von Anfragen für diese Domäne. Sie als Websitebesitzer sind dafür verantwortlich, dem autoritativen Nameserver (der letzten Station bei der DNS-Suche) die Adresse des Servers mitzuteilen, auf dem Ihre Website gehostet wird. Mit DNS-Einträgen können Sie mehrere Dinge tun, z. B. Subdomains hinzufügen. Ein Datensatz besteht normalerweise aus drei Dingen a Typea Host und ein Value. Sehen wir uns die Datensatztypen einzeln an.

Ein Datensatz

Ein A-Eintrag ordnet einen Domänennamen einer IPv4-Adresse zu. Es ist das, was Sie verwenden, um zu zeigen arbazsiddiqui.me zu 104.198.14.52.

TypGastgeberWertTTL
EIN@104.198.14.5214400

Der obige Datensatz bedeutet, dass, wenn jemand tippt arbazsiddiqui.me im Browser wird die Anfrage an den Server über die IP weitergeleitet 104.198.14.52. Das @ hier gibt an, dass dies ein Eintrag für die Root-Domain ist, und der Wert „14400“ ist die TTL (Time To Live), angegeben in Sekunden. Das bedeutet, dass es 240 Minuten (14400 Sekunden) dauert, bis ein A-Record aktualisiert wird.

Einige Registrare wie goDaddy nennen den Host als Name.

Das AAAA record tut dasselbe für IPv6

CNAME

Ein CNAME-Eintrag wird verwendet, wenn eine Domain oder Subdomain ein Alias ​​einer anderen Domain ist. Mit anderen Worten, wenn Sie eine Subdomain wie hinzufügen möchten www oder blog zuarbazsiddiqui.me. Der Wert des CNAME-Eintrags ist stets eine andere Domain und NICHT die IP-Adresse. Wenn Sie also eine Subdomain hinzufügen möchten www zu arbazsiddiqui.mees wird so aussehen:

TypGastgeberWertTTL
CNAMEwwwarbazsiddiqui.me14400

Diese Aufzeichnung besagt, wann www.arbazsiddiqui.me im Browser eingegeben wird, löst eine Suche nach aus value was in diesem Fall ist arbazsiddiqui.me. Dies wird schließlich dem A-Record dienen arbazsiddiqui.me aus dem oberen Abschnitt. CNAMEs können also auf andere Domains oder Subdomains verweisen, aber die Kette endet schließlich in einem A-Eintrag, der zum Bereitstellen von Websites verwendet wird.

CNAME kann auch verwendet werden, um auf eine andere App zu verweisen, die irgendwo wie heroku oder netlify gehostet wird.

TypGastgeberWertTTL
CNAMEwwwtrusting-jennings-f13c44.netlify.com14400

TXT

Mit dem Texteintrag kann ein Domänenadministrator Text in den DNS-Eintrag eingeben. Es wird am häufigsten verwendet, um den Besitz der Domain zu bestimmen. Um beispielsweise eine Domain in der Google Search Console zu beanspruchen, müssen Sie ein Token als TXT-Eintrag hinzufügen, damit Google weiß, dass Sie der rechtmäßige Eigentümer Ihrer Domain sind.

TypGastgeberWertTTL
TXT@google-site-verification=xyz14400

MX

Der Mail-Exchange-Datensatz leitet E-Mails an einen Mail-Server weiter. Der Wert des MX-Eintrags sollte eine Domäne sein.

TypGastgeberWertPrioritätTTL
MX@mailhost.example.com314400
MX@mailhost2.example.com414400

Das neue Feld priority hier gibt die Reihenfolge an, in der die Nachricht versucht wird. Hier mailhost.example.com wird zuerst versucht, da es eine höhere Priorität hat, und wenn es fehlschlägt, wird es versucht mailhost2.example.com.

Caching

Im Abschnitt DNS-Lookup haben wir gesehen, dass eine DNS-Auflösung ein 4-Hop-Prozess ist, aber bei einer guten Internetverbindung funktionieren die Dinge nahtlos. DNS verwendet das UDP-Protokoll, das schnell ist, aber dennoch so viele Auflösungen so schnell durchführt, dass dies ohne die Einführung von Caching nicht möglich ist. DNS-Antworten werden auf vielen verschiedenen Ebenen zwischengespeichert. In Ihrem Browser, in Ihrem heimischen Router und auch in zwischengeschalteter Netzwerkhardware.

Und wenn es Caching gibt, gibt es auch eine Möglichkeit, den Cache ablaufen zu lassen, und das ist die TTL (Time to Live). Jeder DNS-Eintrag hat einen zugehörigen TTL-Wert, und so lange kann sein Wert von jeder beteiligten Partei gespeichert (zwischengespeichert) werden. Sie können dies jederzeit vom DNS-Server aus ändern.

Hosts-Datei

Alle Betriebssysteme bieten uns eine hosts Datei. Wir können hier eine Liste von Domains und ihren jeweiligen IP-Adressen führen. Wenn eine Domäne hier aufgeführt ist, hat sie Vorrang vor dem normalen DNS-Lookup-Flow und die Clients versuchen direkt, eine Verbindung mit einer IP herzustellen, die gegen eine IP aufgeführt ist. Eine Zeile von hosts Datei sieht so aus:

Das Hinzufügen der Websites, die Sie am häufigsten besuchen, und ihrer jeweiligen IPs scheint eine gute Idee zu sein und wird Ihnen definitiv einige Zeit für die Lösung sparen, aber es ist zu mühsam, diese Aktualisierung aufrechtzuerhalten, wenn sich die IP ändert oder wenn Sie süchtig nach mehr Websites werden. Für diesen Anwendungsfall können wir Tools wie verwenden dnsmasq das ist ein leichter Caching-Server.

Die Hosts-Datei ist jedoch eine großartige Möglichkeit, Ihren neuen Server zu überprüfen, ohne öffentlich etwas zu ändern. Bearbeiten Sie einfach diese Datei und stellen Sie Ihre Domain manuell so ein, dass sie auf die IP-Adresse Ihres neuen Servers verweist, und Sie können sie mit einem Browser wirklich testen .

Ein weiterer großartiger Anwendungsfall der Hosts-Datei ist das Blockieren unerwünschter Websites, indem ihre Domain zur Loopback-IP hinzugefügt wird 127.0.0.1. Dies kann getan werden, um Anzeigen, Malware zu blockieren oder die Reddit-Sucht zu heilen. Fügen Sie einfach die folgenden Zeilen zu Ihrer hinzu /etc/hosts Datei:

Fazit

Es ist leicht, die interne Funktionsweise des Internets hinter all den Katzenvideos zu vergessen. Die DNS-Auflösung ist ein solcher interner Mechanismus, der das Internet ausmacht, und es ist gut zu wissen, wie es unter der Haube funktioniert. In diesem Artikel haben wir gelernt, was DNS ist und wie eine URL im Browser in eine IP-Adresse umgewandelt wird. Wir haben uns auch DNS-Einträge und ihre jeweiligen Anwendungsfälle angesehen.

Gefällt Ihnen dieser Beitrag?
Weitere Informationen finden Sie auf Twitter:[@arbazsiddiqui_(https://twittercom/arbazsiddiqui_)[@arbazsiddiqui_(https://twittercom/arbazsiddiqui_)
Oder besuchen Sie mich Webseite
Oder treten Sie dem bei Newsletter
Danke fürs Lesen!

Similar Posts

Leave a Reply

Your email address will not be published.