テスト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)内から実行されます。
非常に単純なDNSリゾルバー(10.0.0.2)には、foo
のエントリがありません。
nslookup
は/etc/hosts
を考慮しません。これは、ネームサーバー(nslookupのns
)に対してDNSエントリをチェックするためのものです。
DNSサーバーにfoo
のエントリがないため、名前解決は失敗します。