为什么 nslookup 返回错误“找不到主机”?

为什么 nslookup 返回错误“找不到主机”?

在测试虚拟机上,我已经设置了 /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 ?

編輯1
所有这些命令都是从虚拟机(foo)内部运行的

答案1

这很简单,DNS 解析器(10.0.0.2)没有 的条目foo

nslookup不考虑/etc/hosts,它专门用于检查名称服务器的 DNS 条目(即nsnslookup 中的)。

由于您的 DNS 服务器没有 的条目foo,因此名称解析失败。

相关内容