Ele substitui o servidor de nomes (DNS) usado em sua máquina pelo serviço de DNS público do Google . Se a execução desse comando ajudar você a sair, provavelmente você está tendo problemas de DNS nas configurações padrão fornecidas pela sua rede (DHCP). Embora seja melhor resolver a causa raiz do problema, essa é uma resposta geral à sua pergunta.
Explicação do comando
sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
-
sudo
eleva os privilégios para serem root nesse caso. -
echo
apenas mostra os argumentos seguintes para a saída padrão (neste caso ela geranameserver 8.8.8.8
) -
>
redireciona a saída padrão para um arquivo (sobrescreve) em um shell normal do Unix. -
/etc/resolv.conf
é o arquivo no qual a saída é gravada. - Ter uma linha
nameserver 8.8.8.8
in/etc/resolv.conf
torna o sistema usando o servidor de nomes com o endereço IP8.8.8.8
para resolver nomes de domínio para endereços IP. (versão muito curta do que realmente acontece) -
8.8.8.8
é um dos endereços publicados pelo Google de onde seus serviços de DNS públicos estão escutando.
sudo
erro
Embora essa explicação pareça plausível, isso não funcionará, por causa de um erro você receberá:
bash: /etc/resolv.conf: Permission denied
Por quê? O redirecionamento de saída é tratado pelo seu shell (aqui: Bash) e não é levado em conta para o comando usado para sudo
. Semelhante a como multiplicar em matemática tem precedência sobre a adição. Então, é só echo
que tem privilégios elevados, mas sua concha não tem! Para resolver isso, deve-se executar este comando como
sudo sh -c "echo nameserver 8.8.8.8 > /etc/resolv.conf"
ou, usando um pipe e tee
para gerar um arquivo:
echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf #prints to screen as well
Ubuntu e Network Manager
No Ubuntu, isso é apenas uma mudança temporária, pois o Network Manager "gerencia" o arquivo /etc/resolv.conf
. Modificações locais serão sobrescritas. É por isso que você deve configurar isso no Network Manager para que ele seja persistente.
Configuração usando o Network Manager
Eu recomendaria configurar seu PC adequadamente usando o Network Manager. Estou assumindo que você está usando o DHCP em sua rede aqui (mais comum). Em seguida, faça isso para executar o mesmo equivalente ao comando que você estava usando:
-
Abra Editar conexões :
-
Edite o perfil de conexão que você está usando.
-
Na guia Configurações IPv4 :
-
Método: Somente endereços automáticos (DHCP)
Essa configuração faz com que seja feita uma solicitação DHCP regular para a configuração do endereço IP do seu host, mas ignora outras opções não obrigatórias, como os servidores DNS sugeridos.
- Servidores DNS:
8.8.8.8
- Pressione Salvar
-
Feito.
Notas importantes
Em uma rede local ou corporativa, o servidor DNS local pode ser usado para hosts locais. Você perderá essa funcionalidade pedindo diretamente aos servidores do Google para resolver nomes para você. Portanto, se, por exemplo, o servidor DNS local souber o que é "impressora", você perderá o uso da impressora com esse nome.
Então, por favor, corrija seu servidor DNS local. Se for apenas um encaminhador simples para um servidor DNS quebrado do seu ISP e você não puder alterar isso (por exemplo, o tudo-em-um-roteador gerenciado pelo ISP), essa 8.8.8.8
solution pode ser sua única opção.