Я возникла проблема с DNS в Ubuntu 18.04. Я думаю, что есть неправильная конфигурация где-то между netwrok-manager, systemd-resolved и resolvconf.
Я могу пинговать IP-адреса нормально, но не имена хостов:
$ ping -c 3 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=120 time=5.07 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=120 time=4.89 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=120 time=4.33 ms
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 4.336/4.768/5.072/0.318 ms
$ ping -c 3 www.google.com
ping: www.google.com: Name or service not known
Работают службы systemd-resolved и resolvconf:
Существует символическая ссылка /etc/resolv.conf, указывающая на / run / systemd / resolve / stub-resolv.conf
nameserver 127.0.0.53
options edns0
Если я заменю символическую ссылку /etc/resolv.conf файлом, содержащим приведенный ниже файл, имена хостов будут разрешены
search station
nameserver 127.0.1.1
Я хотел бы знать, как это исправить, чтобы он работал без удаления символической ссылки . Может кто-нибудь посоветовать, как решить эту проблему?
Проблема в том, что DNS-сервер, который вы используете для разрешения доменных имен, не может разрешить запрашиваемый домен. Когда вы используете localhost в качестве DNS-сервера, он может не иметь запрашиваемого домена. Поэтому вы должны либо использовать настройки DNS вашего маршрутизатора (изменить IP, который находится рядом с ключевым словом пространства имен, на 192.168.1.1), либо использовать общедоступные DNS-серверы, такие как Cloud's (1.1.1.1.1) или Google (8.8.8.8). Вы также можете найти другие публичные DNS-серверы и даже заплатить за некоторые из них. Какой вариант вы выберете, решать вам. Но я бы не рекомендовал использовать ваш локальный хост (127.0.0.1/8) в качестве DNS-сервера.