Jak ustawić program rozpoznawania nazw DNS w Fedorze przy użyciu menedżera sieci?


16

Chcę wypróbować publiczny DNS Google. W tym celu muszę zmienić adres serwera nazw. Wiem, że jest w pliku /etc/resolv.conf, ale za każdym razem, gdy zaczynam network-manager, zastępuje wartości w tym pliku tym, co uzyskuje za pomocą DHCP.

Jak mam to powiedzieć, żeby tego nie robić? Przejrzałem GUI, ale mogłem tylko znaleźć opcję dodania kolejnych adresów IP.

Poniżej znajduje się trofeum :)

wprowadź opis zdjęcia tutaj

Odpowiedzi:


11

Metoda nr 1

Znajdź plik konfiguracyjny NetworkManager i dodaj / zmodyfikuj następujący wpis (w CentOS5 znajduje się w /etc/NetworkManager/nm-system-settings.conflub /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

Nie :) Musi to nadpisać później, po otrzymaniu informacji od dostawcy usług internetowych. Ale to dało mi kilka pomysłów, przejdę przez pomruk network-scripts, może gdzieś tam jest ...
wvxvw 10.09.13

Jeśli metoda nr 3 nie działa, możesz uzyskać większą skuteczność edycji, /etc/ppp/ip-up.localktóra najwyraźniej jest wywoływana po ustanowieniu połączenia przez pppd.
Drav Sloan,

@DravSloan Doceniam twój ans, to działa, ale znalazłem jakiś hack na google, który zamieściłem tutaj .. zobaczmy.
Rahul Patil,

Numer 1 zadziałał dla mnie, wielkie dzięki!
wvxvw

Przynajmniej w Debian Jessie plik nm-system-settings.conf nie istnieje, chociaż jest na nim strona podręcznika. Strona podręcznika stwierdza, że ​​nm-system-settings jest przestarzała w NetworkManager / NetworkManager.conf jako nowym ustawieniu domyślnym.
jeremiah

7

Spójrz na:

$ man NetworkManager.conf

Wygląda na to, że jeśli dodasz linię dns=nonew [main]sekcji, NetworkManager się nie dotknie /etc/resolv.conf.


1
Nie, nie pomogłem. Zresztą to przepisało. O ile mogę wywnioskować z tego pliku, wtyczki w tej sekcji są przeznaczone do buforowania pobranych rekordów DNS. Ale mogę się mylić.
wvxvw,

2
Czy zrestartowałeś menedżera sieci po edycji pliku?
rickhg12hs

Wyłączyłem i włączyłem sieć za pomocą widżetu KDE. Uważam, że powinno to zostać ponownie uruchomione. Niestety ponowne uruchomienie za pomocą service NetworkManager restartnie działa - nie wiem dlaczego: | nie można się połączyć po tym, jak spróbuję uruchomić go ponownie w ten sposób.
wvxvw

Bardzo dziwne, że restartto nie zadziała. Nie doświadczyłem tego w żadnym używanym przeze mnie systemie.
rickhg12hs

3
Ok, więc ustawienie dns=nonew /etc/NetworkManagerFedorze 24 ... (istnieje również stary PEERDNS=nonew /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?..
David Tonhofer

3

PPPD senario

Używanie pponi ppoffprawdopodobnie oznacza, że ​​używasz pppd. W takim przypadku ponwykona skrypt /etc/ppp/ppp_on_boot. Jeśli nie podasz argumentu pon, 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/optionsdo sprawdzenia.

Wyobrażam sobie, że ten plik zawiera ustawienie usepeerdns. Ze strony podręcznika 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. 

Skomentuj tę opcję, zatrzymaj pppdsię poff, edytuj, resolv.confa następnie uruchom ponownie za pppdpomocą poni sprawdź, czy to rozwiąże problem.

eth0 senario

Jeśli edytujesz plik ustawień interfejsu ( /etc/sysconfig/network-scripts/ifcfg-eth0dla 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ą

DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"

Dzięki, blisko, ale jeszcze nie teraz. Używany jest interfejs pppi nie ma odpowiedniego ifcfg-ppppliku: |
wvxvw 10.09.13

Jak tworzone jest połączenie typu punkt-punkt? Jak to było skonfigurowane?
Drav Sloan,

Interesujące jest to, że nie wiem, jak został stworzony. :) Wiem tylko, że poni poffmagicznie 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 ...
wvxvw 10.09.2013

Zaktualizowano, aby zobaczyć, czy możesz to zmienić za pomocą ustawień pppd.
Drav Sloan,

Bardzo dziękuję za poświęcony czas, mimo że ostatecznie skorzystałem z odpowiedzi Rahula Patila, było to bardzo pouczające!
wvxvw,

2

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.


1

Dodałem dns=nonedo 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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.