![Почему resolv.conf не запоминает адреса DNS?](https://rvso.com/image/1108685/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83%20resolv.conf%20%D0%BD%D0%B5%20%D0%B7%D0%B0%D0%BF%D0%BE%D0%BC%D0%B8%D0%BD%D0%B0%D0%B5%D1%82%20%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%B0%20DNS%3F.png)
Я установил dnsmasq
и добавил nameserver 127.0.0.1
в resolv.conf
файл, чтобы использовать подстановочные знаки в конфигурации Apache. Но каждый раз, когда я перезагружаю компьютер или меняю подключение Wi-Fi, мне приходится добавлять его снова, чтобы он заработал.
Почему это происходит и как это исправить?
решение1
Если вы используете систему 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. Скрипт инициализации 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, то вам следует либо отключить контролируемый NetworkManager dnsmasq (закомментировав "dns=dnsmasq" в /etc/NetworkManager/NetworkManager.conf), либо настроить автономный dnsmasq так, чтобы он не прослушивал 127.0.0.1.
решение2
Вам необходимо указать предпочитаемый DNS-сервер в Network Manager. В противном случае он продолжит перезаписывать config-файл. СмотритеКак правильно изменить DNS IP?
решение3
Строительство наЭгильответ. Если это сетевой менеджер затирает файл, кто-то наubuntuforumsрешил это удалением пакета resolvconf. Это может сработать, а может и нет, так как тема немного устарела.