Использование dnsmasq с NetworkManager
Было хорошо известно, что 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-запросов. Это снова это очень важно для локальных сетей, так как существует много одновременных пользователей. - Наконец, нам также нужны функции DHCP и TFTP dnsmasq, поэтому, даже если бы NM+dnsmasq включал реальный DNS-сервер, нам пришлось бы запустить другой dnsmasq
Но я не уверен, что они все еще сохраняются и/или как исправление решило проблему(проблемы). Кроме того, ни один из них не очень ясно, что именно они сделали и как они решили свою проблему. Т. е. Часть решения отсутствует в длинном обсуждение. Может кто-нибудь заполнить пробелы, пожалуйста? Т.е.,
dnsmasq
, предоставленный Ubuntu из коробки, не работает на стороне сервера по вышеуказанным причинам. А также, на стороне клиента, "dnsmasq, установленный на этих ноутбуках Ubuntu, не может выполнять DNS-запрос локальной сети с моего DNS-сервера", потому что "(ноутбуки Ubuntu') NetworkManager вызывает у них странную настройку сервера имен 127.0.1.1" (ссылка: Решение DNS для локальной сети или локального дома сеть)
Как заставить dnsmasq бесперебойно работать с NetworkManager, чтобы предоставлять DNS и DHCP (и TFTP) в мою локальную сеть как на стороне сервера, так и на стороне клиента?
ТЛ'др
Для тех, кто ищет ответ. Из всех приведенных ниже ответов я нашел самое простое решение @brad для серверной стороны (все еще нет хорошего ответа для клиентской стороны):
Единственным решением проблемы является отключение dnsmasq NM-накопителя... и установка "стандартный" dnsmasq, а затем настройте его с помощью стандартного файла конфигурации
/etc/dnsmasq.conf
.