Saiba como corrigir o erro temporary failure in name resolution no Linux!

saiba-como-corrigir-o-erro-temporary-failure-in-name-resolution-no-linux

O erro “temporary failure in name resolution” ou ainda “falha temporária na resolução de nomes” não é muito comum e alguns usuários de sistemas Linux querem formatar imediatamente. Saiba que não precisa apagar tudo e fazer novamente, com alguns cliques e os comandos certos é possível corrigir o erro de DNS em sistemas Linux.

As causas do erro são inúmeras e não teríamos como listar todas aqui. Mas, podemos seguir uma linha de pensamento onde vamos isolar os problemas mais comuns e tentar localizar uma solução. Mas, por enquanto, não precisa formatar nada.

Identificando o erro temporary failure in name resolution em sistemas Linux

Para confirmar se o erro de resolução de nomes realmente existe em seu sistema Linux execute o comando abaixo:

Terminal
ping google.com.br

Se você ver algo como a saída abaixo, saiba que sim, você foi afetado pelo erro que vamos corrigir agora mesmo:

Saída do Terminal
ping: google.com.br: Temporary failure in name resolution

Solução para o erro temporary failure in name resolution

Para começar preste atenção no Firewall. Existem pessoas que gostam de ajustar as configurações padrões para uma personalizada, e assim acabam bloqueando algumas portas importantes. Se for o seu caso, confirme em suas configurações se as portas 53 e 43 estão mesmo abertas. Lembre-se que a porta 53 é usada pelo DNS e a porta 43 é utilizada para resolução de nomes.

Se estiver utilizando o Ubuntu você pode executar os comandos abaixo para abrir as duas portas que citamos, abra o Terminal e execute o comando abaixo:

Terminal
sudo ufw allow 43/tcp
sudo ufw allow 53/tcp
sudo ufw reload

Se você estiver utilizando qualquer distribuição baseado no Red Hat Enterprise Linux, execute os comandos abaixo para abrir as portas 43 e 53:

Terminal
sudo firewall-cmd --add-port=43/tcp --permanent
sudo firewall-cmd --add-port=53/tcp --permanent
sudo firewall-cmd --reload

Com estes comandos já conseguiremos liberar as portas necessárias para que o DNS trabalhe sem problemas.

Verificando o resolv.conf para corrigir o erro de DNS no Linux

Agora que já liberamos as portas, precisamos conferir se por algum motivo o erro pode estar no arquivo de configurações resolv.conf. Esse arquivo está presente em todos os sistemas baseados em Linux e ele costuma ser o grande vilão quando há este problema de resolução de nomes no Linux.

Vamos agora editar o arquivo:

Terminal
sudo nano /etc/resolv.conf

Confira se há algum DNS configurado, caso não tenha vamos fazer isso agora. Mas antes, você pode escolher um DNS público e gratuito brasileiro em uma lista que criamos com os melhores servidores DNS. Agora que já escolheu o servidor DNS, insira a seguinte linha no final do arquivo caso ela não exista. O DNS 8.8.8.8 é o do Google, mas você pode ajustar para o que for melhor na sua região.

Terminal
nameserver 8.8.8.8

Agora vamos reiniciar o serviço e a partir de agora você não terá mais problemas com resolução de nomes envolvendo o DNS, seja pelas portas 43 ou 53 bloqueada, ou por erro no arquivo resolv.conf. Se preferir, você também pode reiniciar o sistema normalmente, ou pode executar os comandos abaixo:

Terminal
sudo systemctl restart systemd-resolved.service
sudo systemctl status systemd-resolved.service

Por fim, faça aqueles teste inicial que ensinamos no começo deste artigo e veja se o erro ainda ocorre.