DNS-Auflösung mit systemd-resolved

Cache me

Mit systemd-resolved steht ein relativ neuer DNS-Stub-Resolver für Linux-Systeme zur Verfügung. Dieser kümmert sich um die Auflösung von IP-Adressen und Hostnamen und legt sie in einem Cache ab, damit nicht jede Anwendung selbst mit dem DNS-Server kommunizieren muss. Der Open-Source-Tipp zeigt, wie Sie system-resolved einsetzen.
Die IT-Landschaften in Unternehmen werden zunehmend komplexer und dynamischer. Dieser Trend dürfte auch im neuen Jahr anhalten. Zum Jahresauftakt beleuchtet ... (mehr)

Bekanntermaßen kümmert sich auf einem Linux-System der Name Service Switch (NSS) um die Auflösung von Namen. Dies trifft nicht nur auf Benutzer- oder Gruppennamen zu, sondern auch auf Rechnernamen, die es in IP-Adressen und umgekehrt aufzulösen gilt. Anwendungen greifen hierfür auf Funktionen der GNU C Library (glibc) zurück. So existiert für die Auflösung von Hostnamen in IP-Adressen die Funktion »getaddrinfo()« beziehungsweise »getnameinfo()« für IP-Adressen in Hostnamen.

 Der NSS ist komplett modular aufgebaut und kann daher unterschiedliche Quellen abfragen, um die Anfragen aufzulösen. Die Quellen sind zusammen mit den jeweiligen Systemdatenbanken in der Datei "/etc/nsswitch.conf" definiert. Für die DNS-Datenbank könnte ein typischer Eintrag wie folgt aussehen:

grep hosts /etc/nsswitch.conf
hosts: files dns

Dieser Eintrag besagt, dass NSS zuerst auf das Modul "files" zurückgreift, um Anfragen nach einer IP-Adresse beziehungsweise einem Hostnamen zu beantworten. Das files-Modul versucht, diese Anfragen anhand von statischen Einträgen aus der Datei "/etc/hosts" aufzulösen. Gelingt dies nicht, kommt das nächste Modul "dns" zum Einsatz. Dieses greift nun auf die Datei "/etc/resolv.conf" zurück, um dort nachzusehen, an welchen DNS-Resolver die Anfrage weiterzuleiten ist. Somit kümmert sich jede Anwendung mithilfe des NSS-Resolvers selbst darum, die Auflösung eines Namens oder einer IP-Adresse durchzuführen. Antworten werden auch nicht gecached, sodass der gleiche Name oder die gleiche IP-Adresse immer wieder über den soeben beschriebenen Mechanismus aufgelöst werden muss.

systemd-resolved als DNS-Stub-Resolver

Um dieses Problem zu beheben, gibt es sogenannte Stub-Resolver, oftmals auch einfach als DNS-Forwarder

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2021