Menedżer sieci nie wypełnia pliku resolv.conf


41

Niedawno dokonałem aktualizacji z 11.10do 12.04, a teraz NetworkManagernie zapełnia się, /etc/resolv.confgdy łączy się z sieciami bezprzewodowymi, kiedy działało idealnie 11.10. Nie widzę żadnych wyraźnych błędów ani w NetworkManager, UIani w syslog. Jak zdiagnozować, co jest nie tak?

Edycja: Jeśli spróbuję uruchomić resolvconf, pojawia się błąd

resolvconf: Błąd: /etc/resolv.conf nie jest dowiązaniem symbolicznym, nic nie robi.

Co to powinno być, symlinkdo i / lub jak mogę NetworkManagerto wypełnić? To wskazuje, że symlinknależy wskazać /run/resolvconf/resolv.conf, ale ten plik nie istnieje w moim systemie.


Próbowałem kombinacji poniższych rozwiązań, a następnie edytowałem, resolv.confaby uwzględnić, nameserver 127.0.0.1ponieważ miałem ten problem już rok temu i wtedy myślę, że miało to coś wspólnego z tą linią. Po ponownym uruchomieniu plik został nadpisany, ale nie tylko komentarzami, ale inną nameserver …linią i innymi rzeczami. Wreszcie działa…
— Sebastian Simon,

Odpowiedzi:


70

Użyj następującego polecenia i odpowiedz TAK, aby włączyć aktualizacje dynamiczne:

sudo dpkg-reconfigure resolvconf

Pracował dla mnie na Ubuntu 12.04.


1
Działał idealnie. Mam stary laptop z 12.04 rozładowaną baterią, którą przypadkowo odłączyłem. Mógłbym pingować mój domowy router, ale nie otrzymywać stron internetowych. Dziwnie może uzyskać dostęp do innej sieci Wi-Fi. To dało mi ponownie dostęp przez sieć domową.
— Mark D

Pozostaje pytanie: dlaczego brakowało dowiązania symbolicznego? To pytanie jest rozwiązywane w błędzie # 1000244 ( bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/1000244 ). Zobacz komentarz # 66, aby uzyskać najlepsze przypuszczenia na temat różnych przyczyn tego problemu.
— jdthood

2
Żałuję, że nie było przycisku „napiwek” lub „kup mi piwo” na wymianie stosów za podziękowanie ludziom.
— Crisfole

1
Musiałem to zrobić nawet na Ubuntu 16.04 / Elementary OS 0.4 Loki
— Reg Mem

1
Tak się właśnie stało na Ubuntu 16.10. Rozwiązanie nadal działa, chociaż okno dialogowe zdecydowanie sugeruje natychmiastowe ponowne uruchomienie. Edycja: To wydarzyło się wczoraj nieoczekiwanie, ponad miesiąc po aktualizacji.
— ASalazar

16

Miałem ten sam problem. Wygląda na to, że Ubuntu używa teraz lokalnego resolvera. Najszybszym sposobem na usunięcie tego jest skomentowanie następującego wiersza w /etc/NetworkManager/NetworkManager.conf:

#dns=dnsmasq

Aby uzyskać więcej informacji, spójrz na tę stronę .


1
Wyłączenie tej linii, a następnie ponowne uruchomienie NM nie ma dla mnie zauważalnego efektu. Błąd nadal występuje, a NM nadal odmawia wypełnienia pliku resolv.conf.
— Cerin

1
Dzięki za tą informację! Miałem również, aby ponownie uruchomić menedżera sieci: sudo /etc/init.d/network-manager restart.
— Ethan Leroy

5

Jeśli /etc/resolv.conf jest plikiem, przenieś go do /run/resolvconf/resolv.conf:

sudo mv /etc/resolv.conf /run/resolvconf/resolv.conf

Następnie utwórz dowiązanie symboliczne:

sudo ln -s ../run/resolvconf/resolv.conf /etc/resolv.conf

1
To pomaga. Ale łatwiejszym i bardziej niezawodnym (literówki) sposobem na zrobienie tego jest sudo dpkg-reconfigure resolvconfodpowiedź TAK.
— geekQ

Jest to świetna metoda, jeśli zamierzasz dpkg-reconfigure resolvconf --frontend=noninteractivekontynuować resolvconf -u. Jeśli najpierw nie przeniesiesz pliku i dowiązania symbolicznego, nienadzorowana dpkg-rekonfiguracja zakończy się niepowodzeniem, ponieważ /etc/resolv.confnie jest dowiązaniem symbolicznym.
— Justin Force

1

Miałem od dłuższego czasu problemy z moim laptopem, musiałem

sudo dhclient wlan0 

aby sieć mogła działać. Stwierdzono, że resolv.conf nie został zaktualizowany przez menedżera sieci, a na końcu

sudo dpkg-reconfigure resolvconf

rozwiązał mój problem!

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.