Lösung 1:
Mit dieser Konfiguration funktionieren die meisten Anwendungen problemlos mit Ihrem Eintrag aus /etc/hosts
.
Jedoch host
schaut nicht auf /etc/nsswitch.conf
. Das ist beabsichtigt, nicht zufällig, seit host
ist speziell ein DNS-Lookup-Programm. /etc/hosts
ist kein DNS, es ist (meistens) das, was wir vorher verwendet haben wir hatten DNS.
Dasselbe gilt auch für dig
und nslookup
- sie sind auch DNS-spezifisch.
Lösung 2:
Die host
Befehl (zusammen mit dig
und nslookup
) ist Teil des bind
DNS-Dienstprogramme. Als Dienstprogramm zur DNS-Auflösung führt es allein die DNS-Auflösung durch.
Wenn Sie daran interessiert sind, einen Eintrag von einem beliebigen libnss
abzurufen -gesteuerter Datenspeicher können Sie den getent
verwenden Programm. Um beispielsweise einen Hosts-Eintrag zu erhalten, verwenden Sie ihn wie folgt:
getent hosts google.com
Dies folgt der Auflösungsreihenfolge, die unter hosts:
festgelegt ist in /etc/nsswitch.conf
in der Reihenfolge, die /etc/hosts
enthält wenn "files" als eine der Optionen aufgeführt ist.