Il remplace le serveur de noms (DNS) utilisé sur votre machine par le service DNS public de Google . Si l'exécution de cette commande vous aide, vous rencontrez probablement des problèmes DNS dans les paramètres par défaut fournis par votre réseau (DHCP). Bien qu'il soit préférable de résoudre la cause première du problème, il s'agit d'une réponse générale à votre question.
Explication de la commande
sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
sudo
élève les privilèges pour être root dans ce cas.
echo
sort juste les arguments suivants à la sortie standard (dans ce cas, il sort nameserver 8.8.8.8
)
>
redirige la sortie standard vers un fichier (l'écrase) dans un shell Unix standard.
/etc/resolv.conf
est le fichier dans lequel la sortie est écrite.
- Avoir une ligne
nameserver 8.8.8.8
en /etc/resolv.conf
rend le système en utilisant le serveur de noms dont l' adresse IP 8.8.8.8
pour la résolution des noms de domaine aux adresses IP. (version très courte de ce qui se passe réellement)
8.8.8.8
est l'une des adresses publiées par Google pour savoir où leurs services DNS publics écoutent.
sudo
erreur
Bien que cette explication semble plausible, cela ne fonctionnera pas, en raison d'une erreur que vous obtiendrez:
bash: /etc/resolv.conf: Permission denied
Pourquoi? La redirection de sortie est gérée par votre shell (ici: Bash) et n'est pas prise en compte pour la commande utilisée pour sudo
. Similaire à la façon dont la multiplication en mathématiques a priorité sur l'ajout. Donc, c'est juste echo
qu'il a des privilèges élevés, mais pas votre shell! Pour résoudre ce problème, il faut exécuter cette commande comme
sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf"
ou, en utilisant un tube et tee
en le sortant dans un fichier:
echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf #prints to screen as well
Ubuntu et Network Manager
Sur Ubuntu, ce n'est qu'un changement temporaire, car Network Manager "gère" le /etc/resolv.conf
fichier. Les modifications locales seront écrasées. C'est pourquoi vous devez configurer cela dans Network Manager pour qu'il soit persistant.
Configuration à l'aide de Network Manager
Je recommanderais de configurer correctement votre PC à l'aide de Network Manager. Je suppose que vous utilisez DHCP sur votre réseau ici (le plus courant). Ensuite, effectuez la même opération que l'équivalent de la commande que vous utilisiez:
Ouvrez Modifier les connexions :
Modifiez le profil de connexion que vous utilisez.
Sur l' onglet Paramètres IPv4 :
Méthode: adresses automatiques (DHCP) uniquement
Ce paramètre lui permet d'effectuer une demande DHCP régulière pour la configuration de l'adresse IP de votre hôte, mais il ignorera les autres options non obligatoires comme les serveurs DNS suggérées.
- Serveurs DNS:
8.8.8.8
- Appuyez sur Enregistrer
Terminé.
Notes IMPORTANTES
Dans un réseau local ou d'entreprise, le serveur DNS local peut être utilisé pour les hôtes locaux. Vous perdrez cette fonctionnalité en demandant directement aux serveurs de Google de résoudre les noms pour vous. Ainsi, si par exemple le serveur DNS local sait ce qu'est une «imprimante», vous perdrez l'utilisation de votre imprimante sous ce nom.
Veuillez donc plutôt réparer votre serveur DNS local. Si c'est juste un simple redirecteur vers un serveur DNS cassé de votre FAI et que vous ne pouvez pas changer cela (routeur tout-en-un géré par FAI par exemple), alors cette 8.8.8.8
solution pourrait être votre seule option.