ping 8.8.8.8 działa, ale ping www.google.com nie działa


12

Używam serwera Ubuntu 16.04.2 i apt-get updatezwraca 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.confJest 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.


2
W jaki sposób twój system otrzymuje adres IP? Czy pochodzi z serwera DHCP? To jest statyczny adres IP? Możliwość pingowania adresu IP będzie działać bez konfiguracji adresu IP serwera DNS. Ale wygląda na to, że nie masz skonfigurowanego adresu DNS lub twój DHCP go nie dostarcza.
Terrance

IP jest statyczny. Nigdy nie konfigurowałem serwera DNS, gdy instalowałem oprogramowanie serwera.
Gary Mercer

Spójrz na askubuntu.com/questions/143819/… i dodaj swój wpis DNS dla serwerów Google DNS w wersji 8.8.8.8 i 8.8.4.4
Terrance

Zrobiłem to wszystko. Moje statyczne IP pochodzi z at & t vdsl box. Używam ich serwerów nazw DNS i adresów IP wyszukiwania DNS. Mogę jedynie wywnioskować, że at & t blokuje zapytania dns.
Gary Mercer

Ciekawy. Być może zechcesz skontaktować się z AT&T i sprawdzić, czy i tak to blokuje. Myślę, że możesz spróbować zastąpić ich serwery DNS serwerami Google DNS i sprawdzić, czy to działa.
Terrance

Odpowiedzi:


17

W twoim /etc/resolv.confpliku potrzebujesz serwera nazw . Edytuj /etc/resolv.confi dodaj działający serwer nazw. Google udostępnia bezpłatną jeden, 8.8.8.8.

Zrób to:

$ nano /etc/resolv.conf

Umieść to jako pierwszą linię bez komentarza:

nameserver 8.8.8.8

Możesz zweryfikować tę funkcjonalność za pomocą:

$ ping -c10 www.google.com

Możesz wprowadzić tę zmianę na stałe, dodając wiersz do tego pliku swoim /etc/resolvconf/resolv.conf.d/headplikiem.


Whoopie! Sukces! przepraszam, 36 godzin wali na tym pudełku ... Udało się. Nawet wstawiłem at & t ip i zadziałało. Dziękujemy wszystkim za pomoc i szybkość. (Panie moderatorze, ci faceci potrzebowali poklepania po plecach, więc nie przejmuj się emocjami)
Gary Mercer

resolv.conf nie zezwala na edycję
Syam kumar KK,

w przeciwieństwie do odpowiedzi @Ragy Morkos, zadziałało to również dla mnie w Ubuntu 18.04 LTS
Gwang-Jin Kim

Wielkie dzięki! Nie mogłem pingować www.google.com po chrootowaniu w moim Ubuntu. Dzięki Twojemu rozwiązaniu mogę teraz instalować itp. Na partycji chroot.
Gwang-Jin Kim,

3

Zaznaczona odpowiedź w rzeczywistości nie działa w systemie Ubuntu 18.04.01. Aby rozwiązać ten problem, oto co zrobiłem:

  • Wykonać sudo gedit /usr/lib/systemd/resolv.conf
  • Wklej nameserver 8.8.8.8(i / lub dowolne inne serwery nazw), a następnie zapisz i wyjdź.
  • Dodaj dowiązanie symboliczne, wykonując sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

Kredyty na https://askubuntu.com/a/1050280/899241


2

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.confi umieść tam jeden wiersz:

nameserver 8.8.8.8

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.


Oto, co zawiera plik: # Dynamiczny plik resolv.conf (5) dla glibc resolver (3) wygenerowany przez resolvconf (8) # NIE EDYTUJ TEGO PLIKU RĘCZNIE - TWOJE ZMIANY BĘDĄ PRZEPISOWANE wyszukiwanie 8.8.8.8 8.8.4.4 Ostatni wiersz jest umieszczany w pliku interfejsów podczas ponownego uruchamiania systemu.
Gary Mercer

@GaryMercer dodaj to do swojego pytania. Trudno jest przeczytać w komentarzu.
wjandrea

0

Nie jest to dobry pomysł na Ubuntu 16.04.x ​​po prostu nadpisywanie /etc/resolv.conf. System operacyjny nadpisze go, najprawdopodobniej.

Plik /etc/resolv.confjest zwykle dowiązaniem symbolicznym do innego pliku:

ls -lisa /etc/resolv.conf
1310924 0 lrwxrwxrwx 1 root root 29 Jul 13  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

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 nmtuidodać tam właściwy serwer DNS. Chciałbym również użyć 8.8.8.8tylko jako dodatkowego DNS. Podstawowym systemem DNS powinna być maszyna lub router w pobliżu sieci lokalnej lub cokolwiek tam masz ...


Brak menedżera sieci. Jest to serwer bez GUI. Zainstalowałem dnsutils, zanim zakończył połączenie z repozytoriami.
Gary Mercer

@Gary Mercer: jak zatem wprowadzić interfejs sieciowy? (ifup and ifdown?) GUI Network Managers jest komponentem opcjonalnym. nmtuijest oparty na tekście.
Gerhard Stein

Podnoszę nic, uruchamiając ponownie system. Ponieważ jest to serwer, nigdy nie zostaje wyłączony. Odkryłem, że korzystanie z usług restartu nie zawsze działa z powodu innych powiązanych ze sobą komponentów, które składają się na wszystkie usługi korzystające z interfejsu. Po prostu łatwiej i najskuteczniej zrestartować wszystkie usługi za pomocą prostej komendy restartu.
Gary Mercer

Po ponownym uruchomieniu systemu coś „menedżera” musi przynieść twoje urządzenia. W którym skonfigurowałeś statyczny adres IP?
Gerhard Stein

0

Miałem ten sam problem, dopóki nie edytowałem za pomocą następujących wartości pliku 50-cloud-init.yaml

 network:
    ethernets:
        eno2:
            addresses:
            - 192.168.0.50/24 (my static ip address)
            dhcp4: false
            gateway4: 192.168.0.42
            nameservers:
                addresses: [208.67.222.222,208.67.220.220]
                search: [208.67.222.222]

mam nadzieję, że to też dla ciebie zadziała


Jeśli używa netplan serwerów DNS i Google będzie 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.yamlczym sudo netplan --debug apply.
Pablo Bianchi,

0

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.confktó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

nameserver 127.0.0.53

lub podaj adres IP serwera DNS Google (dowolny z nich): 8.8.8.8 lub 8.8.4.4

nameserver 8.8.8.8**

PS Możesz lepiej zrozumieć, jak działa tutaj DNS


-2

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/headpliku.

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.

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.