Używam serwera Ubuntu 16.04.2 i apt-get update
zwraca tymczasową awarię rozwiązującą „wszystko na liście”.
- Gdy wysyłam ping na www.google.com, odpowiada na nieznanego hosta.
- Kiedy pinguję przy pomocy 8.8.8.8, otrzymuję pakiety wysyłane bez błędów itp.
Próbowałem każdej „poprawki”, którą mogę znaleźć na forach Ubuntu i w całym świecie internetowym i nic nie działa. resolv.conf
Jest pusty, nic się ifconfig pokazuje funkcjonujących, firewall jest wyłączony, a ja wyrzucił młotek na wszelki wypadek. Niestety piszę to na innym komputerze w tej samej sieci, ale nie mogę dołączyć tekstu z różnych wyników, aby pokazać, co się dzieje. Potrzebujesz pomocy w tej sprawie.
Plik resolv.conf zawiera następujące wiersze:
# 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
search 8.8.8.8 8.8.4.4
Ostatni wiersz jest umieszczany w pliku interfejsów podczas ponownego uruchamiania systemu. Jest to nowość w wersji 16.04LTS. Myślę, że Windows NT4 nie był taki zły, podobnie jak Ubuntu Server 12.
źródło
Odpowiedzi:
W twoim
/etc/resolv.conf
pliku potrzebujesz serwera nazw . Edytuj/etc/resolv.conf
i dodaj działający serwer nazw. Google udostępnia bezpłatną jeden,8.8.8.8
.Zrób to:
Umieść to jako pierwszą linię bez komentarza:
Możesz zweryfikować tę funkcjonalność za pomocą:
Możesz wprowadzić tę zmianę na stałe, dodając wiersz do tego pliku swoim
/etc/resolvconf/resolv.conf.d/head
plikiem.źródło
Zaznaczona odpowiedź w rzeczywistości nie działa w systemie Ubuntu 18.04.01. Aby rozwiązać ten problem, oto co zrobiłem:
sudo gedit /usr/lib/systemd/resolv.conf
nameserver 8.8.8.8
(i / lub dowolne inne serwery nazw), a następnie zapisz i wyjdź.sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf
Kredyty na https://askubuntu.com/a/1050280/899241
źródło
Czy możesz opublikować link do strony, który powiedział ci, że plik resolv.conf powinien być pusty? Domyślam się, że w najlepszym razie wprowadza w błąd.
Edytuj ten plik za pomocą polecenia
sudo nano /etc/resolv.conf
i umieść tam jeden wiersz:To powinno naprawić rozpoznawanie nazw i różne programy, które go używają - ping, apt-get itp.
Powinieneś także zbadać, dlaczego resolv.conf jest pusty. Być może Twój serwer DHCP nie jest poprawnie skonfigurowany.
źródło
Nie jest to dobry pomysł na Ubuntu 16.04.x po prostu nadpisywanie
/etc/resolv.conf
. System operacyjny nadpisze go, najprawdopodobniej.Plik
/etc/resolv.conf
jest zwykle dowiązaniem symbolicznym do innego pliku:co oznacza, że jest poprawny i możesz go edytować, ale najprawdopodobniej inny program go zastąpi. Domyślam się, że masz zainstalowany NetworkManager. Według mojej wiedzy ta usługa zarządza treścią Twojego postanowienia. Więc naprawdę powinieneś spróbować skonfigurować ten. (Z drugiej strony NetworkManager może być wyłączony w twoim systemie. Być może będziesz musiał mi powiedzieć.)
Spróbuj
nmtui
dodać tam właściwy serwer DNS. Chciałbym również użyć8.8.8.8
tylko jako dodatkowego DNS. Podstawowym systemem DNS powinna być maszyna lub router w pobliżu sieci lokalnej lub cokolwiek tam masz ...źródło
nmtui
jest oparty na tekście.Miałem ten sam problem, dopóki nie edytowałem za pomocą następujących wartości pliku 50-cloud-init.yaml
mam nadzieję, że to też dla ciebie zadziała
źródło
addresses: [8.8.8.8,8.8.4.4]
(być może lepiej wykorzystać CloudFlare 1.1.1.1 ) na/etc/netplan/50-cloud-init.yaml
czymsudo netplan --debug apply
.Wystąpił problem związany z serwerem DNS określonym dla systemu. Sprawdź wpis serwera nazw w /etc/resolv.conf.
Problem polega na tym, że polecenie ping nie jest w stanie zidentyfikować, co to jest „www.google.com”, ponieważ Twój serwer DNS nie jest w stanie go rozwiązać i podać rzeczywistego adresu IP Google (dostęp do każdego serwera można uzyskać tylko poprzez jego adres IP)
Rozwiązanie
Edytuj wpis w
/etc/resolv.conf
. Podaj dowolny wybrany serwer DNS,/etc/resolve.conf
który może rozwiązać „www.google.com”lub yMożna określić lokalny system rozpoznawania nazw systemu, którego adres IP to 127.0.0.53, dodając wiersz
lub podaj adres IP serwera DNS Google (dowolny z nich): 8.8.8.8 lub 8.8.4.4
PS Możesz lepiej zrozumieć, jak działa tutaj DNS
źródło
Problem, który rozwiązaliśmy tutaj, sprowadzał się do wewnętrznego rozwiązywania nazw domen na adres IP. Wydaje mi się, że od wersji 15 serwera Ubuntu korzysta z systemu plików konfiguracji dynamicznej, które zmieniają się przy każdym ponownym uruchomieniu lub ponownym uruchomieniu usługi lub systemu. Jeśli administrator dokona zmiany w pliku resolv.conf, zmiany te zostaną usunięte po ponownym uruchomieniu usługi resolvera.
Aby zmiany były trwałe, Ubuntu stworzył sposób, aby zmiany użytkowników były trwałe bez wpływu na dynamiczną konfigurację plików konfiguracyjnych. Sugestia LD James (powyżej) polegała na dodaniu zmian, które musiałem wprowadzić do
/etc/resolvconf/resolv.conf.d/head
pliku.Dzięki temu zmiany stały się trwałe i rozwiązano problem rozwiązania komunikatu o błędzie nazw domen
host not found
. Jest to rozwiązanie polegające na ustawieniu serwera nazw dns w pliku interfejsów, a następnie przekazaniu go również do resolvera. Dziękujemy wszystkim za najwyższy wysiłek w rozwiązaniu tej zagadki.źródło