É 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:
- 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.
- Não coloque IPs locais
/etc/hosts
, pois isso não será lido. Useaddn-hosts
a opção com um arquivo diferente. - Defina
dhcp-option=3
para o seu gateway se for diferente deste host Dnsmasq (o meu é). - NÃO defina
dhcp-option=6
(a menos que você saiba o que está fazendo) - Para substituir a
listen-addr
configuração forçada pelo NetworkManager, você pode usar ainterface
configuração no arquivo conf. Eu tenho o meu definido,interface=eth0,lo
o que para mim é equivalente alisten-addr=0.0.0.0
. Outras configurações (como dhcp-host) são normais e não precisam de menção adicional.