Metoda nr 1
Znajdź plik konfiguracyjny NetworkManager i dodaj / zmodyfikuj następujący wpis (w CentOS5 znajduje się w /etc/NetworkManager/nm-system-settings.conf
lub /etc/NetworkManager/system-connections/
) i edytuj plik połączenia DSL:
[ipv4]
method=auto
dns=8.8.8.8;4.2.2.2;
ignore-auto-dns=true
Uwaga: - jeśli [ipv4]
nie działa, spróbuj[ppp]
Metoda nr 2
Możesz zmienić uprawnienie /etc/resolv.conf
, aby nie mogło być napisane przez inne usługi lub możesz z niego korzystać chattr
.
Metoda nr 3
Utwórz skrypt, jak wspomniano poniżej, /etc/Networkmanager/dispatcher.d/
i nie zapomnij, aby był wykonywalny:
#!/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
wpis /etc/resolv.conf.myDNSoverride
nameserver 8.8.8.8
network-scripts
, może gdzieś tam jest .../etc/ppp/ip-up.local
która najwyraźniej jest wywoływana po ustanowieniu połączenia przez pppd.Spójrz na:
Wygląda na to, że jeśli dodasz linię
dns=none
w[main]
sekcji, NetworkManager się nie dotknie/etc/resolv.conf
.źródło
service NetworkManager restart
nie działa - nie wiem dlaczego: | nie można się połączyć po tym, jak spróbuję uruchomić go ponownie w ten sposób.restart
to nie zadziała. Nie doświadczyłem tego w żadnym używanym przeze mnie systemie.dns=none
w/etc/NetworkManager
Fedorze 24 ... (istnieje również staryPEERDNS=none
w/etc/sysconfig/network-scripts/ifcfg-${IFNAME}
(jak opisano tu na przykład ... jest nadal używany) ... restart całego okna, aby sprawdzić to działa?..PPPD senario
Używanie
ppon
ippoff
prawdopodobnie oznacza, że używaszpppd
. W takim przypadkupon
wykona skrypt/etc/ppp/ppp_on_boot
. Jeśli nie podasz argumentupon
, załaduje ustawienia z/etc/ppp/peers/provider
. Jeśli podasz argument, powie na przykład,pon interwebz
że będzie szukał/etc/ppp/peers/interwebz
. Jest też/etc/ppp/options
do sprawdzenia.Wyobrażam sobie, że ten plik zawiera ustawienie
usepeerdns
. Ze strony podręcznika pppd:Skomentuj tę opcję, zatrzymaj
pppd
siępoff
, edytuj,resolv.conf
a następnie uruchom ponownie zapppd
pomocąpon
i sprawdź, czy to rozwiąże problem.eth0 senario
Jeśli edytujesz plik ustawień interfejsu (
/etc/sysconfig/network-scripts/ifcfg-eth0
dla eth0), możesz zobaczyć, jakich ustawień używa menedżer sieci.Jeśli na tym interfejsie działa DHCP
BOOTPROTO=yes
, możesz powiedzieć mu, aby nie zastępował ustawień DNS za pomocąPEERDNS=no
. Jeśli używasz adresu statycznego, możesz ustawić ustawienia DNS za pomocąźródło
ppp
i nie ma odpowiedniegoifcfg-ppp
pliku: |pon
ipoff
magicznie praca i że NetworkManager jest jakoś w stanie z niego korzystać. Moje pierwsze przypuszczenie było takie, że musiało tak byćpppoeconf
, ale nie jest tu nawet zainstalowane ...Możesz to zrobić w interfejsie GUI konfiguracji Network Managera, ale o ile widzę, należy to zrobić dla każdego połączenia i nie można tego zrobić globalnie, co oznacza, że musisz skonfigurować go indywidualnie dla każdego połączenia Wi-Fi. (To trochę denerwujące, ale ma również tę zaletę, ponieważ wiele sieci Wi-Fi blokuje DNS na czymkolwiek innym niż serwer wewnętrzny, na lepsze lub gorsze, więc indywidualna konfiguracja prawdopodobnie będzie konieczna, aby wszystko działało).
W każdym razie w Fedorze 19 albo przejdź do pola „Ustawienia sieci”, które otrzymasz z menu rozwijanego przez Menedżera sieci, lub uruchom panel ustawień Połączenia sieciowe. (Dlaczego te dwie różne? Wydaje mi się, że wprowadzane są zmiany.) W każdym razie możesz edytować każde połączenie, aw każdym interfejsie znajdź kartę IPv4.
W konfiguratorze ustawień sieciowych zmień opcję Automatycznie z Włącz na Wyłącz i wprowadź adresy Google. Lub w interfejsie GUI połączeń sieciowych zmień metodę z „Automatyczny (DHCP)” na „Tylko adresy automatyczne (DHCP)” i ponownie wprowadź DNS w polu.
źródło
Dodałem
dns=none
do głównej sekcji/etc/Networkmanager/NetworkManager.conf
, a następnie zrestartowałem, co skutecznie powstrzymało NetworkManager przed nadpisaniem instrukcji wyszukiwania w/etc/resolv.conf
.źródło