Ele substitui o servidor de nomes (DNS) usado em sua máquina pelo serviço DNS público do Google . Se a execução desse comando o ajudar, você provavelmente está com problemas de DNS nas configurações padrão fornecidas pela sua rede (DHCP). Embora seja melhor resolver a causa raiz do problema, esta é uma resposta geral à sua pergunta.
Explicação do comando
sudo echo nameserver 8.8.8.8 > /etc/resolv.conf
sudo
eleva privilégios para ser root neste caso.
echo
apenas gera os argumentos a seguir para a saída padrão (neste caso, gera nameserver 8.8.8.8
)
>
redireciona a saída padrão para um arquivo (sobrescreve-o) em um shell Unix comum.
/etc/resolv.conf
é o arquivo no qual a saída é gravada.
- Ter uma linha
nameserver 8.8.8.8
em /etc/resolv.conf
marcas o sistema usando o servidor de nomes que tem um endereço IP 8.8.8.8
para a resolução de 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 sobre onde seus serviços DNS públicos estão ouvindo.
sudo
erro
Embora essa explicação pareça plausível, isso não funcionará, devido a um erro que 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 consideração para o comando usado sudo
. Semelhante à multiplicação em matemática tem precedência sobre a adição. Então, é só echo
que tem privilégios elevados, mas o seu shell 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
enviá-lo para um arquivo:
echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf #prints to screen as well
Gerenciador de Rede e Ubuntu
No Ubuntu, isso é apenas uma alteração temporária, pois o Network Manager "gerencia" o /etc/resolv.conf
arquivo. As modificações locais serão substituídas. É por isso que você deve configurar isso no Network Manager para persistir.
Configuração usando o Network Manager
Eu recomendaria configurar seu PC corretamente usando o Network Manager. Suponho que você esteja usando DHCP na 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 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 sugerido pelos servidores DNS.
- Servidores DNS:
8.8.8.8
- Clique em Salvar
Feito.
Anotações importantes
Em uma rede local ou corporativa, o servidor DNS local pode ser usado para hosts locais. Você perderá essa funcionalidade solicitando diretamente aos servidores do Google que resolvam nomes para você. Portanto, se, por exemplo, o servidor DNS local souber o que é "impressora", você perderá o uso da impressora com esse nome.
Portanto, corrija o servidor DNS local. Se for apenas um encaminhador simples para um servidor DNS quebrado do seu ISP e você não puder mudar isso (all-in-one-router-ISP gerenciado por ISP, por exemplo), essa 8.8.8.8
solução poderá ser sua única opção.