1. dnsmasq
e o Network Manager
Como você mesmo, a partir de alguns dias no futuro: sua compreensão está correta.
Observe, no entanto, que o Network Manager inicia uma instância de dnsmasq
como um processo filho (não um daemon separado) e mantém seu próprio conjunto de configurações do dnsmasq.
2. Posso ver como dnsmasq
está lidando com uma determinada pesquisa de DNS?
Desculpe, ainda não sei.
3. Posso instruir dnsmasq
a usar um servidor DNS específico para o domínio local?
Sim, a opção --server
em dnsmasq
( manpage aqui ) permite que você especifique servidores DNS upstream para domínios específicos.
Você pode passar essa opção para a invocação do dnsmasq
pelo Network Manager. Eu fiz isso criando um arquivo no diretório /etc/NetworkManager/dnsmasq.d/
com o conteúdo:
server=//192.168.0.1
Normalmente, esta linha seria server=/domain/<ipaddr>
; Nesse caso, a especificação de domínio vazia significa "somente nomes não qualificados", como localserver
em seu exemplo (em oposição a localserver.domain
).
Como consertei seu problema imediato
A alteração acima ainda não corrigiu as coisas. Eu verifiquei que isso foi carregado ( service NetworkManager status
mostra uma entrada de log dnsmasq[<pid>]: using nameserver 192.168.0.1#53 for unqualified names
), mas ainda retorna NXDOMAIN
em pesquisas. Então resolvi o seguinte hack:
As máquinas locais às quais estou me conectando têm IPs estáticos, então eu as especifiquei manualmente em um arquivo em /etc/NetworkManager/dnsmasq.d
com o conteúdo:
address=/localserver/192.168.0.13
address=/localserve2/192.168.0.14
[...and so on...]