ping 8.8.8.8 funziona ma ping www.google.com no


11

Sto eseguendo Ubuntu Server 16.04.2 e apt-get updaterestituisce un errore temporaneo risolvendo "tutto nell'elenco".

  • Quando eseguo il ping di www.google.com, risponde con host sconosciuto.
  • Quando eseguo il ping con 8.8.8.8, ricevo i pacchetti inviati senza errori, ecc.

Ho provato ogni "correzione" che trovo nei forum di Ubuntu e in tutto il resto del mondo di Internet e nulla funziona. Il resolv.confè vuota, ifconfig spettacoli scheda NIC funziona, firewall è disattivato, e ho buttato via il martello evenienza. Sfortunatamente, sto scrivendo questo su un altro computer sulla stessa rete ma non riesco ad allegare testo dai vari output per mostrare cosa sta succedendo. Hai bisogno di aiuto su questo per favore.

Il file resolv.conf contiene queste righe:

# 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

L'ultima riga viene posizionata dal file interfacce al riavvio del sistema. Questo è nuovo per 16.04LTS. Sto pensando che Windows NT4 non sia stato così male e nemmeno Ubuntu Server 12.


2
In che modo il tuo sistema ottiene l'indirizzo IP? Viene da un server DHCP? È un IP statico? Essere in grado di eseguire il ping dell'indirizzo IP funzionerà senza una configurazione IP del server DNS. Ma sembra che tu non abbia una configurazione dell'indirizzo DNS o che il tuo DHCP non lo stia fornendo.
Terrance

IP è statico. Non ho mai installato il server DNS quando ho installato il software del server.
Gary Mercer,

Guarda askubuntu.com/questions/143819/… e aggiungi la tua voce DNS per come i server DNS di Google a 8.8.8.8 e 8.8.4.4
Terrance

Ho fatto tutto questo. Il mio IP statico proviene dalla casella & t vdsl. Sto usando i loro server dei nomi DNS e gli ip di ricerca DNS. L'unica cosa che posso dedurre è che at & t sta bloccando le query DNS.
Gary Mercer,

Interessante. Forse potresti voler contattare AT&T e vedere se lo stanno bloccando in ogni caso. Immagino che potresti provare a sostituire i loro server DNS con i server DNS di Google e vedere se funziona.
Terrance

Risposte:


16

È necessario un server dei nomi nel /etc/resolv.conffile. Modifica il tuo /etc/resolv.confe aggiungi un Name Server funzionante. Google fornisce uno gratuito, 8.8.8.8.

Fai questo:

$ nano /etc/resolv.conf

Posizionalo come prima riga non commentata:

nameserver 8.8.8.8

Puoi verificare questa funzionalità con:

$ ping -c10 www.google.com

Puoi rendere permanente questa modifica aggiungendo la linea a questo file nel tuo /etc/resolvconf/resolv.conf.d/headfile.


Whoopie! Successo! mi scusi, 36 ore di fila su questa scatola ... Ha funzionato. Ho anche inserito gli at & t ip e ha funzionato. Grazie a tutti voi ragazzi per il vostro aiuto e rapidità. (Signor Moderatore, questi ragazzi avevano bisogno di una pacca sulla spalla, quindi rilassati su tutta la spazzatura senza emozioni)
Gary Mercer,

resolv.conf non sta dando il permesso di modificare
Syam kumar KK

in contrasto con la risposta di @Ragy Morkos, ha funzionato anche per me in Ubuntu 18.04 LTS
Gwang-Jin Kim

Molte grazie! Non ho potuto eseguire il ping su www.google.com dopo aver eseguito il chroot nel mio Ubuntu. Grazie alla tua soluzione, ora posso eseguire installazioni ecc. Nella partizione chroot.
Gwang-Jin Kim,

3

La risposta contrassegnata in realtà non funziona su Ubuntu 18.04.01. Per risolvere questo problema, ecco cosa ho fatto:

  • Eseguire sudo gedit /usr/lib/systemd/resolv.conf
  • Incolla nameserver 8.8.8.8(e / o qualsiasi altro nameserver che desideri), quindi salva ed esci.
  • Aggiungi un collegamento simbolico eseguendo sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

Crediti a https://askubuntu.com/a/1050280/899241


2

Potresti pubblicare un link alla pagina che ti dice che il file resolv.conf dovrebbe essere vuoto? La mia ipotesi è che sia fuorviante al massimo.

Modifica quel file con il comando sudo nano /etc/resolv.confe inserisci lì una sola riga:

nameserver 8.8.8.8

Ciò dovrebbe correggere la risoluzione dei nomi e i vari programmi che lo utilizzano - ping, apt-get, ecc.

Dovresti anche capire perché resolv.conf è vuoto. Forse il tuo server DHCP non è configurato correttamente.


Questo è ciò che il file contiene: # File resolv.conf (5) dinamico per risolutore glibc (3) generato da resolvconf (8) # NON MODIFICARE QUESTO FILE A MANO - I TUOI CAMBIAMENTI SARANNO SOVRAPPOSTI ricerca 8.8.8.8 8.8.4.4 L'ultima riga viene posizionata dal file interfacce al riavvio del sistema.
Gary Mercer,

@GaryMercer, per favore, aggiungilo alla tua domanda. È difficile da leggere in un commento.
wjandrea,

0

Non è una buona idea su Ubuntu 16.04.x ​​solo la sovrascrittura /etc/resolv.conf. Il sistema operativo lo sovrascriverà per proprio conto molto probabilmente.

Il file /etc/resolv.confè in genere un collegamento simbolico a un altro file:

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

il che significa che è corretto e puoi modificarlo, ma molto probabilmente un altro programma lo sovrascriverà. Immagino che NetworkManager sia installato. A mia conoscenza, questo servizio gestisce il contenuto della tua risoluzione. Quindi dovresti davvero provare a installarlo. (D'altra parte NetworkManager potrebbe essere disabilitato sul tuo sistema. Potrebbe essere necessario dirmelo.)

Prova ad nmtuiaggiungere lì il server DNS corretto. Vorrei anche usare 8.8.8.8solo come DNS secondario. Il tuo DNS primario dovrebbe essere una macchina o un router vicino alla tua rete locale o qualunque cosa tu abbia lì ...


Nessun gestore di rete. È un server senza interfaccia grafica. Ho installato dnsutils prima che si interrompesse la connessione ai repository.
Gary Mercer,

@Gary Mercer: come porti allora l'interfaccia di rete? (ifup e ifdown?) La GUI di Network Manager è un componente opzionale. nmtuiè il testo di quello.
Gerhard Stein,

Sollevo il problema riavviando il sistema. Dal momento che è un server, non viene mai "spento". Ho scoperto che l'utilizzo dei servizi di riavvio non sempre funziona a causa degli altri componenti correlati che compongono tutti i servizi che utilizzano l'interfaccia. È semplicemente più semplice ed efficiente riavviare tutti i servizi con un semplice comando di riavvio.
Gary Mercer,

Riavviando il sistema, qualcosa che "un manager" deve portare i tuoi dispositivi. In quale hai configurato gli indirizzi IP statici?
Gerhard Stein,

0

Ho avuto lo stesso problema, fino a quando ho modificato con i seguenti valori il file 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]

spero che funzioni anche per te


Se sta usando netplan e i server DNS di Google sarebbero addresses: [8.8.8.8,8.8.4.4] (forse meglio usare Cloudflare 1.1.1.1 ) su /etc/netplan/50-cloud-init.yamle poi sudo netplan --debug apply.
Pablo Bianchi il

0

Stai riscontrando un problema relativo al server DNS che hai specificato per il tuo sistema. Controlla la voce del tuo nameserver in /etc/resolv.conf.

Il problema è che il comando ping non è in grado di identificare ciò che è "www.google.com" perché il tuo server DNS non è in grado di risolverlo e fornire a Google l'indirizzo IP effettivo (ogni server è accessibile solo tramite il suo indirizzo IP)

Soluzione

Modifica la voce in /etc/resolv.conf. O fornire un server DNS corretto di una scelta in /etc/resolve.confgrado di risolvere "www.google.com"

oppure yÈ possibile specificare il resolver del sistema locale il cui indirizzo IP è 127.0.0.53 aggiungendo una riga

nameserver 127.0.0.53

o fornire l'IP del server DNS di Google (uno qualsiasi di essi): 8.8.8.8 o 8.8.4.4

nameserver 8.8.8.8**

PS Puoi capire meglio come funziona il DNS qui


-2

Il problema che abbiamo affrontato qui è quello che si riduce alla risoluzione interna dei nomi di dominio in un indirizzo IP. Dalla versione 15 del server Ubuntu, credo, utilizza un sistema di file di configurazione dinamica che cambia ogni volta che il servizio o il sistema viene riavviato o riavviato. Se l'amministratore apporta una modifica al file resolv.conf, tali modifiche vengono eliminate al riavvio del servizio resolver.

Per rendere permanenti le modifiche, Ubuntu ha creato un modo per rendere permanenti le modifiche dell'utente senza influire sulla configurazione dinamica dei file di configurazione. Il suggerimento di LD James (sopra) era di aggiungere le modifiche che dovevo apportare al /etc/resolvconf/resolv.conf.d/headfile.

Ciò ha reso permanenti le modifiche e risolto il problema relativo alla risoluzione del messaggio di errore relativo ai nomi di dominio host not found. È la soluzione per impostare il nameserver dns nel file delle interfacce e quindi per ottenerlo anche nel resolver. Grazie a tutti per i vostri sforzi supremi nel risolvere questo enigma.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.