При выполнении различных операций в Linux, связанных с сетью (ping, curl и т.д.) возникает ошибка "Temporary failure in name resolution". В статье описаны способы решения данной проблемы.
Ошибка связано с работой DNS серверов, не корректной их настройке или отсутствием доступа.
Диагностика
Проверить работу DNS сервера можно следующей командой
1 | nslookup ya.ru <dns_ip> |
Где dns_ip - IP адрес используемого сервера.
к примеру
1 | nslookup ya.ru 1.1.1.1 |
Возможно доступ просто заблокирован в сети.
Настройка resolv.conf
/etc/resolv.conf - файл конфигурации DNS серверов, использующихся для преобразования доменов в IP адреса.
Для решения проблемы можно попробовать добавь DNS сервер следующим образом
1 | nameserver 1.1.1.1 |
после этого перезапустить соответствующую службу
1 | systemctl restart systemd-resolved.service |
после этого можно проверить работу
1 | ping ya.ru |
Настройка межсетевого экрана
Для работы DNS используется 53 порт TCP или UDP
На шлюзе, используемом в сети на базе Ubuntu или Debian
1 2 3 | ufw allow 53/tcp ufw allow 53/udp ufw reload |
В случае использования RHEL или CentOS
1 2 3 | firewall-cmd --add-port=53/tcp --permanent firewall-cmd --add-port=53/udp --permanent firewall-cmd --reload |