Méthode #1
Trouvez le fichier de configuration de NetworkManager et ajoutez/modifiez l'entrée suivante (dans CentOS5 c'est dans /etc/NetworkManager/nm-system-settings.conf
ou /etc/NetworkManager/system-connections/
) et éditez votre fichier de connexion DSL :
[ipv4]
method=auto
dns=8.8.8.8;4.2.2.2;
ignore-auto-dns=true
Remarque :- si [ipv4]
ne fonctionne pas alors essayez avec [ppp]
Méthode #2
Vous pouvez modifier l'autorisation de /etc/resolv.conf
afin qu'il ne puisse pas être écrit par d'autres services ou vous pouvez utiliser chattr
.
Méthode #3
Créez un script comme mentionné ci-dessous dans /etc/Networkmanager/dispatcher.d/
et n'oubliez pas de le rendre exécutable :
#!/bin/bash
#
# Override /etc/resolv.conf and tell
# NetworkManagerDispatcher to go pluck itself.
#
# scripts in the /etc/NetworkManager/dispatcher.d/ directory
# are called alphabetically and are passed two parameters:
# $1 is the interface name, and $2 is "up" or "down" as the
# case may be.
# Here, no matter what interface or state, override the
# created resolver config with my config.
cp -f /etc/resolv.conf.myDNSoverride /etc/resolv.conf
saisie de /etc/resolv.conf.myDNSoverride
nameserver 8.8.8.8
Jetez un oeil à :
$ man NetworkManager.conf
Il semble que si vous ajoutez une ligne avec dns=none
dans le [main]
section, NetworkManager ne touchera pas /etc/resolv.conf
.
Scénario PPPD
Utilisation de ppon
et ppoff
signifie probablement que vous utilisez pppd
. Auquel cas pon
exécutera le script /etc/ppp/ppp_on_boot
. Sauf si vous fournissez un argument à pon
, il chargera les paramètres de /etc/ppp/peers/provider
. Si vous fournissez un argument, il dira par exemple pon interwebz
il cherchera /etc/ppp/peers/interwebz
. Il y a aussi /etc/ppp/options
à vérifier aussi.
J'imagine que ce fichier contient le paramètre usepeerdns
. À partir de la page de manuel de pppd :
usepeerdns
Ask the peer for up to 2 DNS server addresses. The addresses supplied by the peer
(if any) are passed to the /etc/ppp/ip-up script in the environment variables
DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. In
addition, pppd will create an /etc/ppp/resolv.conf file containing one or two
nameserver lines with the address(es) supplied by the peer.
Commentez cette option, arrêtez pppd
avec poff
, modifiez votre resolv.conf
puis redémarrez votre pppd
avec pon
et voyez si cela résout le problème.
scénario eth0
Si vous modifiez votre fichier de paramètres d'interface (/etc/sysconfig/network-scripts/ifcfg-eth0
pour eth0), vous pouvez voir quels paramètres le gestionnaire de réseau utilise.
Si vous avez DHCP en cours d'exécution sur cette interface BOOTPROTO=yes
alors vous pouvez lui dire de ne pas remplacer vos paramètres DNS avec PEERDNS=no
. Si vous utilisez une adresse statique, vous pouvez définir vos paramètres DNS avec
DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"