web-dev-qa-db-ja.com

nslookupが「ホストが見つかりません」というエラーを返すのはなぜですか?

テストVMで、マシン名を解決するために/ etc/hostsをセットアップしました。

Nslookupがサーバーを見つけられないのはなぜですか?

$hostname  
foo

$hostname -f  
foo

$cat /etc/hosts  
10.2.192.62   foo   foo.openstacklocal sdb nid01 nid02 nid03 nid04  
127.0.0.1     localhost localhost.localdomain localhost4 localhost4.localdomain4  
::1   localhost localhost.localdomain localhost6 localhost6.localdomain6

$uname -n  
foo

$ping foo  
PING foo (10.2.192.62) 56(84) bytes of data.  
64 bytes from foo (10.2.192.62): icmp_seq=1 ttl=64 time=0.028 ms  

$nslookup foo  
Server:     10.0.0.2  
Address:    10.0.0.2#53  
** server can't find foo: NXDOMAIN 

Nslookupについての私の理解は、マシン名を見つけるためにdnsサーバー(または/ etc/hosts)にクエリを実行する必要があるということです。

この場合、なぜfooを解決できないのですか?

Edit1
これらのコマンドはすべて、vm(foo)内から実行されます。

1
spuder

非常に単純なDNSリゾルバー(10.0.0.2)には、fooのエントリがありません。

nslookup/etc/hostsを考慮しません。これは、ネームサーバー(nslookupのns)に対してDNSエントリをチェックするためのものです。

DNSサーバーにfooのエントリがないため、名前解決は失敗します。

4
Burhan Khalid