Nie mogę zachować adresu serwera nazw, który ustawiłem /etc/resolv.conf
. Za każdym razem, gdy ustawiam tę wartość, menedżer sieci zastępuje ją domyślną bramą przy ponownym uruchomieniu.
Jak to ustawić?
Wolałbym inny sposób niż zmiana serwera nazw w routerze.
linux
nameserver
Ashildr
źródło
źródło
NetworkManager
(tak jak podano w pierwszym wierszu). Ten plik jest generowany ponownie przy każdym uruchomieniu przezNetworkManager
. To, w jaki sposób uzyskać do tego dostęp, zależy od twojej dystrybucji linux (o której nie wspomniałeś)NetworkManager
.Odpowiedzi:
To zależy. Proszę przeczytać do końca.
Jeśli nie masz zainstalowanego pakietu resolvconf , jest to łatwe: po zmianie go tak, jak chcesz, wydaj polecenie
Polecenie zmienia atrybuty pliku, czyniąc go
immutable
(opcja + i).Jeśli jednak masz zainstalowany pakiet resolvconf, plik /etc/resolv.conf może zostać przekształcony w dowiązanie symboliczne,
który jest plikiem w wirtualnym systemie plików, jest ucieleśnieniem niestałej wersji. Zabawne jest to, że możesz nie wiedzieć, że masz zainstalowany resolvconf, ponieważ najnowsze wersje systemów podobnych do Debiana są fabrycznie zainstalowane. Możesz ustalić, czy Twoja dystrybucja go zainstalowała, wydając polecenie:
Co najważniejsze, możesz ustalić, czy Twój
/etc/resolv.conf
plik został przekształcony w link za pomocą polecenia (plik /etc/resolv.conf) powyżej. Jeśli odpowiedź brzmiASCII text
, użyjchattr
, w przeciwnym razie ...Jeśli używasz statycznego adresu IP, najprostszą rzeczą jest dodanie następującego wiersza (lub czegoś takiego)
do sekcji określającej właściwości twojego statycznego interfejsu w / etc / network / interfaces.
Jeśli zamiast tego korzystasz z laptopa, który cały czas łączy się z różnymi sieciami, możesz zastosować się
LawrenceC
do doskonałej sugestii. Ale jeśli masz resolvconf w swoim systemie, poprawnym (i najprostszym) sposobem zapewnienia stałego zestawu DNS jest użycie plików w /etc/resolvconf/resolv.conf.d . W szczególności wykorzystywane są następujące pliki (patrz strona Stephane Graber ):podstawa : używane, gdy nie można znaleźć innych danych
head : Używany do nagłówka resolv.conf, może być użyty do zapewnienia, że serwer DNS jest zawsze pierwszy na liście
tail : Każdy wpis w tail jest dołączany na końcu wynikowego resolv.conf.
Więc umieść swoje ulubione serwery nazw w głowie w następujący sposób
i gotowe.
źródło
LawrenceC
, to jedno z poniższych./etc/resolvconf/
nie istnieje domyślnie w systemie Ubuntu 18.04.Dodaj podobną linię do
/etc/dhcp/dhclient.conf
korzystania z terminala głównego:supersede domain-name-servers 74.122.198.48, 50.116.23.211;
Powoduje to
dhclient
, że program, który wysyła żądanie DHCP i dokonuje zmian zgodnie z tym, co powiedziała odpowiedź, zastępuje informacje otrzymane z serwera DHCP powyższymi informacjami przed dokonaniem zmian.Powyżej są dwa serwery DNS OpenNIC. Wymień w razie potrzeby na dowolne serwery, których chcesz używać.
Ponieważ dzieje się tak za każdym razem, gdy otrzymujesz informacje o konfiguracji z DHCP, więc skorzystaj z
dhclient -v eth0
dowolnego interfejsu, aby go odświeżyć i zobaczyć zmianę.źródło
prepend domain-name-servers 8.8.8.8
na przykład dodać linię . Użyłoby to DNS ISP, jeśli jest dostępny.Wygląda na to, jak wspomniano w @Rik, że przyczyną wymiany DNS przy ponownym uruchomieniu komputera jest ustawiony menedżer sieci / narzędzie. W Linux Mint, jak na zrzut ekranu, moją metodę IPv4 ustawiłem tylko na adresy automatyczne (DHCP). Następnie możesz wprowadzić poprawne ustawienia w /etc/resolv.conf lub w sekcji Serwery DNS. Pamiętam, że w Ubuntu 13.04 moje serwery nazw zmieniały się kilka razy przez długi czas, ale po tym, jak faktycznie poszedłem i je edytowałem w GUI, wszystko wydawało się odtąd stabilne.
źródło
Miałem ten sam problem, ale używam statycznego adresu IP. Poprawka polegała na dodaniu dns do / etc / network / interfaces
źródło
/etc/network/interfaces
. Dobry chwyt!Jeśli korzystałeś z WICD, kliknij prawym przyciskiem myszy ikonę i kliknij Informacje o połączeniu. Po otwarciu okna kliknij właściwości tego, z którym jesteś połączony.
Zaznacz użyj statycznego DNS i w wierszu z napisem „Serwer DNS 1” wpisz adres IP Google DNS,
8.8.8.8
aw wierszu „Serwer DNS 2 typ”,8.8.4.4
a następnie kliknij „ok”.Jeśli otrzymujesz błędy z wartości domyślnych, możesz skontaktować się z usługodawcą internetowym i wspomnieć o nich. Zazwyczaj przypisują serwery DNS do modemu podczas łączenia się z nimi.
źródło
Włamanie się do systemu przez
chattr +i
lub w podobny sposób jest w najlepszym razie szybkie obejściem i należy go unikać, gdy tylko jest to możliwe (przynajmniej na dłuższą metę - jak powiedziano, jest to krótkotrwałe obejście, dopóki nie znajdzie się czasu na prawdziwe rozwiązanie) . Jak już wspomniano, jest to zadanie dla NetworkManagera, który oferuje CLI, którego możemy użyć do tego:Jeśli używasz statycznego adresu IP, możesz również użyć rozwiązania z odpowiedzi Kanelbolle .
źródło
Niesamowite, jak frustrujące to mały problem można uzyskać, gdy te rozwiązania podane na niego nie działają na Ubunutu 18.04.
Dla mnie zadziałało po prostu nadpisanie
nameserver
wartości/etc/resolv.conf
przy każdym rozruchu.sudo
edytuj/etc/rc.local
i dodaj ten wiersz:źródło