Возможно, что resolvconf неправильно сконфигурирован. Это особенно вероятно, если вы играли с файлами конфигурации, не понимая, как работают resolvconf и NetworkManager.
Для получения дополнительной информации ознакомьтесь с документацией resolvconf и записью блога Stéphane Graber.
Ссылка
Сначала вы должны знать, что оба Ubuntu Desktop и Ubuntu Server по умолчанию устанавливают и активируют resolvconf. Resolvconf предоставляет структуру для динамического обновления файла /etc/resolv.conf упорядоченным и обратимым способом.
Во-вторых, вы должны знать, что Ubuntu Desktop по умолчанию установил и активировал NetworkManager. По умолчанию NetworkManager запускает экземпляр dnsmasq для работы в качестве локального сервера пересылки. Этот экземпляр dnsmasq, контролируемый NetworkManager, прослушивает запросы в 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