Certains fournisseurs d'accès internet ont des serveurs DNS menteurs, pour bloquer certains sites ou encore sur une faute de frappe pour vous proposer de "solutions". Pour éviter ce genre de désagrément, on peut utiliser son propre serveur (cache) de noms :

sudo apt-get install unbound

Sous Ubuntu 14.04, Unbound est directement configuré pour utiliser les serveurs racines avec DNSSEC : on va juste les mettre à jour :

wget ftp://ftp.internic.net/domain/named.cache -O /etc/unbound/root.hints

Vous pouvez automatiser la mise à jour avec cron. Par exemple :

sudo crontab -e
@monthly wget ftp://ftp.internic.net/domain/named.cache -O /etc/unbound/root.hints >/dev/null 2>&1

Network-manager utilise lui dnsmask. Pour le désactiver, éditer le fichier de configuration et commenter ce comportement :

sudo nano /etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
sudo restart network-manager

Pour vérifier qu'Unbound est bien utilisé :

sudo netstat -ulnp | grep ":53 "
udp        0      0 127.0.0.1:53            0.0.0.0:*                           2799/unbound    
udp6       0      0 ::1:53                  :::*                                2799/unbound

Deux petits dig pour tester le tout :

dig erwan.me
; <<>> DiG 9.9.5-3ubuntu0.1-Ubuntu <<>> erwan.me
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5806
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;erwan.me.                      IN      A

;; ANSWER SECTION:
erwan.me.               10800   IN      A       217.70.184.38

;; AUTHORITY SECTION:
erwan.me.               10800   IN      NS      c.dns.gandi.net.
erwan.me.               10800   IN      NS      a.dns.gandi.net.
erwan.me.               10800   IN      NS      b.dns.gandi.net.

;; Query time: 238 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Feb 06 20:32:08 CET 2015
;; MSG SIZE  rcvd: 114
dig erwan.me
; <<>> DiG 9.9.5-3ubuntu0.1-Ubuntu <<>> erwan.me
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1850
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;erwan.me.                      IN      A

;; ANSWER SECTION:
erwan.me.               10776   IN      A       217.70.184.38

;; AUTHORITY SECTION:
erwan.me.               10775   IN      NS      c.dns.gandi.net.
erwan.me.               10775   IN      NS      a.dns.gandi.net.
erwan.me.               10775   IN      NS      b.dns.gandi.net.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Feb 06 20:32:32 CET 2015
;; MSG SIZE  rcvd: 114

Le second se fait bien sur notre cache ^_^