почему nslookup возвращает ошибку 'not find host'?

1

На тестовой ВМ я настроил / 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)

spuder
источник
1) Вы пытаетесь разрешить имя виртуальной машины с хоста? Или имя хоста из ВМ? 2) Как виртуальная машина подключена к хосту?
MariusMatutiae
Изнутри вм (фу)
spuder

Ответы:

4

Это очень просто, DNS-преобразователь (10.0.0.2) не имеет записи для foo,

nslookup не считает /etc/hosts, это специально для проверки записей DNS для серверов имен (вот ns в nslookup).

Так как ваш DNS-сервер не имеет записи для foo, разрешение имени не удается.

Burhan Khalid
источник