Acho que encontrei a solução: adicionando
supersede domain-name-servers 127.0.0.1;
para /etc/dhcp/dhclient.conf
faz o trabalho.
Então talvez possa ser útil para outra pessoa se eu escrever meu pequeno tutorial para fazer o pdnsd funcionar no Ubuntu com servidor de nome de domínio fixo (digamos, opendns), independentemente da conexão usada.
- Desative o dnsmasq editando
/etc/NetworkManager/NetworkManager.conf
e comentando#dns=dnsmasq
-
Forçar o gerenciador de rede a definir o DNS como 127.0.0.1 para cada conexão, adicionando
supersede domain-name-servers 127.0.0.1;
para
/etc/dhcp/dhclient.conf
- Instalar o pdnsd
- Edite o
/etc/default/pdnsd
e definaSTART_DAEMON=yes
-
Configure o pdnsd para usar seus dns favoritos. Por exemplo, para usar o seu
/etc/pdnsd
deve parecer comoglobal { perm_cache=16536; cache_dir="/var/cache/pdnsd"; max_ttl=604800; run_as="pdnsd"; paranoid=on; status_ctl=on; neg_rrs_pol=on; par_queries=1; } server { label="opendns"; ip="208.67.222.222","208.67.220.220"; timeout=30; interval=30; uptest=ping; ping_timeout=50; purge_cache=off; proxy_only=on; } source { ttl=86400; owner="localhost."; file="/etc/hosts"; }
-
Reinicie o pdnsd e a conexão de rede:
sudo service pdnsd restart sudo invoke-rc.d network-manager restart