Почему мне пришлось удалить resolvconf, чтобы снова запустить dnsmasq?


8

Вчера я обновился до Precise и dnsmasq перестал работать. То есть DNS-запросы к localhost, где dnsmasq прослушивает (127.0.0.1), были отклонены.

Удаление resolvconf ( apt-get remove resolvconf) и перезагрузка решили проблему (нашел это предложение где-то в Google). /etc/resolv.confвыглядел хорошо с и без resolvconf на месте. Нет разницы вообще.

  1. Зачем мне использовать resolvconf? Есть ли какие-то преимущества? Статья в Википедии, посвященная resolvconf, - отстой.
  2. Почему resolvconf мешает работе dnsmasq? Это известная проблема?

bla @ blubb: ~ $ [-f /usr/share/doc/resolvconf/README.gz] && echo "Найдено" || эхо "Не найдено" Не найдено Умник.
— lightxx

Ответы:


10

Простой ответ на (1): resolvconf устанавливает себя в качестве посредника между программами, которые предоставляют эту информацию (такими как ifup и ifdown, DHCP-клиенты, демон PPP и локальные серверы имен), и программами, которые используют эту информацию (например, DNS). кеши и резолвер библиотеки). Начиная с Ubuntu 12.04 resolvconf является частью установки по умолчанию как на сервере, так и на рабочем столе. Никогда не нужно удалять resolvconf, и люди, которые его удаляют, обычно не понимают этого, как правило, потому что они не читали resolvconf (8) и /usr/share/doc/resolvconf/README.gz.

Ответ на второй вопрос заключается в том, что resolvconf, скорее всего, не мешает работе dnsmasq. Я предполагаю, что вы столкнулись с ошибкой # 959037.

Объяснение: В Ubuntu 12.04 есть два способа запуска dnsmasq. Существует традиционная автономная версия dnsmasq, которая прослушивает все адреса. И есть новый контролируемый NetworkManager процесс dnsmasq, который слушает только 127.0.0.1. Последний конфликтует с первым, если первый не перенастроен. Эта проблема была решена в Ubuntu 12.10, когда контролируемый NM процесс dnsmasq прослушивал 127.0.1.1 вместо 127.0.0.1 и заставляя автономный процесс dnsmasq прослушивать только адреса, назначенные интерфейсам.


Я прочитал manapage и до сих пор не могу найти надежный способ добавить свои собственные серверы имен resolv.conf.
— Майкл Миор

С установленным resolvconf вы можете добавить адрес сервера имен, добавив nameserver x.x.x.x/etc/resolvconf/resolv.conf.d/head. Имейте в виду, однако, что это, как правило, не является необходимым или рекомендуемым. Как правило, есть более правильный способ добавить строки "nameserver" в resolv.conf. Обычно утилита, которая настраивает сетевой интерфейс, добавляет или удаляет адреса серверов имен, доступные через этот интерфейс, запустив resolvconf -aили resolvconf -d, соответственно. Приоритизация адресов серверов имен, добавленных таким образом, регулируется /etc/resolvconf/interface-order.
— Jdthood

Фактически, добавление строки сервера имен headдобавляло ее ПОСЛЕ сервера имен по умолчанию.
— Майкл Миор

Я не тестировал его, но, похоже, решил echo x.x.x.x | resolvconf -a loбы добавить сервер имен, который хотел бы быть первым для всех интерфейсов.
— Майкл Миор

Resolvconf всегда помещает содержимое headв начало (верх, начало) resolv.conf.
— Jdthood

2

Я только что удалил его при установке. Я использовал pppd вручную для соединения с модемом 3G, и resolvconf вмешивался в мои настройки DNS, автоматически добавляя DNS своего провайдера, когда я хотел использовать собственный DNS. У pppd есть опции для управления этим, но resolvconf забил их своими настройками. Я также хотел бы знать ответ на этот вопрос? Кажется, это какой-то пакет типа «сделай это проще, но вместо того, чтобы усложнять»?

PS Я нашел этот отчет об ошибке: https://bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/922578


спасибо за ваш вклад. Я бы проголосовал за это, но мне не хватает представителя.
— lightxx

@lightxx: за тебя проголосовали;)
— Томаш Зелиньски

Вместо удаления resolvconf вы можете настроить resolvconf на игнорирование информации сервера имен, поступающей из pppd.
— Jdthood

Нормальное содержание resolv.conf довольно просто. Всякий раз, когда машина является сервером или даже рабочей станцией, не предназначенной для ноутбука, очевидно, что проще отследить один файл resolv.conf, а не полдюжины различных файлов, потенциально используемых resolvconf.
— ericx

@jdthood - я не вижу, как это сделать на справочной странице resolvconf.conf, меня интересуют особенности реализации.
— дпс

1

Простой ответ на (1): resolvconf устанавливает себя в качестве посредника между программами, которые предоставляют эту информацию (такими как ifup и ifdown, DHCP-клиенты, демон PPP и локальные серверы имен), и программами, которые используют эту информацию (например, DNS). кеши и резолвер библиотеки).

Это из описания пакета. На настольных компьютерах он работает совместно с NetworkManager для плавной обработки соединений.

Поэтому resolvconf вместе с dnsmasq используются в 12.04 для повышения надежности обработки информации DNS в настольной версии. Так что в некоторых ситуациях это делает вещи лучше, но в целом ситуации не хватает документации в нужном месте, особенно. в мире серверов.

Несмотря на множество поисков в Google, я не смог выяснить, что рекомендуется при установке сервера.

Что касается (2), у вас есть противоположная проблема от меня. Dnsmasq хорошо работает с resolvconf на моей машине и обновляет файл /etc/resolv.conf, чтобы он содержал 127.0.0.1, но имеет другие проблемы, потому что dnsmasq не получает серверы имен ISP от dhclient на eth0 (это шлюз), а также получить серверы имен, которые я ввел вручную в разделе eth0 в / etc / network / interfaces.

Почему вы используете dnsmasq? Вы также используете шлюз с двумя сетевыми картами? Или это просто обычный рабочий стол? Если это так, resolvconf координирует с сетевым менеджером


спасибо за Ваш ответ. Я бы проголосовал за это, к сожалению, вам нужно 15 репутации, чтобы проголосовать. LOL
— LightXX

1
man-страницы хороши, когда вы знаете, что вам нужно знать. Если вы этого не сделаете, они могут быть озадачивать, если не сказать больше. Howto's, примеры и часто задаваемые вопросы - это то, что вам нужно, когда у вас нет опыта в какой-либо области.
— Адам

upvoted @lightxx от вашего имени :)
— FKL
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.