Utiliser des DNS alternatifs sous NetworkManager

L’interface graphique permettant la configuration de NetworkManager sous Linux ne permet pas toujours de faire ce qu’on veut. Heureusement, sous Linux, il y a souvent un moyen de parer aux manques des GUI (Graphical User Interface) en passant par de fichiers de conf.

Le fichier qui permet de changer les DNS sous Linux s’appelle /etc/resolv.conf. Le hic, c’est que ce fichier est modifié par NetworkManager à chaque fois qu’il établit une connexion… Nous allons donc créer un autre fichier nommé /etc/resolv.conf.opendns ayant pour contenu :

# OpenDNS servers
nameserver 208.67.222.222
nameserver 208.67.220.220

Mais ça ne suffit pas, il faut maintenant dire à NetworkManager de remplacer resolv.conf par ce fichier une fois la connexion établie. Pour ça, nous allons créer un script dans /etc/NetworkManager/dispatcher.d/ :
sudo nano /etc/NetworkManager/dispatcher.d/opendns
Et y mettre le contenu :

#!/bin/bash
cp -f /etc/resolv.conf.opendns /etc/resolv.conf

Puis le rendre exécutable :
sudo chmod u+x /etc/NetworkManager/dispatcher.d/opendns

On se déconnecte puis on se reconnecte et voilà ! Une visite de www.opendns.com/welcome vous confirmera que c’est bon.

Une réaction sur “Utiliser des DNS alternatifs sous NetworkManager”

Les trackbacks sont désactivés.

  • pierrotlalune dit :

    Bonjour Tom,
    Merci pour tes explications très claires. J’ai suivi ta procédure sous Fedora 17 mais en utilisant nautilus en root. Il a été nécessaire de redémarrer l’ordi pour que les nouveaux réglages soient pris en compte. Je suis en ip dynamique, dans ce cas, il faut en plus utiliser ddclient comme expliqué sur le site de Opendns pour mettre à jour les changements d’ip.
    Bravo et encore merci. pll