Descobri que minhas configurações estavam corretas, mas não estavam sendo usadas.
>ps ax | grep dnsmasq
1273 ? S 0:00 /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
Como pode ser visto, não estava usando o arquivo conf ... Fiz alguns outros testes para ter certeza de que era o caso.
Acabei resolvendo o problema, mas consegui:
- Desativando o plugin dnsmasq do Network-manager: comente a linha
dns
em/etc/NetworkManager/NetworkManager.conf
- Movendo o
/etc/NetworkManager/dnsmasq.d/dnsmasq.conf
para/etc/dnsmasq.conf
- Adicionando uma captura de todos os servidores de nomes ao /etc/dnsmasq.conf (veja abaixo para lista de arquivos)
- Adicionando o endereço do dnsmasq ao topo do /etc/resolve.conf (alterando o arquivo
/etc/resolvconf/resolv.conf.d/head
... veja abaixo para lista de arquivos) - Iniciando o dnsmasq de tal forma que ele não lerá o resolve.conf:
dnsmasq -d -R -q
(Eu queria registrar as consultas na tela para que eu pudesse ver o que estava acontecendo). - Uma que eu tinha tudo funcionando Eu encapsulei o dnsmasq em um arquivo de unidade do sistema
$ cat /etc/dnsmasq.conf
cache-size=1000
listen-address=127.0.1.1
server=8.8.8.8
server=/abcprivate.net/nn.nn.nn.nn
cache-size=1000
$ cat /etc/resolvconf/resolv.conf.d/head
nameserver 127.0.1.1
$ cat /etc/systemd/system/dnsmasq.service
[Unit]
Description=SystemD - Dnsmasq is a Domain Name System (DNS) forwarder
Requires=network-manager.service
[Service]
Type=simple
ExecStart=/usr/sbin/dnsmasq -d -q -R