SystemdDoctor
служба не работает сеть dns загрузка частое

Temporary failure in name resolution в журнале службы

Сообщения Temporary failure in name resolution и Name or service not known значат, что имя не превратилось в адрес. При загрузке причина обычно в порядке запуска, в работе — в настройках разрешения имён или в изоляции службы.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Служба стартовала раньше готовности сети

    Разрешение имён требует настроенной сети. При загрузке служба может обогнать её и получить отказ на первом же запросе.

  2. Не настроен сервер имён

    Пустой или неверный /etc/resolv.conf, остановленная служба разрешения имён, недоступный внутренний сервер.

  3. Изоляция службы закрывает доступ к разрешению имён

    При PrivateNetwork=yes сети нет вовсе, а при IPAddressDeny=any без разрешения сервера имён запросы не проходят. Служба при этом выглядит «сломанной без причины».

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Проверка разрешения имени так, как это видит система.

getent hosts имя-узла

Какие серверы имён используются и по каким интерфейсам.

resolvectl status | head -20

Ждёт ли служба готовности сети.

systemctl show myapp.service -p After -p Wants | tr " " "\n" | grep -i net

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Служба стартовала раньше готовности сети
Почему происходит
Разрешение имён требует настроенной сети. При загрузке служба может обогнать её и получить отказ на первом же запросе.
Как проверить
Посмотрите зависимости службы и время запуска.
systemctl show myapp.service -p After -p Wants | tr " " "\n" | grep -i net
systemctl status systemd-networkd-wait-online NetworkManager-wait-online --no-pager | head -8
Как исправить
Добавьте Wants=network-online.target и After=network-online.target, а также убедитесь, что служба ожидания сети включена.
2. Не настроен сервер имён
Почему происходит
Пустой или неверный /etc/resolv.conf, остановленная служба разрешения имён, недоступный внутренний сервер.
Как проверить
Посмотрите настройки и проверьте разрешение вручную.
cat /etc/resolv.conf
resolvectl status | head -15
getent hosts example.org
Как исправить
Исправьте настройки разрешения имён. Для systemd-resolved — проверьте, что resolv.conf ссылается на его заглушку.
3. Изоляция службы закрывает доступ к разрешению имён
Почему происходит
При PrivateNetwork=yes сети нет вовсе, а при IPAddressDeny=any без разрешения сервера имён запросы не проходят. Служба при этом выглядит «сломанной без причины».
Как проверить
Посмотрите параметры сетевой изоляции.
systemctl show myapp.service | grep -E "PrivateNetwork|IPAddress|RestrictAddressFamilies"
Как исправить
Разрешите доступ к серверу имён или уберите сетевую изоляцию для этой службы.

Пример вывода

Служба обогнала настройку сети при загрузке. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

myapp[2100]: fatal: dial tcp: lookup api.internal on 127.0.0.53:53: server misbehaving
myapp[2100]: temporary failure in name resolution
systemd[1]: myapp.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: myapp.service: Scheduled restart job, restart counter is at 1.

Связанные ошибки

Где встречается чаще всего

Источники

  • systemd.special(7)
    network-online.target и порядок запуска относительно сети.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено запуском службы до готовности сети.
    собственная проверка, systemd 255
    сверено 15 сентября 2026