O binário executável dnsmasq está incluído no pacote dnsmasq-base.
Quando dns=dnsmasq
aparece sem comentário no NetworkManager.conf, o NetworkManager executa uma instância do dnsmasq para servir como um servidor de nomes de encaminhamento local.
O pacote dnsmasq
inclui arquivos de configuração que suportam a execução de uma instância do dnsmasq independentemente do NetworkManager. A última instância do dnsmasq é configurada por /etc/dnsmasq.conf.
O utilitário resolvconf
é usado pelos configuradores de interface de rede para gerenciar as informações do servidor de nomes. Com base nas informações que foram fornecidas, ele grava um arquivo /run/resolvconf/resolv.conf que deve ser usado para configurar o resolvedor da libc. O arquivo é ativado nesta função, criando um link simbólico de /etc/resolv.conf para /run/resolvconf/resolv.conf.
NetworkManager e ifup enviam as informações do servidor de nomes para o resolvconf. Normalmente /etc/resolv.conf é um link simbólico para /run/resolvconf/resolv.conf e tudo funciona bem.
No caso de dns=dnsmasq
parecer descomentado no NetworkManager.conf, o NetworkManager fornece o resolvconf com o endereço do servidor de nomes 127.0.1.1 que aparece no resolv.conf; O processo escravo dnsmasq do NetworkManager atende no endereço 127.0.1.1 e encaminha as consultas para os servidores de nomes externos nos endereços que o NetworkManager foi configurado para conhecer ou aprendeu via DHCP.
A primeira observação do questionador é:
But my file /etc/resolv.conf (symbolic link) is not overwritten by the Network Manager.
Isso indica que há um erro de configuração. /etc/resolv.conf deve ser um link simbólico para /run/resolvconf/resolv.conf e o resolvconf deve atualizar o último quando alguma interface de rede estiver configurada ou desconfigurada. Dado que você tem dns=dnsmasq
no NetworkManager.conf, a linha nameserver
no resolv.conf deve ser nameserver 127.0.1.1
, a menos que você tenha a instância do servidor do dnsmasq em execução, caso em que pode ser nameserver 127.0.0.1
, direcionando a libc resolver para usar a instância do servidor do dnsmasq que atende em 127.0.0.1.
A pergunta subsequente do questionador é:
[...] /etc/resolvconf/resolv.conf.d/original [...]
Should I remove or edit this file to make it work?
Este arquivo ( original
), que é simplesmente uma cópia do /etc/resolv.conf no momento em que o pacote resolvconf é instalado, normalmente não tem efeito. Ele é mantido pelo pacote resolvconf no caso de o pacote ser desinstalado, então esse arquivo original
é colocado de volta em /etc/resolv.conf. Em alguns casos, o /etc/resolvconf/resolv.conf.d/tail é um link simbólico para original
, mas isso não é padrão e, se isso for válido para o seu sistema, você deve alterar o /etc/resolvconf/resolv.conf.d / tail para ser um arquivo vazio ou um link simbólico para /dev/null
.