Wir haben einen Hosteintrag auf unserem Server in /etc/hosts
der Datei. Dort steht also folgender Eintrag:
10.74.74.76 foo
Aber auf derselben Maschine mache ich über SSH Folgendes:
$ host -t a foo
foo.internal.domain.com has address 10.43.55.23
Warum wird hier nicht auf die IP verwiesen /etc/hosts
?
Antwort1
host
ist ein (einfaches)DNS-SucheDienstprogramm.
Alle Daten in Ihrer /etc/hosts
Datei sind NICHT DNS.
Das bedeutet, dass der host
Befehl immer die von Ihnen konfigurierten DNS-Server abfragt und die typische Priorität Ihres Systemauflösers, der zuerst die lokale Host-Datenbank abfragt, bevor er versucht, den Host/FQDN aufzulösen, nicht beachtet.
Antwort2
Der host
Befehl ist ein DNS-Lookup-Dienstprogramm, das immer DNS als Resolver verwendet und niemals /etc/hosts
eine Datei.
Von der Manpage host(1):
host
ist ein einfaches Dienstprogramm zum Durchführen von DNS-Lookups.
server
ist ein optionales Argument, das entweder der Name oder die IP-Adresse des Nameservers ist, den der Host anstelle des oder der in aufgeführten Server abfragen soll/etc/resolv.conf
.