Możliwe, że resolvconf jest źle skonfigurowany. Jest to szczególnie prawdopodobne, jeśli bawiłeś się z jego plikami konfiguracyjnymi, nie bardzo rozumiejąc, jak działają resolvconf i NetworkManager.
Aby uzyskać dodatkowe informacje, przeczytaj dokumentację resolvconf i post na blogu Stéphane Grabera.
https://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/
Najpierw powinieneś wiedzieć, że zarówno Ubuntu Desktop, jak i Ubuntu Server domyślnie mają zainstalowaną i aktywowaną resolvconf. Resolvconf zapewnia platformę do dynamicznej aktualizacji pliku /etc/resolv.conf w uporządkowany i odwracalny sposób.
Po drugie, powinieneś wiedzieć, że Ubuntu Desktop domyślnie ma zainstalowany i aktywowany NetworkManager. Domyślnie NetworkManager uruchamia instancję dnsmasq, która ma służyć jako lokalny serwer nazw przekazywania. Ta kontrolowana przez NetworkManager instancja dnsmasq nasłuchuje zapytań pod numerem 127.0.1.1. Kiedy NetworkManager uruchamia instancję dnsmasq, informuje resolvconf, aby wstawił adres 127.0.1.1
do resolv.conf. Jak wspomniano w innej odpowiedzi, jeśli skonfigurujesz NetworkManager, aby nie uruchamiał lokalnej instancji serwera przekierowań nazw, wówczas nie uruchomi lokalnego serwera nazw przekierowań i nie powie resolvconf, aby wstawił adres 127.0.1.1
do resolv.conf.
Ta domyślna konfiguracja działa poprawnie, więc jeśli sytuacja nie jest wyjątkowa, należy przywrócić konfigurację domyślną.
Aby przywrócić domyślną konfigurację, zajmij się tym
- /etc/resolvconf/resolv.conf.d/head zawiera tylko tekst nagłówka resolvconf składający się z dwóch linii rozpoczynających się od
#
znaku
- /etc/resolvconf/resolv.conf.d/base jest pustym plikiem
- /etc/resolvconf/resolv.conf.d/tail jest pustym plikiem
- /etc/resolv.conf jest dowiązaniem symbolicznym do treści
../run/resolvconf/resolv.conf
Aby to osiągnąć, wykonaj następujące polecenia.
sudo su
dpkg-reconfigure resolvconf # And answer `Yes` to agree to dynamic updates
cd /etc/resolvconf/resolv.conf.d
echo '# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN' > head
rm -f base tail original
:> base
:> tail
Oryginalna konfiguracja NetworkManager ma mieć
[main]
...
dns=dnsmasq
...
w /etc/NetworkManager/NetworkManager.conf. Rozsądnym rozwiązaniem jest wyłączenie lokalnego serwera nazw przesyłania dalej kontrolowanego przez NetworkManager, komentując dns=dnsmasq
linię.
[main]
...
#dns=dnsmasq
...
Po wykonaniu wszystkich tych czynności zaleca się zrestartowanie komputera w celu wyczyszczenia nieaktualnych rekordów informacji o serwerze nazw.
sudo reboot