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:
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:
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:
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:
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:
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.
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:
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.