Почему resolv.conf не помнит адреса DNS?
Я установил dnsmasq и добавил nameserver 127.0.0.1 к resolv.conf файл, чтобы я мог использовать подстановочные знаки в моей конфигурации Apache. Но каждый раз, когда я перезагружаю компьютер или меняю соединение Wi-Fi, мне приходится добавлять его снова, чтобы оно работало.
Почему это происходит и как я могу заставить это работать?
3 ответа
Если вы используете систему Ubuntu до 12.04, которая еще не была обновлена до 12.04 или новее, или вы удалили пакет resolvconf, то установите пакет resolvconf.
sudo apt-get install resolvconf
Если resolvconf уже был установлен, убедитесь, что /etc/resolv.conf является символической ссылкой на../run/resolvconf/resolv.conf.
sudo dpkg-reconfigure resolvconf
После того как вы установили пакет dnsmasq (не путать с пакетом dnsmasq-base), вам не нужно редактировать /etc/resolv.conf. Initscript из dnsmasq вызывает (через resolvconf) "127.0.0.1", который будет добавлен в resolv.conf при запуске dnsmasq, при условии значения IGNORE_RESOLVCONF не установлен в yes в / etc / default / dnsmasq.
Сомневающиеся, пожалуйста, прочитайте /etc/init.d/dnsmasq.
PS В Ubuntu 12.04 есть усложняющий фактор. NETworkManager по умолчанию запускает процесс dnsmasq, который слушает исключительно 127.0.0.1. Это противоречит "автономному" процессу dnsmasq; только один из двух может начать. Это известная ошибка #959037, которая была исправлена в Ubuntu 12.10 (путем перемещения адреса прослушивания NM-dnsmasq на 127.0.1.1). Если вы все еще используете Ubuntu 12.04 и хотите запустить автономный dnsmasq, вам следует либо отключить dnsmasq, управляемый NetworkManager (закомментировав "dns=dnsmasq" в /etc/NetworkManager/NetworkManager.conf), либо настроить автономный dnsmasq, чтобы он не выполнялся. слушать 127.0.0.1.
Вам необходимо указать предпочитаемый вами DNS-сервер в Network Manager. В противном случае он продолжит перезаписывать файл конфигурации. См. Как правильно изменить IP-адрес DNS?
Встречаясь с ответом Egil. Если сетевой менеджер захламляет файл, кто-то в ubuntuforums разрешил его, удалив пакет resolvconf. Это может или не может все еще работать, так как поток немного стар.