Nach der Manpage, host
sollte den Server oder die Server abfragen, die in aufgeführt sind /etc/resolv.conf
", aber es wird nur der erste Eintrag in dieser Datei verwendet:
thefourthtower:$cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 192.168.1.254
domain gateway.2wire.net
search gateway.2wire.net
thefourthtower:$host thefourthtower
Host thefourthtower not found: 3(NXDOMAIN)
thefourthtower:$host thefourthtower 192.186.1.254
thefourthtower.gateway.2wire.net has address 192.168.1.74
Das 2wire
Bit kommt von einem 2Wire-Modem / Router. AT & amp; T (oder 2Wire?) Haben das Ding mit einer sehr schlechten Firmware ausgestattet und sein DNS-Server (Cache) ist im Allgemeinen langsamer als Google Public DNS, ein Problem, das durch AT & amp; Ts eigene flockige DNS-Server verursacht wird (keine Option für alternative Server).
Kann ich bekommen host
oder nslookup
weiter verwenden /etc/resolv.conf
Einträge (und vermeiden Sie es, Server manuell anzugeben)?
Oder ist die einzige Lösung, um Hosts manuell zuzuordnen /etc/hosts
gegeben die gewünschte Reihenfolge der resolv.conf
Einträge?
AKTUALISIEREN
Nichts in den obigen Ausführungen impliziert, dass der Nameserver von Google meiner Meinung nach über meine lokalen Hosts Bescheid wissen sollte.
Ich frage: Kann man einen bestimmten Nameserver nur für lokale Namen verwenden (da ein Name wie 'thefourthtower' lokal sein muss)?
Es sieht aus wie die Antwort ist NEIN , und ich muss einen Nameserver auf meinem Computer ausführen, da der vorhandene lokale Nameserver so schlecht ist.
nsswitch.conf
wird respektiert vonhost
seit dem eintrag in/etc/hosts
existiert.host
zur Diagnose eines Namensauflösungsproblems mit einer Anwendung. Anwendungen, die verwendengethostbyname()
wird beeinflusst vonnsswitch.conf
.Sie können den folgenden Code zum Abfragen verwenden alles Nameserver in Ihrer /etc/resolv.conf:
Oder wenn Sie es vorziehen
dig(1)
:quelle