Как решить проблему «Временный сбой при разрешении имен»
Иногда, когда вы пытаетесь проверить связь с веб-сайтом, обновить систему или выполнить любую задачу, требующую активного подключения к Интернету, вы можете получить сообщение об ошибке «временный сбой в разрешении имен» на вашем терминале.
Например, когда вы пытаетесь проверить связь с веб-сайтом, вы можете столкнуться с показанной ошибкой:
tecmint@ubuntu:~$ ping google.com
ping: linux-console.net: Temporary failure in name resolution
Обычно это ошибка разрешения имен, которая показывает, что ваш DNS-сервер не может преобразовать доменные имена в соответствующие IP-адреса. Это может представлять собой серьезную проблему, поскольку вы не сможете обновлять, обновлять или даже устанавливать какие-либо пакеты программного обеспечения в своей системе Linux.
В этой статье мы рассмотрим некоторые причины ошибки «временный сбой разрешения имен» и способы решения этой проблемы.
1. Отсутствует или неправильно настроен файл resolv.conf.
Файл /etc/resolv.conf
— это файл конфигурации преобразователя в системах Linux. Он содержит записи DNS, которые помогают вашей системе Linux преобразовывать доменные имена в IP-адреса.
Если этот файл отсутствует или существует, но ошибка разрешения имени по-прежнему возникает, создайте или откройте файл /etc/resolv.conf
в текстовом редакторе с правами root.
sudo nano /etc/resolv.conf
OR
sudo vim /etc/resolv.conf
Затем добавьте общедоступные DNS-серверы Google, указав ключевое слово nameserver, за которым следует IP-адрес DNS-сервера.
nameserver 8.8.8.8
nameserver 8.8.4.4
Сохраните изменения и перезапустите службу systemd-resolved, как показано.
sudo systemctl restart systemd-resolved.service
Также разумно проверить состояние преобразователя и убедиться, что он активен и работает должным образом:
sudo systemctl status systemd-resolved.service
Затем попробуйте проверить связь с любым веб-сайтом, и проблема должна быть решена.
ping google.com
После подтверждения сетевого подключения обязательно отредактируйте файл /etc/resolv.conf
, чтобы предотвратить его перезапись инструментами управления сетью.
Для этого вы можете создать символическую ссылку на /dev/null:
sudo ln -sf /dev/null /etc/resolv.conf
Примечание. Некоторые дистрибутивы Linux, особенно использующие NetworkManager, могут автоматически управлять файлом /etc/resolv.conf
. В этом случае редактирование файла вручную может не иметь длительного эффекта.
Вместо этого вам может потребоваться настроить параметры DNS с помощью соответствующего инструмента управления сетью или файлов конфигурации для вашего конкретного дистрибутива. Обязательно ознакомьтесь с документацией вашего дистрибутива или ресурсами поддержки, чтобы узнать рекомендуемый метод настройки DNS в таких случаях.
2. Ограничения брандмауэра
Если первое решение вам не помогло, ограничения брандмауэра могут помешать вам успешно выполнять DNS-запросы. Проверьте брандмауэр и убедитесь, что порт 53 (используется для DNS – разрешение доменных имен) и порт 43 (используется для поиска Whois). Если порты заблокированы, откройте их следующим образом:
Откройте порты DNS на брандмауэре UFW
В дистрибутивах на базе Debian вам необходимо открыть порты 53 и 43 на брандмауэре UFW, выполнив следующие команды:
sudo ufw allow 53/tcp
sudo ufw allow 43/tcp
sudo ufw reload
Откройте порты DNS на брандмауэре FirewallD
В дистрибутивах на основе RHEL вам необходимо открыть порты 53 и 43 на брандмауэре Firewalld, выполнив приведенные ниже команды.
sudo firewall-cmd --add-port=53/tcp --permanent
sudo firewall-cmd --add-port=43/tcp --permanent
sudo firewall-cmd --reload
Мы надеемся, что теперь у вас есть представление об ошибке «временный сбой в разрешении имен» и о том, как ее можно исправить, выполнив несколько простых шагов. Как всегда, ваши отзывы очень ценны.