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.