Было хорошо известно, что NetworkManager не очень хорошо играет dnsmasq
(см .: здесь ). Я просмотрел длительное обсуждение здесь, но все еще не уверен, каков рекомендуемый способ справиться с ситуацией.
Все, что я хочу, это использовать dnsmasq
DNS и DHCP для моей локальной сети. Что было бы рекомендовано в этом случае?
Кажется, проблема остается даже для Ubuntu 14.04, даже ошибка считается исправленной.
Как обходные пути, люди отключают NM-порабощенных dnsmasq-base
по следующим причинам:
Порабощенный NM dnsmasq
использует жестко закодированные опции (в C), которые обеспечивают чрезвычайно ограниченную функциональность.
- Он не слушает ethX (
--listen-address=127.0.0.1
). Таким образом, мы не можем использовать наши серверы в качестве DNS-серверов для наших локальных сетевых компьютеров, то есть это совершенно бесполезно для локальных сетей. - Он не кэширует запросы (
--cache-size=0
). Нет кэширования ==> нет ускорения DNS-запросов. Это опять-таки очень важно для локальных сетей, так как есть много одновременных пользователей. - Наконец, нам также нужны функциональные возможности dnsmasq для DHCP и TFTP, поэтому даже если NM + dnsmasq включает в себя реальный DNS-сервер, нам придется запустить другой dnsmasq
Но я не уверен, что они все еще сохраняются и / или как исправление решило проблему (и). Кроме того, ни один из них не очень ясно, что именно они сделали и как они сделали, чтобы решить свою проблему. То есть часть решения отсутствует в длительной дискуссии . Может кто-нибудь заполнить пробелы, пожалуйста? То есть,
dnsmasq
Предоставляется вне коробки с Ubuntu не работает, на стороне сервера, по указанным выше причинам. А также, на стороне клиента, «dnsmasq, установленный на этих ноутбуках Ubuntu, не может выполнять DNS-запрос локальной сети с моего DNS-сервера» , потому что «(Ubuntu laptops») NetworkManager заставляет их иметь странную настройку сервера имен 127.0.1.1 » ( ref: решение DNS для локальной сети или локальной сети )
Как заставить dnsmasq беспрепятственно работать с NetworkManager, чтобы обеспечить DNS и DHCP (и TFTP) для моей локальной сети, как на стороне сервера, так и на стороне клиента?
TL'dr
для тех, кто ищет ответ. Из всех ответов, приведенных ниже, я обнаружил, что самое простое решение - @ brad для серверной части (все еще нет хорошего ответа для клиентской стороны):
Единственное решение проблемы - отключить NM-накопитель dnsmasq ... и установить «стандартный» dnsmasq, а затем настроить его через стандартный
/etc/dnsmasq.conf
файл конфигурации.