dnsmasq escuta em 0.0.0.0 quando iniciado pelo NetworkManager

dnsmasq escuta em 0.0.0.0 quando iniciado pelo NetworkManager

É possível configurar o NetworkManager ou o dnsmasq para escutar em 0.0.0.0 quando o dnsmasq é iniciado pelo processo do NetworkManager?

Eu notei tudo o que coloquei/etc/NetworkManager/dnsmasq.d/00-example.confarquivo, como:

listen-address=0.0.0.0

dnsmasq é iniciado com os seguintes argumentos do NetworkManager:

/usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d

Alguma ideia de como mudar--listen-endereçoopção?

Responder1

Acho que você está no Ubuntu, o que acontece aqui é quednsmasqé usado pelo Network Manager comoplugarpara armazenar em cache suas consultas DNS locais, razão pela qual é predefinido na linha de comando:

--listen-address=127.0.0.1

Então para fazer uma configuração para o seulocalrede, você precisará desabilitar o dnsmasq padrão, comentando a linha abaixo do arquivo acima/etc/NetworkManager/NetworkManager.conf:

#dns=dnsmasq

Uma vez feito isso, reinicie o NM:

systemctl restart NetworkManager

Então você precisará instalar umpadrãoversão do dnsmasq e use-a para seus próprios fins.

COMPLEMENTAR: Uma vez instalada a versão padrão em um de seus servidores, este será o seu servidor DNS, deverá ter umfixoip já que você está usando o servidor dhcp para sua rede, finalmente para fazer seu servidor dns escutar em todos os seusipsnão só noloopback (127.0.0.1) ** você deve colocar no arquivo de configuração **/etc/dnsmasq.conf:

listen-address=0.0.0.0

Responder2

Eu lutei com isso também. Acho que Reda Salih provavelmente tem a resposta correta. Mas eu já havia investido muito tempo tentando dobrar o NetworkManager à minha vontade e finalmente consegui fazê-lo funcionar. Só queria adicionar minha resposta:

  1. Certifique-se de que seu host tenha um IP estático. Se você usar DHCP (mesmo com alocação estática), o DnsMasq irá capturar configurações indesejáveis, como usar um servidor DNS diferente para endereços locais.
  2. Não coloque IPs locais /etc/hosts, pois isso não será lido. Use addn-hostsa opção com um arquivo diferente.
  3. Defina dhcp-option=3para o seu gateway se for diferente deste host Dnsmasq (o meu é).
  4. NÃO defina dhcp-option=6(a menos que você saiba o que está fazendo)
  5. Para substituir a listen-addrconfiguração forçada pelo NetworkManager, você pode usar a interfaceconfiguração no arquivo conf. Eu tenho o meu definido, interface=eth0,loo que para mim é equivalente a listen-addr=0.0.0.0. Outras configurações (como dhcp-host) são normais e não precisam de menção adicional.

informação relacionada