Назад | Перейти на главную страницу

Неверный адрес назначения: foo.bar.local

Я не понимаю, почему в итоге я получаю "Неверный адрес назначения".

DNS работает:

root@pc:~# nslookup foo.bar.local
Server:     127.0.1.1
Address:    127.0.1.1#53

Name:   foo.bar.local
Address: 10.100.71.28

Traceroute to IP работает:

root@pc:~# tcptraceroute 10.100.71.28 443
Selected device eth1, address 172.17.6.82, port 34878 for outgoing packets
Tracing some path to 10.100.71.28 on TCP port 443 (https), 30 hops max
 1  172.17.6.254  0.401 ms  0.510 ms  0.402 ms
 2  10.130.4.2  0.941 ms  0.893 ms  0.800 ms
 3  * * *
 4  * * *
 5  10.100.63.11  17.915 ms  20.109 ms  17.054 ms
 6  10.100.71.28 [open]  22.654 ms  17.680 ms  21.081 ms

Tcptraceroute на hostname не работает ???

root@pc:~# tcptraceroute foo.bar.local 443
Bad destination address: foo.bar.local

Обновить

Другие команды, такие как ping или traceroute, также не могут получить доступ к foo.bar.local.

Я не получаю вывода из этого:

getent hosts foo.bar.local

Команда из вопроса показывает, что DNS работает и IP-сеть работает.

Что случилось? :-)

Ваши операционные системы не подключаются к DNS напрямую, как это делает nslookup.

Переключатель службы имен происходит до того, как операционная система запросит DNS, если команда tcptraceroute foo.bar.local бежит.

Я исправил это так:

diff -r /var/tmp/etc-saved/nsswitch.conf /etc/nsswitch.conf
11c11
< hosts:          files mdns4_minimal [NOTFOUND=return] dns
---
> hosts:          files dns