Methode Nr. 1
Suchen Sie die NetworkManager-Konfigurationsdatei und fügen Sie den folgenden Eintrag hinzu/ändern Sie ihn (in CentOS5 befindet er sich in /etc/NetworkManager/nm-system-settings.conf oder /etc/NetworkManager/system-connections/ ) und bearbeiten Sie Ihre DSL-Verbindungsdatei :
[ipv4]
method=auto
dns=8.8.8.8;4.2.2.2;
ignore-auto-dns=true
Hinweis:- wenn [ipv4] funktioniert nicht, dann versuchen Sie es mit [ppp]
Methode #2
Sie können die Berechtigung von /etc/resolv.conf ändern damit es nicht von anderen Diensten geschrieben werden kann oder Sie können chattr verwenden .
Methode #3
Erstellen Sie ein Skript wie unten in /etc/Networkmanager/dispatcher.d/ erwähnt und vergessen Sie nicht, es ausführbar zu machen:
#!/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
Eingabe von /etc/resolv.conf.myDNSoverride
nameserver 8.8.8.8
Siehe:
$ man NetworkManager.conf
Es scheint, dass, wenn Sie eine Zeile mit dns=none hinzufügen im [main] Abschnitt, NetworkManager berührt /etc/resolv.conf nicht .
PPPD-Senario
Mit ppon und ppoff bedeutet wahrscheinlich, dass Sie pppd verwenden . In diesem Fall pon führt das Skript /etc/ppp/ppp_on_boot aus . Es sei denn, Sie geben pon ein Argument an , es werden Einstellungen von /etc/ppp/peers/provider geladen . Wenn Sie ein Argument angeben, lautet es beispielsweise pon interwebz es wird nach /etc/ppp/peers/interwebz gesucht . Es gibt auch /etc/ppp/options zu überprüfen.
Ich könnte mir vorstellen, dass diese Datei die Einstellung usepeerdns enthält . Von der pppd-Manpage:
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.
Kommentieren Sie diese Option aus, stoppen Sie pppd mit poff , bearbeiten Sie Ihren resolv.conf und starten Sie dann Ihren pppd neu mit pon und prüfen Sie, ob das Problem dadurch behoben wird.
eth0 senario
Wenn Sie Ihre Schnittstelleneinstellungsdatei (/etc/sysconfig/network-scripts/ifcfg-eth0 für eth0), können Sie sehen, welche Einstellungen der Netzwerkmanager verwendet.
Wenn DHCP auf dieser Schnittstelle ausgeführt wird BOOTPROTO=yes dann können Sie es mit PEERDNS=no anweisen, Ihre DNS-Einstellungen nicht zu überschreiben . Wenn Sie eine statische Adresse verwenden, können Sie Ihre DNS-Einstellungen mit
DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"