Ошибка temporary failure in name resolution ростелеком
Обновлено: 03.07.2024
Например, когда вы пытаетесь проверить связь с веб-сайтом , вы можете столкнуться с показанной ошибкой:
Обычно это ошибка разрешения имен, которая показывает, что ваш DNS- сервер не может преобразовать доменные имена в соответствующие IP-адреса. Это может стать серьезной проблемой, поскольку вы не сможете обновлять, обновлять или даже устанавливать какие-либо программные пакеты в вашей системе Linux.
В этой статье мы рассмотрим некоторые причины ошибки « Temporary failure in name resolution» и решения этой проблемы.
такие же пролблемы возникают если попытаться обновить или установить чтото
Пути решения проблемы
1. Отсутствующий или неправильно настроенный файл resolv.conf
Этот /etc/resolv.conf файл является файлом конфигурации преобразователя в системах Linux. Он содержит записи DNS, которые помогают вашей системе Linux преобразовывать доменные имена в IP-адреса.
Если этот файл отсутствует или существует, но ошибка разрешения имени все еще возникает, создайте его и добавьте общедоступный DNS-сервер Google, как показано
Сохраните изменения и перезапустите службу systemd-resolved, как показано.
Также разумно проверить состояние резолвера и убедиться, что он активен и работает должным образом:
Затем попробуйте проверить связь с любым веб-сайтом, и проблема должна быть решена.
Однако в убунту 20 этот файл скоррее всего перезатрется и ДНС будует 127.0.0.53
2. Ограничения брандмауэра
Если первое решение не помогло вам, ограничения брандмауэра могут мешать вам успешно выполнять DNS-запросы. Проверьте свой брандмауэр и убедитесь, что порт 53 (используется для DNS - разрешение доменного имени) и порт 43 (используется для поиска whois ) открыты. Если порты заблокированы, откройте их следующим образом:
Для брандмауэра UFW (Ubuntu / Debian и Mint)
Чтобы открыть порты 53 и 43 на брандмауэре UFW, выполните следующие команды:
Для firewalld (RHEL / CentOS / Fedora)
Для систем на основе Redhat, таких как CentOS, выполните следующие команды:
3 Особенности настрокий ДНС в убунту 20
/etc/resolv.conf основной файл конфигурации для DNS имя распознавателя библиотеки. Сопоставитель - это набор функций в библиотеке C, которые обеспечивают доступ к системе доменных имен Интернета ( DNS ). Функции настроены для проверки записей в файле /etc/hosts или нескольких DNS-серверов имен, или для использования базы данных хоста сетевой информационной службы ( NIS ).
В современных системах Linux, использующих systemd (менеджер системы и служб), службы DNS или разрешения имен предоставляются локальным приложениям через службу с разрешением systemd . По умолчанию эта служба имеет четыре различных режима для обработки разрешения доменных имен и использует файл-заглушку systemd DNS ( /run/systemd/resolve/stub-resolv.conf ) в режиме работы по умолчанию.
Файл-заглушка DNS содержит локальную заглушку 127.0.0.53 в качестве единственного DNS-сервера и перенаправляется в файл /etc/resolv.conf, который использовался для добавления серверов имен, используемых системой.
Если вы запустите следующую команду ls в /etc/resolv.conf , вы увидите, что этот файл является символической ссылкой на файл /run/systemd/resolve/stub-resolv.conf .
К сожалению, поскольку /etc/resolv.conf косвенно управляется службой systemd-resolved , а в некоторых случаях сетевой службой (с помощью сценариев инициализации или NetworkManager ), любые изменения, сделанные пользователем вручную, не могут быть сохранены навсегда или только длиться какое-то время.
В этой статье мы покажем, как установить и использовать программу resolvconf для установки постоянных серверов имен DNS в файле /etc/resolv.conf в дистрибутивах Debian и Ubuntu Linux.
Зачем вам редактировать файл /etc/resolv.conf?
Основная причина может заключаться в том, что системные настройки DNS неправильно настроены или вы предпочитаете использовать определенные серверы имен или свои собственные. Следующая команда cat показывает сервер имен по умолчанию в файле /etc/resolv.conf в моей системе Ubuntu.
В этом случае, когда локальные приложения, такие как диспетчер пакетов APT, пытаются получить доступ к полным доменным именам ( полные доменные имена ) в локальной сети, результатом является ошибка « Temporary failure in name resolution », как показано на следующем снимке экрана.
Устранение временных сбоев
То же самое происходит, когда вы запускаете команду ping .
Поэтому, когда пользователь пытается вручную настроить серверы имен, изменения сохраняются недолго или отменяются после перезагрузки. Чтобы решить эту проблему, вы можете установить и использовать утилиту reolvconf, чтобы сделать изменения постоянными.
Чтобы установить пакет resolvconf , как показано в следующем разделе, вам нужно сначала вручную установить следующие серверы имен в файле /etc/resolv.conf , чтобы вы могли получить доступ к FQDM серверов репозитория Ubuntu в Интернете.
Установка resolvconf в Ubuntu и Debian
Сначала обновите пакеты системного программного обеспечения, а затем установите resolvconf из официальных репозиториев, выполнив следующие команды.
После завершения установки resolvconf systemd инициирует автоматический запуск и включение службы resolvconf.service . Чтобы проверить, работает ли он, выполните следующую команду.
Если служба не запускается и не включается автоматически по какой-либо причине, вы можете запустить и включить ее следующим образом.
Проверить статус службы Resolvconf
Установите постоянные DNS-серверы имен в Ubuntu и Debian
Затем откройте файл конфигурации /etc/resolvconf/resolv.conf.d/head .
и добавьте в него следующие строки:
Установите постоянные серверы имен DNS в Resolvconf
Сохраните изменения и перезапустите службу resolvconf. или перезагрузите систему.
Теперь, когда вы проверяете файл /etc/resolv.conf , записи сервера имен должны храниться там постоянно. Отныне вы не столкнетесь с какими-либо проблемами, связанными с разрешением имен в вашей системе.
Я надеюсь, что эта краткая статья помогла вам настроить постоянные DNS-серверы имен в ваших системах Ubuntu и Debian. Если у вас есть какие-либо вопросы или предложения, поделитесь ими с нами в разделе комментариев ниже.
См. также
Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.
Я только что установил Ubuntu Server 18.04 и настроил SSH, чтобы я мог продолжить настройку через свой рабочий стол, но у меня возникли некоторые проблемы, которые я не могу решить.
Я пытался бежать
но постоянно получал ошибки:
Я проверил, было ли у меня интернет-соединение нормально, запустив
и я получил ответ, все хорошо там.
Я подозревал, что, возможно, мой DNS не был настроен правильно, поэтому я попытался
и получил ошибку:
Временный сбой в разрешении имен
Итак, я решил, что это на самом деле какая-то проблема DNS, но все "ответы", которые я пробовал, не сработали для меня.
Я пробовал редактировать /etc/resolv.conf без удачи, как представляется, символическая ссылка.
Я нашел ответ, который работает, только если я запускаю из-под root, то есть:
Но он дает указание отменить изменения впоследствии:
Если я это сделаю, я снова потеряю связь.
- Должен ли я просто оставить все как есть или что-то еще?
- Может ли это быть постоянным решением?
- И является причиной проблемы тот факт, что /run/resolvconf/resolv.conf на самом деле не существует?
3 ответа
отлично работает, однако, это должно быть сделано вручную после каждой загрузки и после каждого отключения / повторного подключения к сети, так что это работает, но это ручное решение, а не постоянное решение;
чтобы запустить беспроводную сеть автоматически, просто:
вам, вероятно, придется перезагрузиться; тогда вы сможете использовать значок беспроводной сети, который появляется в области уведомлений на панели управления (убедитесь, что область уведомлений добавлена на панель), чтобы выбрать беспроводную сеть; после этого он автоматически восстановит соединение;
однако для автоматического восстановления проводной сети я попытался установить avahi-daemon и avahi-autoipd, но, видимо, это не помогает; даже попробовал
в основном, если вы устанавливаете дистрибутив, такой как рабочий стол Xubuntu, устанавливается соответствующий инструмент (ы)/daemon/config, и сеть обнаруживается автоматически, когда он подключен без какой-либо пользовательской конфигурации; было бы неплохо узнать, какой инструмент /daemon/config/setting это делает.
Хотя пост не о том, но из возможных причин пока представляются реальными две:
Prometheus и метрики dnsmasq
Експортер собирает такие метрики:
Их же можно получить запросов типа Chaos (см. DNS classes) с помощью dig .
Что они нам дают?
Или с выборкой по конкретному хосту:
dnsmasq debugging
dnsmasq: compile time options: IPv6 GNU-getopt DBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfileОбращаемся к нему:
dnsmasq: compile time options: IPv6 GNU-getopt DBus i18n IDN2 DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotify dumpfilednsmasq logging
resolv.conf и resolv.dnsmasq
Имеет смысл вынести апстрим-сервера из resolv.conf и в нём оставить только сам dnsmasq , что бы быть уверенным в том, что все DNS-запросы из системы будут переданы ему, плюс это позволяет иметь динамически обновляемый resolv.conf (например, если он генерируется NetworkManager).
Далее можно создать новый файл, например resolv.dnsmasq , в котором перечислить апстримы:
И задать в конфиге /etc/dnsmasq.conf опцию --resolv-file="/etc/resolv.dnsmasq" :
Перед рестаром проверяем синтаксис конфига:
--servers
Кроме того, спомощью server можно задать конкретные апстримы для конкретных доменов.
--strict-order
Размер кеша dnsmasq
Задаётся с помощью опции cachesize , например:
SIGUSR1
Oct 26 10:53:45 localhost dnsmasq[30433]: time 1572076425 Oct 26 10:53:45 localhost dnsmasq[30433]: cache size 150, 0/45516 cache insertions re-used unexpired cache entries. Oct 26 10:53:45 localhost dnsmasq[30433]: queries forwarded 22241, queries answered locally 633009 Oct 26 10:53:45 localhost dnsmasq[30433]: queries for authoritative zones 0В котором мы видимо невероятно много полезной информации:
Выглядит это так:
При этом в дампе dnsmasq всё по-прежнему отлично:
Oct 26 11:12:36 localhost dnsmasq[30433]: time 1572077556 Oct 26 11:12:36 localhost dnsmasq[30433]: cache size 150, 0/49227 cache insertions re-used unexpired cache entries. Oct 26 11:12:36 localhost dnsmasq[30433]: queries forwarded 24327, queries answered locally 724600 Oct 26 11:12:36 localhost dnsmasq[30433]: queries for authoritative zones 0Платон, cat /etc/resolv.conf выводит:"namespace 208.67.222.222"
dhcp нет такого пакета
dhcp-клиент предоставляется пакетами dhcpcd или dhclient. Здесь dhcp какой-то, видимо, есть, но сервер не предоставляет информацию о dns-серверах (запись должна иметь вид nameserver <addr>)
Ну тут два варианта:
1) сконфигурировать dhcp-сервер соответствующим образом (если есть к нему доступ)
2) установить вручную настройки dns и отключить настройку dns в dhcp-клиенте
Копировать конфиг при установке1 ,2установите дшсп и дшсп клиент при установке , вообще пакман -Syu при установке все это можно через чрут.
у меня такое было из-за того, что при установке не поставился пакет dhcpcd, хотя он вроде как в base входит. Загрузился снова с флешки и поставил вручную. Может поможет
Читайте также: