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.