Возможно, resolvconf настроен неправильно. Это особенно вероятно, если вы играли с его конфигурационными файлами, не понимая, как работают resolvconf и NetworkManager.
Для получения дополнительной информации, пожалуйста, прочитайте документацию resolvconf и сообщение в блоге Стефана Грабера.
https://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/
Во-первых, вы должны знать, что как Ubuntu Desktop, так и Ubuntu Server по умолчанию имеют и активируют resolvconf. Resolvconf предоставляет платформу для динамического обновления файла /etc/resolv.conf упорядоченным и обратимым способом.
Во-вторых, вы должны знать, что по умолчанию в Ubuntu Desktop установлен и активирован NetworkManager. По умолчанию NetworkManager запускает экземпляр dnsmasq в качестве локального сервера пересылки имен. Этот контролируемый NetworkManager экземпляр dnsmasq прослушивает запросы в 127.0.1.1. Когда NetworkManager запускает экземпляр dnsmasq, он говорит resolvconf вставить адрес 127.0.1.1
в resolv.conf. Как упоминалось в другом ответе, если вы настроите NetworkManager не запускать экземпляр сервера локальной пересылки имен, то он не запустит сервер имен локальной пересылки и не скажет resolvconf вставить адрес 127.0.1.1
в resolv.conf.
Эта конфигурация по умолчанию работает правильно, поэтому, если ваша ситуация не является особенной, вы должны восстановить конфигурацию по умолчанию.
Чтобы восстановить конфигурацию по умолчанию, проследите, чтобы
- /etc/resolvconf/resolv.conf.d/head содержит только текст заголовка resolvconf, состоящий из двух строк, начинающихся с
#
символа
- /etc/resolvconf/resolv.conf.d/base - пустой файл
- /etc/resolvconf/resolv.conf.d/tail - это пустой файл
- /etc/resolv.conf - это символическая ссылка с контентом
../run/resolvconf/resolv.conf
Для этого выполните следующие команды.
sudo su
dpkg-reconfigure resolvconf # And answer `Yes` to agree to dynamic updates
cd /etc/resolvconf/resolv.conf.d
echo '# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN' > head
rm -f base tail original
:> base
:> tail
Исходная конфигурация NetworkManager должна иметь
[main]
...
dns=dnsmasq
...
в /etc/NetworkManager/NetworkManager.conf. Это разумный выбор, чтобы отключить управляемый NetworkManager локальный сервер пересылки имен, закомментировав dns=dnsmasq
строку.
[main]
...
#dns=dnsmasq
...
После всего этого рекомендуется перезагрузить компьютер, чтобы очистить устаревшие записи информации сервера имен.
sudo reboot