Когда я проверяю с помощью ping-запросов google.com на своей Ubuntu 18.04, она дает мне
ping: google.com: Temporary failure in name resolution
Я затем продолжил бы работать
sudo service systemd-resolved start
Мой/etc/resolv.conf имеет символьную ссылку как показано
/etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf
Содержание следующие
# This file is managed by man:systemd-resolved(8). Do not edit.
#
# This is a dynamic resolv.conf file for connecting local clients to the
# internal DNS stub resolver of systemd-resolved. This file lists all
# configured search domains.
#
# Run "systemd-resolve --status" to see details about the uplink DNS servers
# currently in use.
#
# Third party programs must not access this file directly, but only through the
# symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
# replace this symlink by a static file or a different symlink.
#
# See man:systemd-resolved.service(8) for details about the supported modes of
# operation for /etc/resolv.conf.
nameserver 127.0.0.53
options edns0
Мой вопрос после выполняет sudo сервис systemd-разрешенный запуск, он работал бы некоторое время (Возможно, несколько часов), затем когда я проверяю с помощью ping-запросов google.com снова, он дал бы ошибку определения имен. Как я могу постоянно позволить моей системе разрешить определение имен? Я полагаю, что это относится к чему-то systemd-разрешенный? Испытывали это за несколько дней.Спасибо
- Обновление-
hackish путь состоял бы в том, чтобы настроить sudo crontab для перезапуска сервиса каждые несколько часов.
Вы попытались изменить сервер DNS на некоторый другой сервер, Как google DNS 8.8.8.8
8.8.4.4
и посмотрите, что проблемы все еще произошли?
Изменить сервер DNS постоянно набор DNS к 127.0.0.53 systemd - как измениться постоянно?
Я не забываю вызывать ту же проблему NetworkMonitor, которые переопределяют мои настройки DNS и разрушенный разрешенный.
Таким образом, что сделать, вот:
grep resolved /var/log/syslog
Также можно попытаться видеть любые сообщения об ошибке
grep error /var/log/syslog
Последняя команда может возвратить набор строк, так уладьте ее. Если Вы найдете что-то, что просьбы отправляют его здесь.
Как вариант, можно установить NetworkMonitor, чтобы просто проигнорировать DNS в целом от DHCP и использовать вручную определенный полностью.
Кредит переходит к lauc.exon.nod
Вот команда для изменения существующего соединения.
nmcli con mod <connectionName> ipv4.dns "8.8.8.8 8.8.4.4"
connectionName
может быть найден командой: nmcli con
. В случае вопроса это могла бы быть "Система eth0"
Если Вы хотите проигнорировать автоматически настроенные серверы имен и области поиска, т.е. настройки передали от DHCP.
nmcli con mod <connectionName> ipv4.ignore-auto-dns yes
Наконец, для включения изменений снизьте соединение затем:
nmcli con down <connectionName>
nmcli con up <connectionName>
Проверьте с cat /etc/resolv.conf
. Вы не должны редактировать /etc/resolv.conf
вручную, поскольку это сгенерировано услугами NetworkManager, это, вероятно, будет переопределено в любой момент времени.
Существует известная ошибка с разрешенной службой-заглушкой, см. https://github.com/systemd/systemd/issues/10298
Обходной путь, который я нашел, состоял в том, чтобы изменить символическая ссылка для /etc/resolv.conf
, указывающая на
/run/systemd/resolve/resolv.conf
Похоже, проблема связана со статическими маршрутами. У меня не было проблем при использовании DHCP.
Проверьте ошибки панели запуска 1727237,1805027,1804487. После ошибки NXDOMAIN (проверьте выходные данные dmesg) разрешение DNS возвращается к более ограниченному протоколу на основе UDP и может случайным образом дать сбой на известных именах. Обходной путь, который сработал для меня, состоял в том, чтобы добавить пакет libnss-resolve, который изменил строку хостов /etc/nsswitch.conf для лучшей обработки определенных запросов.