Я установил dnsmasq
и добавил nameserver 127.0.0.1
в файл resolv.conf
, чтобы я мог использовать подстановочные знаки в моей конфигурации apache. Но каждый раз, когда я перезагружаю компьютер или меняю соединение Wi-Fi, мне приходится добавлять его снова, чтобы оно работало.
Почему это происходит и как я могу заставить его работать?
Построение ответа Эгиля . Если сетевой менеджер захламляет файл, кто-то из ubuntuforums разрешил его, удалив пакет resolvconf. Это может или не может все еще работать, так как поток немного стар.
Если вы используете систему 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.
P.S. В 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?