- Вопрос или проблема
- /etc/resolv.conf:
- resolvectl status:
- sudo systemctl status systemd-resolved.service:
- Ответ или решение
- Решение проблемы "Временная ошибка в разрешении имен" в Ubuntu 20.04
- Шаг 1: Проверка конфигурации DNS
- Шаг 2: Проверка состояния systemd-resolved
- Шаг 3: Настройка статического DNS
- Шаг 4: Отключение IPv6 (временное решение)
- Шаг 5: Проверка соединения и тестирование
- Заключение
Вопрос или проблема
Я арендуют VPS у Contabo уже около полугода, всё работало хорошо до сих пор, но теперь начались ошибки «Временная ошибка при разрешении имени». Я прочитал, что это ошибка DNS, я пробовал nameserver 8.8.8.8
и nameserver 1.1.1.1
, но проблема всё еще существует.
Также вчера я полностью переустановил VPS, но это не помогло.
/etc/resolv.conf
:
# Этот файл управляется man:systemd-resolved(8). Не редактируйте его.
#
# Это динамический файл resolv.conf для подключения локальных клиентов к
# внутреннему резольверу DNS systemd-resolved. Этот файл перечисляет все
# настроенные поисковые домены.
#
# Выполните "resolvectl status", чтобы увидеть детали о DNS-серверах uplink,
# которые в настоящее время используются.
#
# Программы третьих сторон не должны прямым образом обращаться к этому файлу,
# а только через символическую ссылку в /etc/resolv.conf. Чтобы управлять man:resolv.conf(5)
# другим способом, замените эту символическую ссылку на статический файл или другую символическую ссылку.
#
# См. man:systemd-resolved.service(8) для получения сведений о поддерживаемых режимах
# работы для /etc/resolv.conf.
nameserver 127.0.0.53
options edns0
search invalid
resolvectl
status:
Глобальный
Установка LLMNR: нет
Установка MulticastDNS: нет
Установка DNSOverTLS: нет
Установка DNSSEC: нет
Поддержка DNSSEC: нет
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Ссылка 2 (eth0)
Текущие диапазоны: DNS
Установка DefaultRoute: да
Установка LLMNR: да
Установка MulticastDNS: нет
Установка DNSOverTLS: нет
Установка DNSSEC: нет
Поддержка DNSSEC: нет
Текущий DNS-сервер: 213.136.95.11
DNS-серверы: 213.136.95.10
213.136.95.11
DNS-домен: invalid
sudo systemctl status systemd-resolved.service
:
● systemd-resolved.service - Разрешение имен в сети
Загружено: загружено (/lib/systemd/system/systemd-resolved.service; включено; предустановка продавца: включено)
Активно: активно (работает) с Чт 2020-05-21 21:45:08 CEST; 1 день 14 часов назад
Документы: man:systemd-resolved.service(8)
https://www.freedesktop.org/wiki/Software/systemd/resolved
https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
Основной PID: 460 (systemd-resolve)
Статус: "Обработка запросов..."
Задачи: 1 (лимит: 9487)
Память: 7.5M
CGroup: /system.slice/systemd-resolved.service
└─460 /lib/systemd/systemd-resolved
23 мая 11:59:44 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
23 мая 12:00:18 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
23 мая 12:00:20 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
23 мая 12:00:31 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
23 мая 12:00:48 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
23 мая 12:01:05 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
23 мая 12:01:15 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
23 мая 12:01:29 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
23 мая 12:01:55 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
23 мая 12:02:21 vmi329703.contaboserver.net systemd-resolved[460]: Сервер вернул ошибку NXDOMAIN, предотвращая потенциальное нарушение DNS DVE-2018-0001, повторная попытка транзакции с пониженным уровнем функций UDP.
У меня есть бот для Discord, и обычно проблема возникает именно там.
Попробуйте отключить ipv6 на текущий жизненный цикл
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
и если всё работает нормально, то отключите ipv6 навсегда (как временное решение)
~$ cat /etc/sysctl.d/10-ipv6-disable.conf
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
Ответ или решение
Решение проблемы "Временная ошибка в разрешении имен" в Ubuntu 20.04
Вы столкнулись с ошибкой "Temporary failure in name resolution" (временная ошибка в разрешении имен) на вашем VPS от Contabo после его переустановки. Это ошибка связана с системой DNS (Domain Name System), которая отвечает за преобразование доменных имен в IP-адреса. Ваша проблема может быть вызвана несколькими факторами. Давайте рассмотрим, как можно диагностировать и устранить её.
Шаг 1: Проверка конфигурации DNS
Исходя из вашего описания, файл /etc/resolv.conf
указывает на DNS-серверы, которые управляются systemd-resolved
. Давайте проверим его содержимое и настройки:
nameserver 127.0.0.53
options edns0
search invalid
Здесь важным моментом является то, что nameserver 127.0.0.53
указывает на локальный DNS-резолвер. Если в вашем случае он не функционирует должным образом, это может привести к ошибке разрешения имен.
Шаг 2: Проверка состояния systemd-resolved
Вы выполнили команду sudo systemctl status systemd-resolved.service
, и состояние показывает:
Active: active (running)
...
Server returned error NXDOMAIN
Ошибка NXDOMAIN
свидетельствует о том, что DNS-сервер не может найти запрашиваемый домен. Это может быть вызвано некорректной настройкой DNS-серверов или их недоступностью.
Шаг 3: Настройка статического DNS
С учетом вышеописанного, мы можем изменить файл /etc/resolv.conf
, чтобы использовать внешние DNS-серверы, такие как Google (8.8.8.8) или Cloudflare (1.1.1.1). Однако напрямую изменять /etc/resolv.conf
не рекомендуется, так как это управляемый файл.
Вместо этого вы можете настроить systemd-resolved
, добавив следующие строки в конфигурацию для вашего сетевого интерфейса.
-
Откройте или создайте файл конфигурации для
systemd-resolved
:sudo nano /etc/systemd/resolved.conf
-
Найдите строку с
DNS=
и добавьте ваши предпочитаемые DNS-серверы:[Resolve] DNS=8.8.8.8 1.1.1.1 FallbackDNS=1.0.0.1 8.8.4.4
-
Перезапустите
systemd-resolved
:sudo systemctl restart systemd-resolved
Шаг 4: Отключение IPv6 (временное решение)
Как вы упомянули, отключение IPv6 может помочь решить вашу проблему:
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1
Для постоянного отключения IPv6 можете добавить следующие строки в файл конфигурации:
sudo nano /etc/sysctl.d/10-ipv6-disable.conf
Содержимое файла:
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
Примените изменения:
sudo sysctl -p /etc/sysctl.d/10-ipv6-disable.conf
Шаг 5: Проверка соединения и тестирование
После применения изменений протестируйте ваше DNS-соединение, выполнив команду:
ping google.com
Если вы получаете ответы, это означает, что проблема решена. Если ошибка сохраняется, возможно, у вас есть локальные конфигурационные проблемы или проблемы с подключением к интернету.
Заключение
Поскольку ошибка "Temporary failure in name resolution" может быть вызвана множеством факторов, необходимо тщательно проверять статус DNS и конфигурации сетевого интерфейса. Следуя предложенным шагам, вы сможете выявить и устранить большую часть проблем с разрешением имен на вашем VPS под управлением Ubuntu 20.04. Не забудьте также связаться с поддержкой Contabo, если проблема остается нерешенной.