Wie funktioniert DNS denn nun? Wie wird also aus “www.fuhselab.de“ eine IP-Adresse? Mit dieser Frage endete der letzte Artikel. Nachfolgend soll nun eine Antwort gefunden werden…

Mit dem Webbrowser ins Internet:

Die Experimente mit der hosts-Datei haben ja gezeigt, dass zuerst versuch wird ein lokales Ziel zu erreichen. Bei entsprechendem Eintrag in der hosts-Datei (etc/hosts) wird die Adresse “www.fuhselab.de“ also zuerst lokal weitergeleitet.

Der weitere Ablauf in stark vereinfachter Form sieht dann so aus: Anfrage per DNS-Resolver an rekursiven DNS-Server. Anfrage an autorativen DNS-Server. Anfrage an Root-Level-DNS-Server (über den rekursiven DNS-Server).

Die Datei etc/nsswitch.conf:

Das zuerst versucht wird ein lokales Ziel zu erreichen ist in der Datei etc/nsswitch.conf festgelegt. Erst wenn es nicht gelingt einen Rechnernamen mit lokalen Dateien aufzulösen, kommt DNS zum Einsatz.

Der Resolver:

Die eigentliche Namensauflösung realisiert der Resolver. Aufgerufen wird er durch die C-Bibliothek (libc). Für die Konfiguration des Resolvers ist die Datei “resolv.conf“ zuständig.

DNS-Experimente:

Zum Abschluss dieses sehr trockenen Themas noch einige Experimente… Um die IP-Adresse zu einem Namen herauszufinden, kann folgender Terminalbefehl genutzt werden.

  • dig www.webseite.de

Das funktioniert auch mit lokalen Adressen, etwa per “dig localhost“… Zwei weitere kleine Befehle für das Terminal:

  • nslookup www.webseite.de
  • host www.webseite.de

Die drei vorgestellten Befehle dig, nslookup und host eignen sich zur Fehlersuche in einem DNS-System.

Von Torsten