Я прочитал, что я должен иметь nameserver 127.0.1.1
в своем /etc/resolv.conf
файле, только если у моей машины есть собственный DNS-сервер. Поскольку это не так, то это вызывает проблемы. Но независимо от того, что я делаю, я не могу избавиться от этого!
Вот что я сделал до сих пор:
- Добавление
nameserver 192.168.1.3
в/etc/resolvconf/resolv.conf.d/base
файл. (192.168.1.3 - это DNS нашей сети). - Продолжительность:
sudo resolvconf --enable-updates
. - Продолжительность:
sudo resolvconf -u
. - Запуск:
sudo service network-manager restart
(просто чтобы убедиться).
Тем не менее , когда я открываю /etc/resolv.conf
файл , он говорит: nameserver 127.0.1.1
! У кого-нибудь есть идеи, что не так?
Обратите внимание, что это на самом деле 127.0.1.1
! И я понятия не имею, почему это не так 127.0.0.1
!
Даже когда я обновляю /etc/resolv.conf
вручную и заменяю его на что-либо еще, sudo resolvconf -u
он вернется к 127.0.1.1
! Откуда этот адрес?
источник
restart network-manager
не работает на Xenial, так как он использует systemd вместо upstart. попробуйsystemctl restart network-manager
Возможно, 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.Эта конфигурация по умолчанию работает правильно, поэтому, если ваша ситуация не является особенной, вы должны восстановить конфигурацию по умолчанию.
Чтобы восстановить конфигурацию по умолчанию, проследите, чтобы
#
символа../run/resolvconf/resolv.conf
Для этого выполните следующие команды.
Исходная конфигурация NetworkManager должна иметь
в /etc/NetworkManager/NetworkManager.conf. Это разумный выбор, чтобы отключить управляемый NetworkManager локальный сервер пересылки имен, закомментировав
dns=dnsmasq
строку.После всего этого рекомендуется перезагрузить компьютер, чтобы очистить устаревшие записи информации сервера имен.
источник
В моем случае
dns=dnsmasq
в/etc/NetworkManager/NetworkManager.conf
файле не было ни одной строки, и/etc/resolv.conf
он все еще был перезаписан сетевым менеджером, чтобы иметь толькоnameserver 127.0.1.1
Исправление состояло в том, чтобы восстановить символическую ссылку для правильного обновления:
источник