ADMIN-Tipp: Benutzerspezifische DNS-Konfiguration

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Auf Unix- und Linux-Systemen ist die systemweite DNS-Konfiguration Standard. Mit einem Trick lässt sich das umgehen.

Seit Menschengedenken wird auf Unix- und Linux-Systemen die DNS-Konfiguration systemweit festgelegt. Für Tests und andere Spezialanwendungen sind aber auch benutzerspezifische DNS-Setups möglich. Der Weg führt wieder einmal über die Umgebungsvariable LD_PRELOAD, die es erlaubt, eine dynamische Library zu verwenden, die bestimmte Systemcalls überschreibt. Der typischer Systemaufruf für die Auflösung von Hostnamen ist "gethostbyname()", es gibt aber mittlerweile auch noch weitere wie etwa "getaddrinfo()" und "res_init()". Diese drei Aufrufe überschreibt die dynamische Library, die unter https://github.com/hadess/resolvconf-override zu finden ist. Mit den folgenden Befehlen ist sie schnell installiert.

git clone https://github.com/hadess/resolvconf-override
cd resolvconf-override/
./autogen.sh 
make
sudo make install

Um sie zu benutzen, ist es nötig, die Umgebungsvariable LD_PRELOAD wie folgt zu exportieren und einen oder mehrere Nameserver anzugeben:

export LD_PRELOAD=/usr/local/lib/libresolvconf_override.so NAMESERVER1=10.0.0.254

Damit Programme von der individuellen DNS-Konfiguration Gebrauch machen, müssen sie nach dem Setzen der Environment-Variable in derselben Shell-Umgebung gestartet werden.

10.12.2015
DNS

Ähnliche Artikel

comments powered by Disqus
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 /2023