Я не понимаю, почему в итоге я получаю "Неверный адрес назначения".
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