Sostituisce il nameserver (DNS) utilizzato sul tuo computer dal servizio DNS pubblico di Google . Se l'esecuzione di questo comando ti aiuta, hai probabilmente problemi DNS nelle impostazioni predefinite fornite dalla tua rete (DHCP). Mentre sarebbe meglio risolvere la causa principale del problema, questa è una risposta generale alla tua domanda.
Spiegazione del comando
sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
sudo
eleva i privilegi per essere root in questo caso.
echo
genera solo gli argomenti seguenti all'output standard (in questo caso restituisce nameserver 8.8.8.8
)
>
reindirizza l'output standard su un file (lo sovrascrive) in una normale shell Unix.
/etc/resolv.conf
è il file in cui viene scritto l'output.
- Avere una linea
nameserver 8.8.8.8
dentro/etc/resolv.conf
rende il sistema che utilizza il nameserver con indirizzo IP 8.8.8.8
per risolvere i nomi di dominio in indirizzi IP. (versione molto breve di ciò che accade realmente)
8.8.8.8
è uno degli indirizzi pubblicati da Google su dove sono in ascolto i loro servizi DNS pubblici.
sudo
sbaglio
Mentre questa spiegazione sembra plausibile, non funzionerà, a causa di un errore otterrai:
bash: /etc/resolv.conf: Permission denied
Perché? Il reindirizzamento dell'output viene gestito dalla shell (qui: Bash) e non viene preso in considerazione per il comando utilizzato per sudo
. Simile a come la moltiplicazione in matematica abbia la precedenza sull'aggiunta. Quindi, è solo echo
che ha privilegi elevati, ma la tua shell no! Per risolvere questo, si dovrebbe eseguire questo comando come
sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf"
oppure, usando una pipe e tee
per emetterla in un file:
echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf #prints to screen as well
Ubuntu e Network Manager
Su Ubuntu questo è solo un cambiamento temporaneo, poiché Network Manager "gestisce" il /etc/resolv.conf
file. Le modifiche locali verranno sovrascritte. Ecco perché dovresti configurarlo in Network Manager per averlo persistente.
Configurazione tramite Network Manager
Consiglierei di configurare correttamente il PC usando Network Manager. Suppongo che tu stia utilizzando DHCP sulla tua rete qui (più comune). Quindi fai questo per eseguire lo stesso equivalente al comando che stavi usando:
Apri Modifica connessioni :
Modifica il profilo di connessione che stai utilizzando.
Nella scheda Impostazioni IPv4 :
Metodo: solo indirizzi automatici (DHCP)
Questa impostazione consente di eseguire una normale richiesta DHCP per la configurazione dell'indirizzo IP dell'host, ma ignorerà altre opzioni non obbligatorie come i server DNS suggeriti.
- Server DNS:
8.8.8.8
- Premi Salva
Fatto.
Note importanti
In una rete locale o aziendale il server DNS locale potrebbe essere utilizzato per host locali. Perderai questa funzionalità chiedendo direttamente ai server di Google di risolvere i nomi per te. Quindi, se per esempio il server DNS locale sapesse cos'è la "stampante", allora perderai usando la tua stampante con quel nome.
Quindi, per favore, correggi invece il tuo server DNS locale. Se è solo un semplice server di inoltro a un server DNS danneggiato del tuo ISP e non puoi modificarlo (ad esempio un router all-in-one gestito dall'ISP), questa 8.8.8.8
soluzione potrebbe essere la tua unica opzione.