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.

Cerin
źródło
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.

Rostislav Stříbrný
źródło
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ę .

Abdallah Deeb
źródło
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
skradziony
źródło
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!

Philippe Gachoud
źródło