На этот вопрос уже есть ответ здесь:
У меня странная ситуация. Пинг по ip работает нормально, но по имени хоста не работает. Мои наблюдения:
nslookup -type=ns google.com
;; connection timed out; no servers could be reached
В одном окне я позвонил:
ping google.com
ping: unknown host google.com
, а в другом - следующее:
sudo tcpdump -n -i eno1 |grep -A5 172.27.1.100.53 # this is my dns server
11:06:57.336938 IP 172.27.6.77.48852 > 172.27.1.100.53: 61526+ A? google.com. (28)
11:06:57.337151 IP 172.27.1.100.53 > 172.27.6.77.48852: 61526 1/0/0 A 172.217.12.110 (44)
11:06:57.337170 IP 172.27.6.77 > 172.27.1.100: ICMP 172.27.6.77 udp port 48852 unreachable, length 80
Как вы можете видеть в tcpdump, был ответ от DNS-сервера и google.com был правильно разрешен: 172.217.12.110.
Что здесь происходит? Могу я как-нибудь еще отладить его?
Я знаю, что когда я перезапущу свою сеть, все будет работать нормально, потому что это происходило несколько раз раньше. Это только обходной путь, и он не решает мою проблему.
Я использую Ubuntu 16.04 (рабочий стол).
Спасибо.
Я рассмотрел следующие проблемы: nameserver 127.0.1.1 в resolv.conf не исчезнет! Как исправить разрешение DNS, которое не работает после обновления до Ubuntu 13.10 (Saucy ) и сделал трюк с отключением строки «dns = dnsmasq» в /etc/NetworkManager/NetworkManager.conf.
Похоже, это решает мою проблему.